Другие языки программирования и технологии

C++ калькулятор

Доброго времени суток уважаемы программисты Собственно в чем вопрос, я написал программу калькулятор, но как сделать так что бы, система подсчитывала умножение * и деление /? Программа складывает и вычитает, но как только я вношу умножение и запускаю программу, то она совершенно неверно считает его. Как это исправить? Вот данные. (без умножение, прога работает исправно) //Программа калькулятор #include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_CTYPE,"Russian"); int a,b, sum; cout <<"Введите два числа число/n"; cin >>a>>b; sum=a+b; cout <
ммм, значит мы в тип инт пытаемся загнать вещественную переменную? Ну удачи, удачи. Когда в int попадает вещественная переменная (это предпологают операции деления даже над целыми числами) то вещественная часть отбрасывается, то есть число округляется "снизу"
ИБ
Иван Беликов
7 387
Лучший ответ
Кто мешает написать вместо sum=a+b; например res=a*b; или res=a/b;
А ещё желательно вместо типа int использовать double
Юрии Маринич
Юрии Маринич
54 409
Замени int на double
setlocale(LC_CTYPE,"Russian");
int a,b, sum;
char dil;
cout <<"Введите два числа число/n";
cin >>a>>b;
cout <<"Введите операцию/n";
cin>>dil;
switch(dil)
{
case '+': sum=a+b;
break;
case '-': sum=a-b;
break;
case '*': sum=a*b;
break;
case '/' : sum=a/b;
}

Если в лоб и по-простому, примерно так.
ты лучше на специализированных форумах поспрашивай)
я хоть и учу програмированние, но таких опираций невидел
удачи))
И что ты просишь от нас? У тебя в примере только сложение присутствует. Делай всё то же самое для остальных уравнений. - -вычитание, / и % - деление, смотря какое тебе нужно, * - умножение.
Alexey Gorshkov
Alexey Gorshkov
313
#include
#include
#include

using namespace std;

int main()
{
setlocale(LC_ALL, "Russian");
cout <<"\t\t***Calculator***\n\n";
cout<<"Этот калькулятор выполняет пять действий ('+','-','*','/','%'.)\n\n";
long double a, b;
char Sum;
cout <<"Введите первое число, Введите действие, Введите второе число. \n\n";
cin >>a>>Sum>>b;

switch(Sum)
{
case '+' : cout << a + b;break;
case '-' : cout << a - b;break;
case '*' : cout << a * b;break;
case '/' : cout << a / b;break;
case '%' : cout << a / b;break;
default: cout <<"Не верная операция!!! ";
}

_getch();
return 0;
}
Просто заключи их в скобки - c = (a * b)
Этот код индивидуален для Всего:

#include"stdafx.h"
#include

using namespace std;

void main()
{
setlocale(LC_ALL, "Rus");

int a, b, r, s;

cout << " Первое число : ";
cin >> a;

cout << " Второе число : ";
cin >> b;

cout << " Введите тип вычисления : ";
cin >> s;

switch (s)
{
case 1:
r = a + b;
cout << " Ответ : "<< r << endl;
break;
case 2:
r = a - b;
cout << " Ответ : " << r << endl;
break;
case 3:
r = a / b;
cout << " Ответ : " << r << endl;
break;
case 4:
r = a * b;
cout << " Ответ : " << r << endl;
break;

default:
cout << " Такого варианта нет!";
break;
}

}