Перейти к содержанию

Помогите с программкой


TonyMontana

Рекомендуемые сообщения

Помогите с задачкой на С++. Она простенькая.

#include<iostream>

#include<math.h>

using namespace std;

int main()

{

setlocale (0,"Russian");

double x,y;

cout<<"Вводим x=";

cin>>x;

if (x<=3) y=pow(x,32)+5;

if (x=5) y=x+4;

else y=x*(pow(x,2)+5);

cout<<"y="<<y<<endl;

system ("pause");

return 0;

}

 

Программа запускается, но при вводе любых значений Х, у У всегда ответ 9. Почему так? Что я упустил? :)

post-34008-1328017166_thumb.png

Ссылка на комментарий
Поделиться на другие сайты

cin>>x;

if (x<=3) y=pow(x,32)+5;

else

if (x=5) y=x+4;

else y=x*(pow(x,2)+5);

cout<<"y="<<y<<endl;

system ("pause");

return 0;

}

 

 

примерно туда копать - судя по другим языкам

Ссылка на комментарий
Поделиться на другие сайты

В программе присвоение и "равно" идентичны. Не помню как пишется оператор сравнения булевых типов и присвоение в си++, но они не могут быть одинаковы. У вас вместо проверки условия происходит присвоение

Ссылка на комментарий
Поделиться на другие сайты

if (x==5), не?

P.S. Немного про возможные логически операции. В условии вы можете использовать все математические операции сравнения:

== - равно

!= - не равно

< - больше

> - меньше

_http://procplusplus.blogspot.com/2011/06/3-if-else.html

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...