#include
#include
#include
#include
#include
#include
template
T Count(int &Value)
{
return ++Value;
}
int main()
{
int startValue = 0;
std::ofstream log("program.log", std::ios::app);
while (true)
{
if (!log)
{
std::cerr << "ERROR: File fail\n";
return -2;
}
auto loopcount = Count(startValue);
log << "-----" << loopcount << "-----" << '\n';
std::string input;
std::cout << "Number: ";
std::getline(std::cin, input);
std::stringstream ss(input);
int number;
if ((ss >> number) && (ss >> std::ws).eof())
{
auto heapNumber = std::make_unique(number);
std::cout << "\nHEAP\n";
std::cout << "Value: " << *heapNumber << '\n';
std::cout << "Address: " << static_cast(heapNumber.get()) << '\n';
std::cout << "Pointer Address: " << static_cast(&heapNumber) << '\n';
std::cout << "Pointer Size: " << sizeof(heapNumber) << '\n';
std::cout << "Integer Size: " << sizeof(*heapNumber) << '\n';
int* stackNumber = &number;
std::cout << "\nSTACK\n";
std::cout << "Value: " << *stackNumber << '\n';
std::cout << "Address: " << static_cast(stackNumber) << '\n';
std::cout << "Pointer Address: " << static_cast(&stackNumber) << '\n';
std::cout << "Pointer Size: " << sizeof(stackNumber) << '\n';
std::cout << "Integer Size: " << sizeof(*stackNumber) << '\n';
}
else
{
std::cerr << "ERROR: Invalid Integer\n";
log << "ERROR: Invalid Integer\n";
return -1;
}
std::cout << "Press ESC to exit\n";
std::cout << "Press ENTER to use again\n";
int key = _getch();
if (key == 13)
{
log << "Pressed: ENTER\n";
continue;
}
else if (key == 27)
{
log << "Pressed: ESC\n";
break;
}
}
log << "SUCCESS: 0\n";
return 0;
}
I hope you like coding because I do, and I hope Mammy does better (Like the sick in her head), not mama though. three months till October 2nd!