Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] Program


Rekomendowane odpowiedzi

Opublikowano

Otóż ja mam tylko jeden mały problem, przy sprawdzaniu poprawnosci odpowiedzi ciagle włącza się to samo. Probowałem, kombinowałem, ale nie wychodzi. Proszę o podpowiedz jak by mozna bylo to rozwiazac.

 

 

#include <cstdio>
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iostream>

using namespace std;
int main()
{
int stolica, wybor;

do{
	srand( time( NULL ) );
	int los=((rand() % 6 ) + 1);

   cout <<"[1]Graj"<<endl;
   cout <<"[2]Zakoncz"<<endl;

   cout << "Co wybierasz?" << endl;
   cin >> wybor;

   switch (wybor)
   case 1:
   switch (los)
   {
   case 1:
   {do {
	cout << "Stolica Hiszpanii to:"<<endl;
	cout <<"[1]Barcelona"<<endl<<"[2]Madryt"<<endl<<"[3]Walencja"<<endl;
	cout << ""<<endl;
	cout << "Ktore miasto jest stolica?"<<endl;
	cin >> stolica;
	if (stolica=1,3)
	   cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

	}while (stolica!=2);

	cout << "Brawo, poprawna odpowiedz"<<endl;
	break;

   }
   case 2:
   {
		do {
	cout << "Stolica Portugalii to:"<<endl;
	cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;
	cout << ""<<endl;
	cout << "Ktore miasto jest stolica?"<<endl;
	cin >> stolica;
	if (stolica=1,2)

	   cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;
	   cout << "" <<endl;
	}while (stolica!=3);
	cout << "Brawo, poprawna odpowiedz"<<endl;
	break;
   }
		  case 3:
   {
		do {
	cout << "Stolica 3 to:"<<endl;
	cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;
	cout << ""<<endl;
	cout << "Ktore miasto jest stolica?"<<endl;
	cin >> stolica;
	if (stolica=1,2)

	   cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;
	   cout << "" <<endl;
	}while (stolica!=3);
	cout << "Brawo, poprawna odpowiedz"<<endl;
	break;
   }
		  case 4:
   {
		do {
	cout << "Stolica 4 to:"<<endl;
	cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;
	cout << ""<<endl;
	cout << "Ktore miasto jest stolica?"<<endl;
	cin >> stolica;
	if (stolica=1,2)

	   cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;
	   cout << "" <<endl;
	}while (stolica!=3);
	cout << "Brawo, poprawna odpowiedz"<<endl;
	break;
   }
		  case 5:
   {
		do {
	cout << "Stolica 5 to:"<<endl;
	cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;
	cout << ""<<endl;
	cout << "Ktore miasto jest stolica?"<<endl;
	cin >> stolica;
	if (stolica=1,2)

	   cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;
	   cout << "" <<endl;
	}while (stolica!=3);
	cout << "Brawo, poprawna odpowiedz"<<endl;
	break;
   }
   case 6:
   {
		do {
	cout << "Stolica 6 to:"<<endl;
	cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;
	cout << ""<<endl;
	cout << "Ktore miasto jest stolica?"<<endl;
	cin >> stolica;
	}while (stolica!=3);
	cout << "Brawo, poprawna odpowiedz"<<endl;
	break;
   }
   }

  }while (wybor!=2);
}

 

 

Opublikowano

Instrukcje warunkowe IF typu :

if (stolica=1,2)

są nie poprawne.

 

Warunki piszesz w oddzielnych nawiasach np. if( (stolica=1) || (stolica=2) )

 

Jeśli nie wiesz to podpowiem że

 

&& i

|| lub

 

Tu masz działający poprawiony kod

 

 

 

#include <cstdio>

#include <iostream>

#include <ctime>

#include <cstdlib>

#include <iostream>

 

using namespace std;

int main()

{

int stolica, wybor;

 

do{

srand( time( NULL ) );

int los=((rand() % 6 ) + 1);

 

cout <<"[1]Graj"<<endl;

cout <<"[2]Zakoncz"<<endl;

 

cout << "Co wybierasz?" << endl;

cin >> wybor;

 

switch (wybor)

case 1:

switch (los)

{

case 1:

{do {

cout << "Stolica Hiszpanii to:"<<endl;

cout <<"[1]Barcelona"<<endl<<"[2]Madryt"<<endl<<"[3]Walencja"<<endl;

cout << ""<<endl;

cout << "Ktore miasto jest stolica?"<<endl;

cin >> stolica;

if ((stolica==1)|| (stolica==3))

{cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

}

else continue;

}while (stolica!=2);

 

cout << "Brawo, poprawna odpowiedz"<<endl;

break;

 

}

case 2:

{

do {

cout << "Stolica Portugalii to:"<<endl;

cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;

cout << ""<<endl;

cout << "Ktore miasto jest stolica?"<<endl;

cin >> stolica;

if ((stolica==1)|| (stolica==2))

{

 

 

cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

cout << "" <<endl;

}

else continue;

}while (stolica!=3);

cout << "Brawo, poprawna odpowiedz"<<endl;

break;

}

case 3:

{

do {

cout << "Stolica 3 to:"<<endl;

cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;

cout << ""<<endl;

cout << "Ktore miasto jest stolica?"<<endl;

cin >> stolica;

if ((stolica==1)|| (stolica==2))

{

 

 

cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

cout << "" <<endl;

 

}

else continue;

}while (stolica!=3);

cout << "Brawo, poprawna odpowiedz"<<endl;

break;

}

case 4:

{

do {

cout << "Stolica 4 to:"<<endl;

cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;

cout << ""<<endl;

cout << "Ktore miasto jest stolica?"<<endl;

cin >> stolica;

if ((stolica==1)||(stolica==2))

{

 

 

cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

cout << "" <<endl;

 

}

else continue;

}while (stolica!=3);

cout << "Brawo, poprawna odpowiedz"<<endl;

break;

}

case 5:

{

do {

cout << "Stolica 5 to:"<<endl;

cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;

cout << ""<<endl;

cout << "Ktore miasto jest stolica?"<<endl;

cin >> stolica;

if ((stolica==1)|| (stolica==2))

{

 

 

cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

cout << "" <<endl;

}

else continue;

}while (stolica!=3);

cout << "Brawo, poprawna odpowiedz"<<endl;

break;

}

case 6:

{

do {

cout << "Stolica 6 to:"<<endl;

cout <<"[1]Barcelona"<<endl<<"[2]Porto"<<endl<<"[3]Poprawna odpowiedz"<<endl;

cout << ""<<endl;

cout << "Ktore miasto jest stolica?"<<endl;

cin >> stolica;

}while (stolica!=3);

cout << "Brawo, poprawna odpowiedz"<<endl;

break;

}

}

 

}while (wybor!=2);

}

 

 

 

Opublikowano

Rozbijmy poniższy fragment kodu:

if (stolica=1,3)
cout << "Niepoprawna odpowiedz. Sproboj ponownie."<<endl;

 

Na kod równoznaczny, to jest działający dokładnie w ten sam sposób. :

stolica = 1;
3; // samotne, nicnierobiące 3. operator , zwraca wartość po prawej stronie. x=1,3 jest równoznaczne z x=1.
// x != c,a()+b; jest równoznaczne z x!=c; a(); 
if ( stolica ) cout;

Ta sygnatura jest pusta.

Opublikowano

@aggr

operator '=' ma większy priorytet niż ',', więc

 

int a = 1;
int b = 3;
int x;
x=a, b;
std::cout << x;

wypisze 1

 

btw. mingw sypie się przy tym, ktoś wie dlaczego?

5 --	int a = 1;
6 --	int b = 3;
7 --	int x = a, b;

 

||=== test, Debug ===|

mietnik est\main.cpp||In function 'int main()':|

mietnik est\main.cpp|7|error: redeclaration of 'int b'|

mietnik est\main.cpp|6|error: 'int b' previously declared here|

mietnik est\main.cpp|6|warning: unused variable 'b'|

||=== Build finished: 2 errors, 1 warnings ===|

 

@down.

Jebany, wyczaił mnie.

jestem z siebie dumny ;D

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...