Как я могу получить вход 3 двойных переменных с Cin в C ++? - PullRequest
0 голосов
/ 12 апреля 2020

Я должен взять 3 двойные переменные в качестве входных данных и найти их среднее значение. Если я введу целое число в качестве ввода (например, 5), программа работает. но если я введу дробное число (например, 5.3), он не возьмет другие 2 входа и закроется.

вот мой код:

#include <iostream>
using namespace std;
int main()
{
   double y1,y2,y3,ort; 
   cout<<"1. input : \n";
   cin>>y1;
   cout<<"2. input : \n"; 
   cin>>y2;
   cout<<"3. input : \n";
   cin>>y3;
   ort=(y1+y2+y3)/3;
   cout<<"Value : "<< ort << "\n" ; 
   system("pause");
   return 0;
}

Ответы [ 2 ]

0 голосов
/ 12 апреля 2020

Ваш код является основным. Я думаю, что вы написали на входе 5,3. Когда вы используете знак, ваша программа работает неправильно. Вы не должны использовать систему («пауза»).

0 голосов
/ 12 апреля 2020

Ваша программа работает как положено. По крайней мере, среднее значение вычисляется соответственно, вызов pause не работает для меня.

1. input : 
1.3
2. input : 
2.3
3. input : 
3.3
Value : 2.3
sh: 1: pause: not found
Press <RETURN> to close this window...

Возможно, вы неправильно установили локаль.

Вы можете попробовать добавить:

#include <locale.h> 
setlocale(LC_ALL,"C")

Поскольку я только что прочитал ваш комментарий if you input 3 its working. but if you input 3,2 its not working., плавающие точки в соответствии со стандартами программирования разделяются ., а не ,. Например, вы должны написать 3.2. Это то, что англоговорящие страны также имеют в своем стандарте.

...