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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Senarist
39 / 39 / 12
Регистрация: 14.03.2014
Сообщений: 586
#1

Ошибка: 'else' without a previous 'if' - C++

16.07.2015, 19:21. Просмотров 2224. Ответов 3
Метки нет (Все метки)

Не понимаю почему в 17 строчке ошибка:
C:\Users\flagship\Documents\6.1.cpp [Error] 'else' without a previous 'if'
У меня нет никаких лишних операторов между if и else
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
    char ch;
    cin.get(ch);
    while (ch != '@')
    {
        if (isalpha(ch));
        {
            if ( islower(ch) )
                cout<<char(toupper(ch));
                    else if( isupper(ch) )
                            cout<<char(tolower(ch));
        }
        else 
        cout<<" ";
    cin.get(ch);                
    } 
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2015, 19:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка: 'else' without a previous 'if' (C++):

Ошибка: 'else' without a previous 'if' - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { bool x=false; int a,b,c,count=0; ...

Ошибка anti supply surges detected during the previous power on - Блоки питания
Вчера докупил 4 вентилятора в корпус, два подключил к материнке, два к молексу и сделал вместо 12, 7 вольт что бы не шумели. Вчера все...

Ошибка Declaration of 'Button1' differs from previous declaration - Delphi
Помогите, пожалуйста, исправить ошибку: Declaration of 'Button1' differs from previous declaration unit Unit1; interface ...

Ошибка: declaration of 'Init' differs from previous declaration - Delphi
В низу где procedure procedure TDot.Init(X0,Y0,R0:Integer;Cr:COLORREF); ошибка declaration of 'Init' differs from previous declaration...

При создании enum 'имя1' class 'имя2' ошибка use of enum 'имя1' without previous declaration - C++ Qt
Добрый день. пишу в qt5: enum typeTable class tabty{readtxt,is,wb,wa,tp}; При сборке выдает ошибку: ...

Previous/next page (Pagecontrol) - Delphi
Есть элемент pagecontrol в котором имеется 7 страниц.Надо сделать 2 кнопки по нажатию которых перелистывались страницы назад previous...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mr_mczakenberg
65 / 65 / 31
Регистрация: 10.04.2015
Сообщений: 281
16.07.2015, 19:23 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Senarist Посмотреть сообщение
if (isalpha(ch));
Точку с запятой уберите
Senarist
39 / 39 / 12
Регистрация: 14.03.2014
Сообщений: 586
16.07.2015, 19:24  [ТС] #3
Да, проглядел.
Странно что он мне там не указал.
DrOffset
7089 / 4230 / 950
Регистрация: 30.01.2014
Сообщений: 7,006
16.07.2015, 19:53 #4
Цитата Сообщение от Senarist Посмотреть сообщение
Странно что он мне там не указал.
Да ничего странного. Отдельно стоящий ; - это пустой оператор.
Условие получалось с пустым телом.
C++
1
2
if(isalpha(ch))
    ;
При этом в языке есть возможность определять вложенную область видимости посредством фигурных скобок. Что и получилось:
C++
1
2
3
4
5
6
7
    if (isalpha(ch))
        ;
    {
        //.....
    }
    else 
        ;
Потом компилятор увидел, что к вложенной области видимости присобачили else. А это уже явная ошибка. Вот он и написал ее тебе там, где ее диагностировал. А выше по коду в if синтаксической ошибки не было.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2015, 19:53
Привет! Вот еще темы с ответами:

Phonon слот next, previous - Кроссплатформенная разработка
Привет. В Фононе нет слотов next и previous. Подскажите доку как их писать спасибо.

Ошибка "Declaration of "FormDestroy" differs from previous declaration" - Delphi
Я самый настоящий &quot;нуб&quot; помогите исправить ошибки: 1)Declaration of &quot;FormDestroy&quot; differs from previous declaration 2)undeclared...

Не пойму ошибку(131 Header does not match previous definition)... - Turbo Pascal
131 Header does not match previous definition. В месте где написан тип Boolean. SovPad(s4,s5:string):Boolean; Var i,j:integer; ...

press space bar hold the screen any other key to boot previous Mbr - BIOS
sos я встановляв windows xp на нетбук asus все проходило по плану після того як віндовс встановився нетбук перезагрузивя але віндовс не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.07.2015, 19:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru