Добрый день, есть задание: уравнение... - вопрос №845294

Добрый день, есть задание: уравнение с тремя условиями. Код программы приведу ниже. Суть вопроса: первое и второе условие выполняется нормально, но третье не хочет. Подскажите, где допустил ошибку и как ее можно исправить? Заранее спасибо. P.S. Привожу написанный код:

#include <iostream>
#include <math.h>
#include <conio.h>

using namespace std;

int main(){
setlocale(LC_ALL,«Russian»);
double f=0, g=0, y;
y=abs(f*g);
cout<<«Введите f= »;
cin>>f;
cout<<«Введите g= »;
cin>>g;
//первое условие
if(y>10)
{
    cout<<log(abs(f))+abs(g)<<endl;
}
//второе условие
else if (y<10)
{
    cout<<exp(f+g)<<endl;
}
//третье условие
else if(y=10)
{
    cout<<f+g<<endl;
}



system («PAUSE»);
return 0;
}

Лучший ответ по мнению автора

cout<<«Введите f= »; cin>>f;
cout<<«Введите g= »; cin>>g;

y=abs(f*g);

f(y>10) cout<<log(abs(f))+abs(g)<<endl;
if (y<10)  cout<<exp(f+g)<<endl;
if(y=10)    cout<<f+g<<endl;

и вычисление «y» после ввода переменных, а не до.

24.11.13
Лучший ответ по мнению автора

Другие ответы

Тут проблема с тройной вложенностью

1. Либо правильно раставляйте фигурные скобки для каждой вложенности

2. Либо напишите проще, то что свободно читается

if(y>10) cout<<log(abs(f))+abs(g)<<endl;
if (y<10)  cout<<exp(f+g)<<endl;
if(y=10)    cout<<f+g<<endl;

24.11.13

спасибо большое, все заработало.)

24.11.13
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store