Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z 'else'

Ostatnio zmodyfikowano 2012-10-25 10:07
Autor Wiadomość
kanam99
Temat założony przez niniejszego użytkownika
Problem z 'else'
» 2012-10-24 21:55:04
Witam. W czasie wykonywania zadania z lekcji 16 natknąłem się na taki problem:

"error: 'else' without a previous 'if'"

Kod miałem taki:

C/C++
#include <iostream>
int main()
{
    int wiek;
    std::cin >> wiek;
    if( wiek >= 18 && wiek <= 100 )
   
         std::cout << "Twierdzisz, ze jestes pelnoletni..." << std::endl;
   
    std::cout << "ale czy to kogos interesuje? :)" << std::endl;
    else
         std::cout << "Koniec" << std::endl;
   
    return 0;
}

Po przerobieniu go na taki:
C/C++
#include <iostream>
int main()
{
    int wiek;
    std::cin >> wiek;
    if( wiek >= 18 && wiek <= 100 )
    {
        std::cout << "Twierdzisz, ze jestes pelnoletni..." << std::endl;
        std::cout << "ale czy to kogos interesuje? :)" << std::endl;
    }
   
    else
         std::cout << "Koniec" << std::endl;
   
    return 0;
}

problem się rozwiązał. Dodam, iż muszę nowe programy zaczynać od zrobienia File>New>Project>Console application, w przeciwnym wypadku dostaję błąd "Project is not build yet(...)". Może mi ktoś wytłumaczyć dlaczego pierwszy kod nie działa i dopiero dodanie kolejnych klamer załatwia sprawę? Z góry dziękuję.
P-67434
Arturr300
» 2012-10-24 21:59:27
Instrukcje if i else muszą się zaczynać i kończyć klamrami
P-67436
DejaVu
» 2012-10-24 22:08:50
@up: nie muszą jeżeli jest to jedna instrukcja.
P-67438
crash
» 2012-10-25 09:17:25
Czy to Visual, C::B, Dev-Cpp, patent jest ten sam: trzeba stworzyć projekt. Do projektu dołączane są wszelkie pliki, przede wszystkim main.c w większości przypadków. Użyj notatnika lub dowolnego edytora tekstowego by sprawdzić, jak zbudowany jest plik projektu. Kiedy wyłączony C::B, a chcesz go odpalić, to nie przez main.cpp tylko przez plik projektu właśnie.

Budowa instrukcji if. Kombinacje.

C/C++
if( warunki )
     jedna_instrukcja; //warunki spełnione
else
     druga_instrukcja;

instrukcja_poza_if;

2.

C/C++
if( warunki )
{
    instrukcja1;
    instrukcja2;
    ...
    instrukcjaN;
}
else
     jedna_instrukcja_gdy_false;

pozostale_instrukcja;

3.

C/C++
if( warunki )
     jedna_instrukcja_gdy_true;
else
{
    instrukcja1; //gdy false
    instrukcja2;
    ...
    instrukcjaN;
}

4.

C/C++
if( warunki )
{
    instrukcja1; //gdy true
    instrukcja2;
    ...
    instrukcjaN;
}
else
{
    instrukcja1; //gdy false
    instrukcja2;
    ...
    instrukcjaN;
}

Trzeba uważać na klamerki i położenie instrukcji else gdy klamerek nie ma.
P-67447
kanam99
Temat założony przez niniejszego użytkownika
» 2012-10-25 10:07:15
Dziękuję ci crash, za wytłumaczenie, tak samo jak innym którzy udzielili się w temacie i naświetlili mi trochę ten problem. Jeszcze raz dziękuję i pozdrawiam.
P-67453
« 1 »
  Strona 1 z 1