Регистрация
30 Ноя 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Народ, помогите - практикую навыки C++, решил написать калькулятор. Он работать то работает, только выводит целочисленные значения (так 9/5=1), как сделать точность на 2 знака после запятой?

Вот код:

#include
#include

using namespace std;

int main()
{
setlocale (0, "");
int a, b, c;
cout << "Введите число №1: " << endl;
cin >> a;
cout << "Введите число №2: " << endl;
cin >> b;
cout << "Введите операцию: Разделить (1) Умножить (2) Сложить (3) Вычасть (4)" << endl;
cin >> c;
if (c == 1)
{
double d = a / b;
cout << "Результат равен: " << d << endl;
}
else
if (c == 2)
{
double d = a * b;
cout << "Результат равен: " << d << endl;
}
else
if (c == 3)
{
double d = a + b;
cout << "Результат равен: " << d << endl;
}
else
if (c == 4)
{
double d = a - b;
cout << "Результат равен: " << d << endl;
}
return 0;
}
 
Другим решением могло быть использование явного привидения типов у одного из операндов в операции умножения. Например. int x = 10; int y = 3; double result = x / y; (result = 3.000000) Но: int x = 10; int y = 3; double result = (double)x / y; (result = 3.333333)
 
Используй a и b типа double Вообще программа, конечно, ужасна - зачем четыре раза писать одни и те же команды вывода?
 
Назад
Сверху