Консультация № 179900
10.09.2010, 16:01
0.00 руб.
0 2 2
Добрый День, господа эксперты. Помогите пожалуйста написать такую программу на С++:
Написать программу которая посчитает значение выражения (68*x)+34/y.
x и y задаются переменными.
Добавить в эту программу проверку на 0.

Заранее Вам благодарен.

Обсуждение

Неизвестный
10.09.2010, 17:00
общий
это ответ
Здравствуйте, Уманский Денис.
Код:

int main()
{
float x,y,result;
printf("\nВведите значение x:");
scanf("%f",&x);
printf("\nВведите значение y:");
scanf("%f",&y);
if (y!=0)
{
result=68*x+34/y;
printf("\nЗначение выражения 68*x+34/y равно\n",result);
}
else
printf("\nЗначение выражения 68*x+34/y не может быть вичеслено т.к. y равен 0\n");
getchar();
getchar();
}

Неизвестный
10.09.2010, 18:36
общий
это ответ
Здравствуйте, Уманский Денис.
Можно предложить еще такой вариант с проверкой конечного результата, а не промежуточных выражений. Ведь деление на 0 не единственная возможная ошибка при вычислении этого выражения.
Программа C++. Тестировал в MS VS 2010.
Код:
#include <locale>
#include <limits>
#include <iostream>
#include <cfloat>

using namespace std;

int main()
{
locale::global(locale(""));

float x,y;
cout<<"Введите X:"; cin>>x;
cout<<"Введите Y:"; cin>>y;

float res=68*x+34/y;

if(!_finite(res))
{
cout<<"Произошла ошибка при вычислении выражения."<<endl;
}
else
{
cout<<"68*x+34/y="<<res<<endl;
}

_getwch();

return 0;
}

Примеры работы:
Код:
Введите X:1
Введите Y:4
68*x+34/y=76.5

------------------------------------

Введите X:12
Введите Y:0
Произошла ошибка при вычислении выражения.
Форма ответа