• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z programem w C++

Object Storage Arubacloud
0 głosów
647 wizyt
pytanie zadane 31 sierpnia 2015 w C i C++ przez Szalony Naukowiec Nowicjusz (120 p.)
#include <iostream>

using namespace std;

int wiek;

int main()
{
    cout << "Ile masz lat??" ;
    cin>> wiek;
    if (wiek<18)
    {
        cout << "Niemozesz jeszcze kupic alko"<<endl;
    }
    else
    {
        cout<< "Kupisz alko i mozesz zostac prezydentem ale nie warto";
    }
    else if ((wiek>=18)&&(wiek<35));
    {
        cout<< "Mozesz kupic alko ale nie zostaniesz prezydentem i w sumie nie warto"<<endl;
    }

    return 0;
    }

Mianowicie chodzi mi o linijke z else if i else bo niezależnie od tego jak je zamienie miejscami dostaje taki oto komunikat:

error: 'else' without a previous 'if'

I pomimo iż wiem co to znaczy to nie rozumiem czemu wyskakuje mi ten bład skoro w poradniku działało bez zarzutu :( Proszę o wyjaśnienie i z góry dzięki :)

5 odpowiedzi

+2 głosów
odpowiedź 31 sierpnia 2015 przez Mieszko I Stary wyjadacz (10,980 p.)

Masz złą kolejność else ifów. Powinno być tak:

#include <iostream>
 
using namespace std;
 
int wiek;
 
int main()
{
    cout << "Ile masz lat??" ;
    cin>> wiek;
    if (wiek<18)
    {
        cout << "Niemozesz jeszcze kupic alko"<<endl;
    }
    else if ((wiek>=18)&&(wiek<35));
    {
        cout<< "Mozesz kupic alko ale nie zostaniesz prezydentem i w sumie nie warto"<<        endl;
    }
    else
    {
        cout<< "Kupisz alko i mozesz zostac prezydentem ale nie warto";
    }
    return 0;
}

 Pozdrawiam.

0 głosów
odpowiedź 31 sierpnia 2015 przez Tomasz90 Nałogowiec (25,140 p.)
masz else if i nie jest to poprzedzone ifem tylko samym elsem

Dozwolone jest

if(warunek1) {

} else if(warunek2) {

} else {

}

 

lub

if(warunek1) {

} else {

}
0 głosów
odpowiedź 31 sierpnia 2015 przez tytanik2011 Użytkownik (930 p.)
Próbowałeś w drugim else dać else if (wiek>=18) Wydaje mi się że wtedy może działać ale moge się mylić.
0 głosów
odpowiedź 31 sierpnia 2015 przez Adrian1999 Nałogowiec (34,570 p.)
bo liczy się kolejność spójrz if wykona się zawsze else if wykona się jeżeli if przed nim się nie wywoła, a else to w ogóle wywoła się jeżeli nic innego się nie wywoła dlatego ważne jest umiejscowienie 1. Zwykle if 2. Els ify w zależności od ilości kodu, 3. Else

Np if(wiek==10) cout<<masz 10 lat else if( to sie wykona jezeli sie nie spelni warunek w ifie pierwszym) (wiek==11) cout<<"masz 11lat" else cout<<"twój wiek został nieokreślony w programie";

wybacz że pisane tak na sucho
0 głosów
odpowiedź 31 sierpnia 2015 przez criss Mędrzec (172,590 p.)
else wykonuje się jeśli nic innego się nie wykona, else ify wykonują się po kolei jeśli poprzedni warunek się nie wykonał. Także else ZAWSZE powinien być na końcu, bo żaden else if po nim się nie wykona. Kompilator to wykrywa i wyrzuca error.

Podobne pytania

0 głosów
2 odpowiedzi 2,586 wizyt
pytanie zadane 8 stycznia 2017 w C i C++ przez HiveMind Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 8,094 wizyt
0 głosów
4 odpowiedzi 156 wizyt
pytanie zadane 10 września 2015 w Rozwój zawodowy, nauka, praca przez mation25 Nowicjusz (220 p.)

92,620 zapytań

141,473 odpowiedzi

319,813 komentarzy

62,003 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...