Problem z 'else'
Ostatnio zmodyfikowano 2012-10-25 10:07
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: #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: #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ę. |
|
Arturr300 |
» 2012-10-24 21:59:27 Instrukcje if i else muszą się zaczynać i kończyć klamrami |
|
DejaVu |
» 2012-10-24 22:08:50 @up: nie muszą jeżeli jest to jedna instrukcja. |
|
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. if( warunki ) jedna_instrukcja; else druga_instrukcja;
instrukcja_poza_if;
2. if( warunki ) { instrukcja1; instrukcja2; ... instrukcjaN; } else jedna_instrukcja_gdy_false;
pozostale_instrukcja;
3. if( warunki ) jedna_instrukcja_gdy_true; else { instrukcja1; instrukcja2; ... instrukcjaN; }
4. if( warunki ) { instrukcja1; instrukcja2; ... instrukcjaN; } else { instrukcja1; instrukcja2; ... instrukcjaN; }
Trzeba uważać na klamerki i położenie instrukcji else gdy klamerek nie ma. |
|
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. |
|
« 1 » |