Следующая программа должна выполнять 4 основные арифметические операции: умножение, деление, сложение, вычитание. Сначала пользователь должен выбрать операцию, потом ввести два числа, над которыми будет выполняться эта операция. Результат выполнения арифметической операции вывести на экран.
#include "stdafx.h"
#include <Windows.h>
________ <iostream>
using namespace std;
___ addnumber(int num1, int num2)
{
______ num1 + num2;
}
___ multiplynumb(int num1, int num2)
{
______ num1 * num2;
}
___ subtractnumb(int num1, int num2)
{
______ num1 - num2;
}
___ dividenumb(int num1, int num2)
{
______ num1 / num2;
}
___ ____()
{
____ operation = 'c';
___ num1, num2;
while(operation != 'e')
{
cout __ "Выберите операцию: сложение(+), вычитание(-), деление(/), умножение(*), выход (e): ";
cin __ operation;
switch(operation)
{
____ '+':
cin __ num1;
cin __ num2;
cout __ num1 __ "+" __ num2 __ "=" __ addnumber(num1,num2) __ endl;
break;
____ '-':
cin __ num1;
cin __ num2;
cout __ num1 __ "-" __ num2 __ "=" __ subtractnumb(num1,num2) __ endl;
break;
____ '/':
cin __ num1;
cin __ num2;
cout __ num1 __ "/" __ num2 __ "=" __ dividenumb(num1,num2) __ endl;
break;
____ '*':
cin __ num1;
cin __ num2;
cout __ num1 __ "*" __ num2 __ "=" __ multiplynumb(num1,num2) __ endl;
break;
____ 'e':
______ 0;
_______:
cout __ "Неправильный ввод" __ endl;
}
}
return _;
_
#include <iostream>
using namespace std;
int addnumber(int num1, int num2)
{
return num1 + num2;
}
int multiplynumb(int num1, int num2)
{
return num1 * num2;
}
int subtractnumb(int num1, int num2)
{
return num1 - num2;
}
int dividenumb(int num1, int num2)
{
return num1 / num2;
}
int main()
{
char operation = 'c';
int num1, num2;
while(operation != 'e')
{
cout << "Выберите операцию: сложение(+), вычитание(-), деление(/), умножение(*), выход (e):";
cin >> operation;
switch(operation)
{
case '+':
cin >> num1;
cin >> num2;
cout << num1 << "+" << num2 << "=" << addnumber(num1,num2) << endl;
break;
case '-':
cin >> num1;
cin >> num2;
cout << num1 << "-" << num2 << "=" << subtractnumb(num1,num2) << endl;
break;
case '/':
cin >> num1;
cin >> num2;
cout << num1 << "/" << num2 << "=" << dividenumb(num1,num2) << endl;
break;
case '*':
cin >> num1;
cin >> num2;
cout << num1 << "*" << num2 << "=" << multiplynumb(num1,num2) << endl;
break;
case 'e':
return 0;
default:
cout << "Неправильный ввод" << endl;
}
}
return 0;
}
Комментарии
Евгений Мальский
#include <iostream> // Подключаемые библиотеки #include <string> // #include <vector> // #include <locale.h> // using namespace std; // Без этой штуки мы не сможем в синтаксис void process_turn() { cout << "Добрый день! Вас приветствует программа Life&Vision." << endl; cout << "С помощью нашей программы, вы сможете : \n" << endl; cout << "| Воспользоваться простым калькулятором |< 1 \t2 >|Записать слова и дать им определение|\n" << endl; cout << "Что вы хотите выполнить? Я выбираю : "; } int main() // Главная функция { setlocale(LC_ALL, "Russian"); // Язык вводимых символов int turn; double calculate[4]; string designation; char exit; char first_symbhol; // Ввод символа операции char second_symbhol; process_turn(); cin >> turn; cout << endl; if (turn == 1) { // Условие 1. Если мы ввели число 1 - нас перекинет в калькулятор cout << "Вы вызвали функционал простого калькулятора.\nВведите два числа и действующий символ : "; // Запрос на ввод символов while (cin >> calculate[0] >> first_symbhol >> calculate[1]) { // Ввод двух чисел и символа switch (first_symbhol) {// Выполнение одной из операций на основе полученной информации case '+': calculate[3] = calculate[0] + calculate[1]; cout << calculate[0] << " + " << calculate[1] << " = " << calculate[3] << endl; break; case '-': calculate[3] = calculate[0] - calculate[1]; cout << calculate[0] << " - " << calculate[1] << " = " << calculate[3] << endl; break; case '*': calculate[3] = calculate[0] * calculate[1]; cout << calculate[0] << " * " << calculate[1] << " = " << calculate[3] << endl; break; case '/': calculate[3] = calculate[0] / calculate[1]; cout << calculate[0] << " / " << calculate[1] << " = " << calculate[3] << endl; break; default: cout << "Вы ввели неправильный символ. Попробуйте снова." << endl; break; } } } else if (turn == 2) { // Условие 2. Если мы ввели число 2 - нас перекинет в функцию записи и сортировки слов cout << "Вы вызвали функцию записи/сортировки слов и их определения." << endl; cout << "Введите слово и через символ ( - ) его определение" << endl; vector <int> words; int word; while (cin >> word) words.push_back(word); cout << "Количество слов : " << words.size() << endl; for (int i = 0; i < words.size(); ++i) { cout << i << endl; //////////////// Не допилил } } else cout << "Вы ввели неправильное значение. Повторите попытку позже." << endl; system("pause"); return 0; }Nero
ошыбка при виполнению операций. Ведь могут ввести не int а double.
Миша Киселёв
#include <Windows.h> #include <iostream> using namespace std; int addnumber(int num1, int num2) { return num1 + num2; } int multiplynumb(int num1, int num2) { return num1 * num2; } int subtractnumb(int num1, int num2) { return num1 - num2; } int dividenumb(int num1, int num2) { return num1 / num2; } int main() { setlocale(LC_CTYPE, "rus"); char operation = 'c'; int num1, num2; while(operation != 'e') { cout << "Выберите операцию: сложение(+), вычитание(-), деление(/), умножение(*), выход (e): "; cin >> operation; switch(operation) { case '+': cin >> num1; cin >> num2; cout << num1 << "+" << num2 << "=" << addnumber(num1,num2) << endl; break; case '-': cin >> num1; cin >> num2; cout << num1 << "-" << num2 << "=" << subtractnumb(num1,num2) << endl; break; case '/': cin >> num1; cin >> num2; cout << num1 << "/" << num2 << "=" << dividenumb(num1,num2) << endl; break; case '*': cin >> num1; cin >> num2; cout << num1 << "*" << num2 << "=" << multiplynumb(num1,num2) << endl; break; case 'e': system("pause"); return 0; dafault: cout << "Неправильный ввод" << endl; } } system("pause"); return 0; }eagle_vik
Ошибка в коде! В операторе выбора Switch!
«Defoult», исправьте на Default.
victor.pakhay
ошыбка в 59 строке. Нужно писать default вместо defoult