Recently began to learn C ++ in other programming languages, there was no previous experience. I do not want to become a "govnokoderom", etc. I'd like to immediately develop a good style of code. Please rate the "Calculator".
Maybe something should be removed, add something. I apologize right away if I have done something “barbarously” by no means I still know, but I want to practice, so I am writing something simple.
#include "pch.h" // Необходимая библиотека (нужна для Visual Studio) #include <iostream> // Необходимая библиотека (Основная библиотека в C++) #include <string> // Необходимая библиотека (нужна для использования "string") using namespace std; float arr[1000000]; // Объвление массива переменных int deistv[1000000]; // Объвление массива действий int main() { setlocale(0, ""); string action; // Введенная информация (либо число, либо действие) int x = 0; // Переменная для работы цикла ввода, увеличивается при введении числа int xt = 0; // Переменная для работы цикла ввода, увеличивается при введении действия int n = 0; // Переменная для работы цикла вывода (используется для создания следующего значения) start: // Ссылка для возврата к вводу данных cin >> action; // Запрос данных if (action == "=") { // При введении "=" отправляет в функцию вывода goto next; } else { if (action == "*") { // Умножение deistv[xt] = 1; // Действие = "умножение" xt++; // Порядок действий goto start; // Возврат к введению данных } if (action == "/") { deistv[xt] = 2; // Действие = "деление" xt++; // Порядок действий goto start; // Возврат к введению данных } if (action == "+") { deistv[xt] = 3; // Действие = "сложение" xt++; // Порядок действий goto start; // Возврат к введению данных } if (action == "-") { deistv[xt] = 4; // Действие = "вычитание" xt++; // Порядок действий goto start; // Возврат к введению данных } else { arr[x] = stoi(action); // Присваиваем данные в массив переменных x++; // Порядок чисел goto start; // Возврат к введению данных } } next: // Функция вывода for (int y = 0; y <= x; y++) { // Тут используем "x" для выделения границы цикла, цикл выполняет действия пока не закончатся ЧИСЛА n = y + 1; // Следующее число if (deistv[y] == 1) { // Умножение cout << arr[y] << " * " << arr[n] << " = "; // Выведение на экран "a * b = " arr[n] = arr[y] * arr[n]; // Число умножается на следующее за ним и результат присваивается второму множителю cout << arr[n] << endl; // Окончательное заполнение формулы на экране "a * b = с" } if (deistv[y] == 2) { cout << arr[y] << " / " << arr[n] << " = "; // Выведение на экран "a / b = " arr[n] = arr[y] / arr[n]; // Число делится на следующее за ним и результат присваивается делителю cout << arr[n] << endl; // Окончательное заполнение формулы на экране "a / b = с" } if (deistv[y] == 3) { cout << arr[y] << " + " << arr[n] << " = "; // Выведение на экран "a + b = " arr[n] = arr[y] + arr[n]; // Число складывается со следующим за ним и результат присваивается второму слагаемому cout << arr[n] << endl; // Окончательное заполнение формулы на экране "a + b = с" } if (deistv[y] == 4) { cout << arr[y] << " - " << arr[n] << " = "; // Выведение на экран "a - b = " arr[n] = arr[y] - arr[n]; // Из числа вычитается следующее за ним и результат присваивается вычитаемому cout << arr[n] << endl; // Окончательное заполнение формулы на экране "a - b = с" } } } To "=" - input to the console.
