Программирование на С++ — программа калькулятор

Следующая программа должна выполнять 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;
}

Автор: Marienko L.
Дата: 18.09.2012
Поделиться:

Комментарии

  1. Евгений Мальский

    #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;
    }
  2. Nero

    ошыбка при виполнению операций. Ведь могут ввести не int а double.

  3. Миша Киселёв

    #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;
    }
  4. eagle_vik

    eagle_vik

    Ошибка в коде! В операторе выбора Switch!
    «Defoult», исправьте на Default.

  5. victor.pakhay

    ошыбка в 59 строке. Нужно писать default вместо defoult

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.