Wątek przeniesiony 2018-03-27 15:14 z C/C++ przez kq.

Kod nie kompiluje się (if)

0

Otóż zaczynam swoją przygodę w C++. Zrobiłem sobie fajne ćwiczenie na potrenowanie "if". Zrobiłem następujący kod:

#include <iostream>

using namespace std;

string p1,p2,p3;

int punkty;

int main()
{
    cout<<"Witaj w tescie o GTA"<<endl;
    cout<<"Pytanie pierwsze"<<endl;
    cout<<"W ktorej czesci gry glowna postacia byl CJ:"<<endl;
    cout<<"A- gta sa, B- gta cztery, C- gta trzy"<<endl;
    cout<<"Nacisnij A,B lub C i wcisnij enter"<<endl;
    cin>>p1;

    cout<<"Pytanie drugie:"<<endl;
    cout<<"Czy roman umarl w gta sa"<<endl;
    cout<<"A- tak, B- nie"<<endl;
    cout<<"Nacisnij A lub B i wcisnij enter"<<endl;
    cin>>p2;

    if((p1=="a"))||((p1=="A"))
    {
        punkty=1;
    };
    if((p2=="A"))||((p2=="a"))
    {
        punkty=punkty+1
    };
     if (punkty==0)
     {
         cout<<"otrzymales 0 punktow"<<endl;
         cout<<"pocwicz wiecej"<<endl;
     };
     if (punkty==1)
     {
         cout<<"otrzymales 1 punkt"<<endl;
         cout<<"dobrze, ale pocwicz"<<endl;
     };
     if (punkty==2)
     {
         cout<<"doskonale zrobiles test!,brawo"<<endl;
     };

    return 0;

MOJE PYTANIE BRZMI: Dlaczego program (codeblocks) pokazuje mi błąd przy:

if((p1=="a"))||((p1=="A"))

oraz

if((p2=="A"))||((p2=="a"))

Wiem że cały kod jest bekowy, ale chciałem zrobić taki łatwy do potrenowania :) Dopiero zaczynam swoją przygodę!.

3

Podkreśla na czerwono bo zamykasz if'a (masz o jeden nawias za dużo):

if ((p1 == "a"))/* Ten nawias ) zamyka if */|| ((p1 == "A"))

Po sformatowaniu przez VS Code wygląda to nawet lepiej:

if ((p1 == "a")) // To jest if
	|| ((p1 == "A")) // to jest poza if'em

Wywal też średniki po klamrach.

2
if((p2=="A"))||((p2=="a")) 

Tu masz źle nawiasy.

if (warunek1 || warunek2)
};

Te średniki nie są tu potrzebne, a w innym miejscu go brak.
O tym jak złe są zmienne globalne pewne też Ci ktoś powie. Oraz o tym, ze są inne sposoby wypisywania kilku linii tekstu poza x razy cout.

2

Zamiast:

cout<<"Witaj w tescie o GTA"<<endl;
cout<<"Pytanie pierwsze"<<endl;
cout<<"W ktorej czesci gry glowna postacia byl CJ:"<<endl;
cout<<"A- gta sa, B- gta cztery, C- gta trzy"<<endl;
cout<<"Nacisnij A,B lub C i wcisnij enter"<<endl;

można:

cout << "Witaj w tescie o GTA\n"
        "Pytanie pierwsze\n"
        "W ktorej czesci gry glowna postacia byl CJ:\n"
        "A- gta sa, B- gta cztery, C- gta trzy\n"
        "Nacisnij A,B lub C i wcisnij enter\n";
0

@Serechiel: @atmal Dzięki za pomoc, wszystko już śmiga! ;)

@Nieposkromiony Szewc O, dzięki. Nie znałem tej metody :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1