Форум программистов, компьютерный форум CyberForum.ru

Почему выбивает ошибку в if(.); {.} else {.} - C++

Восстановить пароль Регистрация
 
Sasha1994
0 / 0 / 0
Регистрация: 07.09.2012
Сообщений: 15
08.09.2012, 00:44     Почему выбивает ошибку в if(.); {.} else {.} #1
Помогите пожалуйста, не могу понять в чем проблема

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <conio.h>
#include <math.h>
//Условие задачи: Дані x, y. Якщо x і y від‘ємні, то кожне значення замінити його модулем;
//якщо від‘ємно тільки одне з них, того обоє значення збільшити на 0.5; якщо обоє значення
//не від‘ємні, те обоє збільшити в 10 разів.
//Это часть программы
 
int main()
{
float x,y,a,b;
printf ("\n Vvedit x:");
  scanf ("\n%f",&x);
printf ("\n Vvedit y:");
  scanf ("\n%f",&y);
 
if (y<0);
 
{
a=fabs(x);
b=fabs(y);
printf ("\n x=%2.2f",x);
printf ("\n y=%2.2f",y);
}
 
else //[B]почему в этой строке выбивает ошибку[/B]?
 
{
a=x+0.5;
b=y+0.5
printf ("\n x=%2.2f",x);
printf ("\n y=%2.2f",y);
}
getch();
      }
[IMG]http://i074.***********/1209/2e/5d888accd53d.jpg[/IMG]

блок-схема

[IMG]http://s16.***********/i190/1209/5e/2de838c1b190.jpg[/IMG]

P.s. Извините за тупой вопрос, только начал учить С
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2012, 00:44     Почему выбивает ошибку в if(.); {.} else {.}
Посмотрите здесь:

C++ Выбивает ошибку
C++ проверьте пожалуйста , выбивает ошибку о нехватке памяти
В классах выбивает ошибку C++
C++ WinApi выбивает ошибку, visual 2008
Ошибку выбивает C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.09.2012, 00:49     Почему выбивает ошибку в if(.); {.} else {.} #2
> Почему выбивает ошибку в if(.); {.} else {.}?

Это самоочевидный вопрос. Зачем там точка с запятой?

Ну, точнее не совсем сразу очевидный. Дело в том, что после if должно идти so called полное выражение. Это или ноль и больше полных выражений в фигурных скобках, или одно выражение, за которым идёт точка с запятой. Само выражение может быть пустым. Поэтому if (...); {ABC} else {DEF} читается как
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (...) {
  // ничего не делать
}
 
{
  ABC
}
// это вполне легальное составное выражение:
// несколько полных выражений в фигурных скобках
 
// А вот тут компилятор не понял, какого чёрта else,
// ведь никакого if перед ним не было. Тот, что был,
// уже закончился из-за точки с запятой.
else {
  DEF
}
Sasha1994
0 / 0 / 0
Регистрация: 07.09.2012
Сообщений: 15
08.09.2012, 00:54  [ТС]     Почему выбивает ошибку в if(.); {.} else {.} #3
Спасибо за помощь
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.09.2012, 00:56     Почему выбивает ошибку в if(.); {.} else {.} #4
Ну у вас точка с запятой убежала из b=y+0.5 к if'у. Верните её туда, где ей положено быть: после 0.5.
Sasha1994
0 / 0 / 0
Регистрация: 07.09.2012
Сообщений: 15
08.09.2012, 01:02  [ТС]     Почему выбивает ошибку в if(.); {.} else {.} #5
Спасибо, исправил. Уже работает.
Yandex
Объявления
08.09.2012, 01:02     Почему выбивает ошибку в if(.); {.} else {.}
Ответ Создать тему
Опции темы

Текущее время: 13:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru