-
Автор темы
- #1
Привет.
Начал изучать c++, нужно больше практики, а что писать - не знаю.
Из написанного: простой калькулятор.
Код калькулятора, может кому пригодится:
Кидайте свои предложения по поводу того, что можно написать(не очень сложное и не в сфере читов), попробую и дам исходник в тему.
Начал изучать c++, нужно больше практики, а что писать - не знаю.
Из написанного: простой калькулятор.
Код калькулятора, может кому пригодится:
Calculator.cpp
Calculator.h
C++:
#include "Calculator.h"
#include <iostream>
#include <windows.h>
#include <cstdlib>
int main()
{
while (true)
{
const char oper = getValues();
switch (oper)
{
case '+': result = fstNum + secNum;
printResult(); break;
case '-': result = fstNum - secNum;
printResult(); break;
case '*': result = fstNum * secNum;
printResult(); break;
case '/': result = fstNum / secNum;
printResult(); break;
default:
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 4));
std::cout << txtWrongAction << '\n' << '\n';
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 7));
}
system("pause");
std::cout << '\n';
}
}
char getValues()
{
if (!(std::cin))
{
std::cin.clear();
std::cin.ignore(32767, '\n');
}
std::cout << txtFstNum << '\n';
if (!(std::cin >> fstNum))
return fstNum;
std::cout << txtSecNum << '\n';
if (!(std::cin >> secNum))
return secNum;
std::cout << txtOper << '\n';
std::cin >> oper;
return oper;
}
void printResult()
{
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 15));
std::cout << txtResult << result << '\n' << '\n';
SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 7));
}
C++:
#pragma once
char txtFstNum[] = "Enter first number:";
char txtSecNum[] = "Enter second number:";
char txtOper[] = "Enter operation (+, -. *, /):";
char txtResult[] = "Result: ";
char txtWrongAction[] = "Wrong action, please, repeat:";
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
double fstNum(0), secNum(0), result(0);
char oper(0);
char getValues();
void printResult();
Кидайте свои предложения по поводу того, что можно написать(не очень сложное и не в сфере читов), попробую и дам исходник в тему.