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

Problem jędnoreki bandyta

Cloud VPS
0 głosów
526 wizyt
pytanie zadane 27 stycznia 2018 w C i C++ przez Corson Początkujący (260 p.)

Witam, kolejny raz stawiam post licząc na pomoc, od kilku dni męczę się żeby było można ustawić maksymalna liczbe monety, żeby to była liczba 9 a na liczbie 10 lub wyzej program wyswietlal komunikat że nie może włożyć monet o takiej wartości. Siedzę już trochę czasu nad tym ale dalej nic mi nie działa.

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std; 

void dolary()
{
	HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY );
cout<<"   $ $          $ $         $ $          $ $     "<<endl;
cout<<"  $$$$$        $$$$$       $$$$$        $$$$$    "<<endl;
cout<<" $ $ $        $ $ $       $ $ $        $ $ $     "<<endl;
cout<<"  $$$$$        $$$$$       $$$$$        $$$$$    "<<endl;
cout<<"   $ $ $        $ $ $       $ $ $        $ $ $   "<<endl;
cout<<"  $$$$$        $$$$$       $$$$$        $$$$$    "<<endl;
cout<<"   $ $          $ $         $ $          $ $     "<<endl;
SetConsoleTextAttribute( hOut, 0 );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
}
void moneta()
{
	cout<<"   __         "<<endl;
	cout<<"  |  |.....   "<<endl;
	cout<<"  | .|     .  "<<endl;
	cout<<"  |. |      .  "<<endl;
	cout<<"  |. |      .  "<<endl;
	cout<<"  |. |      . "<<endl;
	cout<<"  | .|     . "<<endl;
	cout<<"  |__|.....  "<<endl;
	
	
	
	
}


void nazwa()
{
	
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );		
cout<<"|=================================|"<<endl;	
cout<<"|R RRR     OOOOO    L       L     | "<<endl;
cout<<"|R    R   O     O   L       L     |" <<endl;
cout<<"|R    R  O       O  L       L     |" <<endl;
cout<<"|R RRR   O       O  L       L     |"<<endl;    
cout<<"|R   R   O       O  L       L     |"<<endl;
cout<<"|R    R   O     O   L       L     |" <<endl;
cout<<"|R    R    OOOOO    L LLLL  L LLLL|"<<endl; 
cout<<"|=================================|"<<endl;
SetConsoleTextAttribute( hOut, 0 );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
}



int main(int argc, char** argv) {
	
	HANDLE hOut;
    hOut = GetStdHandle( STD_OUTPUT_HANDLE );          
	nazwa();
    setlocale(LC_ALL, "");
    srand(time(NULL));

    int wybor;
    string imie;
    cout << "Podaj swój nick" << endl;
    cin >> imie;
    system("cls");

    cout << "Witaj" << " " << imie << endl;
    Sleep(2000);
    system("cls");

    int papa;
	
    do
    {
		
        int monety=0;
        moneta();
        cout << "Podaj ile chcesz wrzucić monet" << endl;
        cin >> monety;
        system("cls");
        while ( monety--) {
        	
            int tabo[3] = {};
            cout << "1.Nowa gra" << endl;
            cout << "2.Ranking" << endl;
            cout << "3.Koniec"<<endl;
            cin >> wybor;
            switch (wybor) {
            case 1:
                cout << "Losowanie!" << endl;
                Sleep(1000);
                system("cls");
                for (int i = 0; i < 3; i++) {
                    tabo[i] = rand() % 9 + 1;
                    cout << tabo[i];
                }
                cout << endl;

                if ((tabo[1] == tabo[0]) && (tabo[2] == tabo[0])) {
                    cout << "Wygrałeś!" << endl;
                    dolary();
                }
                else if (tabo[1] == tabo[0]) {

                    tabo[2] = rand() % 9 + 1;
                    cout << tabo[0] << tabo[1] << tabo[2] << endl;
                    if (tabo[2] == tabo[0]) {
                        cout << "Wygrałeś!" << endl;
                        dolary();
                    }
                }
                else if (tabo[2] == tabo[0]) {

                    tabo[1] = rand() % 9 + 1;
                    cout << tabo[0] << tabo[1] << tabo[2] << endl;
                    if (tabo[1] == tabo[0]) {
                        cout << "Wygrałeś!" << endl;
                        dolary();
                    }
                }
                else if (tabo[2] == tabo[1]) {

                    tabo[0] = rand() % 9 + 1;
                    cout << tabo[0] << tabo[1] << tabo[2] << endl;
                    if (tabo[0] == tabo[1]) {
                        cout << "Wygrałeś!" << endl;
                      	dolary();
                    }
                }else
				{
					for(int monety=0; 10>monety; monety++){
						cout<<"Nie możesz wrzucić 11 monet"<<endl;
					}
				}
                
                break;

            case 2:
                
                break;
            
            case 3:
				exit (0);
				break;    
            }

            if (monety>=10)
            {
                cout << "Możesz wrzucić maksymalnie 10 monet" << endl;
            }else
            cout<<"Nie masz już więcej monet na grę"<<endl;
        }

        cout << "Czy chcesz zagrać ponownie ?"<<endl;
        cout << "1.Tak" << endl << "2.Nie" << endl;
        
        cin >> papa;
    } while (papa == 1);


    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 27 stycznia 2018 przez SebekChlebek Stary wyjadacz (11,290 p.)
Zamiast int papa; daj:

int papa = 1;

i przed tą pętlą while(--monety) zastąp tamto tym:

int monety = 0;
system("cls");
moneta();
cout << "Podaj ile chcesz wrzucić monet" << endl;
cin >> monety;

if (monety > 10)
{
	cout << "Możesz wrzucić maksymalnie 10 monet" << endl;
	continue;
}
		
system("cls");

Pierwsza zmiana jest potrzebna bo inaczej będzie wywalać błąd po tej drugiej zmianie.

Na samym początku sprawdzasz czy monet jest więcej niż 10 i jak tak to mijasz całą pętlę i ktoś musi wpisać to jeszcze raz.

komentarz 27 stycznia 2018 przez Corson Początkujący (260 p.)
Teraz jak to zrobiłem mam problem że za kazdym losowaniem wyswietla mi że mogę maksymalnie wrzucić 10 monet i program pyta mnie czy chce zagrać ponownie
komentarz 27 stycznia 2018 przez SebekChlebek Stary wyjadacz (11,290 p.)

To usuń to:

else
{
 for(int monety=0; 10>monety; monety++){
 cout<<"Nie możesz wrzucić 11 monet"<<endl;
}

 

komentarz 27 stycznia 2018 przez Corson Początkujący (260 p.)

Jak usunąłem to i to 2 to teraz po wpisaniu monet program zachowuje się jakby było tylko 1 losowanie nieważne co wpiszę i odrazu pyta mnie o czy chce zagrać ponownie.

else
{
 for(int monety=0; 10>monety; monety++){
 cout<<"Nie możesz wrzucić 11 monet"<<endl;
}

 

if (monety>=10)
            {
                cout << "Możesz wrzucić maksymalnie 10 monet" << endl;
            }else
            cout<<"Nie masz już więcej monet na grę"<<endl;

 

komentarz 27 stycznia 2018 przez SebekChlebek Stary wyjadacz (11,290 p.)
U mnie działa normalnie. Na pewno wszytko zrobiłeś tak jak należy?
komentarz 27 stycznia 2018 przez Corson Początkujący (260 p.)

Tak, sprawdzałem już wiele razy i ciągle mam błąd, że nieważne jaką kolwiek liczbe wpisze poniżej 10 to mogę tylko zrobić jedno losowanie, nawet jak wpisze 0 i wtedy pyta mnie czy ponownie chce zagrać ponownie. 

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std; 

void dolary()
{
	HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY );
cout<<"   $ $          $ $         $ $          $ $     "<<endl;
cout<<"  $$$$$        $$$$$       $$$$$        $$$$$    "<<endl;
cout<<" $ $ $        $ $ $       $ $ $        $ $ $     "<<endl;
cout<<"  $$$$$        $$$$$       $$$$$        $$$$$    "<<endl;
cout<<"   $ $ $        $ $ $       $ $ $        $ $ $   "<<endl;
cout<<"  $$$$$        $$$$$       $$$$$        $$$$$    "<<endl;
cout<<"   $ $          $ $         $ $          $ $     "<<endl;
SetConsoleTextAttribute( hOut, 0 );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
}
void moneta()
{
	cout<<"   __         "<<endl;
	cout<<"  |  |.....   "<<endl;
	cout<<"  | .|     .  "<<endl;
	cout<<"  |. |      .  "<<endl;
	cout<<"  |. |      .  "<<endl;
	cout<<"  |. |      . "<<endl;
	cout<<"  | .|     . "<<endl;
	cout<<"  |__|.....  "<<endl;
	
	
	
	
}


void nazwa()
{
	
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );		
cout<<"|=================================|"<<endl;	
cout<<"|R RRR     OOOOO    L       L     | "<<endl;
cout<<"|R    R   O     O   L       L     |" <<endl;
cout<<"|R    R  O       O  L       L     |" <<endl;
cout<<"|R RRR   O       O  L       L     |"<<endl;    
cout<<"|R   R   O       O  L       L     |"<<endl;
cout<<"|R    R   O     O   L       L     |" <<endl;
cout<<"|R    R    OOOOO    L LLLL  L LLLL|"<<endl; 
cout<<"|=================================|"<<endl;
SetConsoleTextAttribute( hOut, 0 );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
}



int main(int argc, char** argv) {
	
	HANDLE hOut;
    hOut = GetStdHandle( STD_OUTPUT_HANDLE );          
	nazwa();
    setlocale(LC_ALL, "");
    srand(time(NULL));

    int wybor;
    string imie;
    cout << "Podaj swój nick" << endl;
    cin >> imie;
    system("cls");

    cout << "Witaj" << " " << imie << endl;
    Sleep(2000);
    system("cls");

    int papa=1;
	
    do
    {
		
        int monety=0;
        
        moneta();
        cout << "Podaj ile chcesz wrzucić monet" << endl;
        cin >> monety;
        if (monety > 10)
		{
    	cout << "Możesz wrzucić maksymalnie 10 monet" << endl;
    	continue;
		} {
        	
            int tabo[3] = {};
            cout << "1.Nowa gra" << endl;
            cout << "2.Ranking" << endl;
            cout << "3.Koniec"<<endl;
            cin >> wybor;
            switch (wybor) {
            case 1:
                cout << "Losowanie!" << endl;
                Sleep(1000);
                system("cls");
                for (int i = 0; i < 3; i++) {
                    tabo[i] = rand() % 9 + 1;
                    cout << tabo[i];
                }
                cout << endl;

                if ((tabo[1] == tabo[0]) && (tabo[2] == tabo[0])) {
                    cout << "Wygrałeś!" << endl;
                    dolary();
                }
                else if (tabo[1] == tabo[0]) {

                    tabo[2] = rand() % 9 + 1;
                    cout << tabo[0] << tabo[1] << tabo[2] << endl;
                    if (tabo[2] == tabo[0]) {
                        cout << "Wygrałeś!" << endl;
                        dolary();
                    }
                }
                else if (tabo[2] == tabo[0]) {

                    tabo[1] = rand() % 9 + 1;
                    cout << tabo[0] << tabo[1] << tabo[2] << endl;
                    if (tabo[1] == tabo[0]) {
                        cout << "Wygrałeś!" << endl;
                        dolary();
                    }
                }
                else if (tabo[2] == tabo[1]) {

                    tabo[0] = rand() % 9 + 1;
                    cout << tabo[0] << tabo[1] << tabo[2] << endl;
                    if (tabo[0] == tabo[1]) {
                        cout << "Wygrałeś!" << endl;
                      	dolary();
                    }
                }else
				
                
                break;

            case 2:
                
                break;
            
            case 3:
				exit (0);
				break;    
            }

            if (monety>=10)
            {
                cout << "Możesz wrzucić maksymalnie 10 monet" << endl;
            }else
            cout<<"Nie masz już więcej monet na grę"<<endl;
        }

        cout << "Czy chcesz zagrać ponownie ?"<<endl;
        cout << "1.Tak" << endl << "2.Nie" << endl;
        
        cin >> papa;
    } while (papa == 1);


    return 0;
}

 

komentarz 27 stycznia 2018 przez SebekChlebek Stary wyjadacz (11,290 p.)
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;

void dolary()
{
	HANDLE hOut;
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY);
	cout << "   $ $          $ $         $ $          $ $     " << endl;
	cout << "  $$$$$        $$$$$       $$$$$        $$$$$    " << endl;
	cout << " $ $ $        $ $ $       $ $ $        $ $ $     " << endl;
	cout << "  $$$$$        $$$$$       $$$$$        $$$$$    " << endl;
	cout << "   $ $ $        $ $ $       $ $ $        $ $ $   " << endl;
	cout << "  $$$$$        $$$$$       $$$$$        $$$$$    " << endl;
	cout << "   $ $          $ $         $ $          $ $     " << endl;
	SetConsoleTextAttribute(hOut, 0);
	SetConsoleTextAttribute(hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
}
void moneta()
{
	cout << "   __         " << endl;
	cout << "  |  |.....   " << endl;
	cout << "  | .|     .  " << endl;
	cout << "  |. |      .  " << endl;
	cout << "  |. |      .  " << endl;
	cout << "  |. |      . " << endl;
	cout << "  | .|     . " << endl;
	cout << "  |__|.....  " << endl;




}


void nazwa()
{

	HANDLE hOut;
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hOut, FOREGROUND_RED | FOREGROUND_INTENSITY);
	cout << "|=================================|" << endl;
	cout << "|R RRR     OOOOO    L       L     | " << endl;
	cout << "|R    R   O     O   L       L     |" << endl;
	cout << "|R    R  O       O  L       L     |" << endl;
	cout << "|R RRR   O       O  L       L     |" << endl;
	cout << "|R   R   O       O  L       L     |" << endl;
	cout << "|R    R   O     O   L       L     |" << endl;
	cout << "|R    R    OOOOO    L LLLL  L LLLL|" << endl;
	cout << "|=================================|" << endl;
	SetConsoleTextAttribute(hOut, 0);
	SetConsoleTextAttribute(hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED);
}



int main(int argc, char** argv) {

	HANDLE hOut;
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	nazwa();
	setlocale(LC_ALL, "");
	srand(time(NULL));

	int wybor;
	string imie;
	cout << "Podaj swój nick" << endl;
	cin >> imie;
	system("cls");

	cout << "Witaj" << " " << imie << endl;
	Sleep(2000);
	system("cls");

	int papa = 1;

	do
	{
		int monety = 0;

		moneta();

		cout << "Podaj ile chcesz wrzucić monet" << endl;
		cin >> monety;
		if (monety > 10)
		{
			cout << "Możesz wrzucić maksymalnie 10 monet" << endl;
			continue;
		} 
		
		while (monety--)
		{

			int tabo[3] = {};
			cout << "1.Nowa gra" << endl;
			cout << "2.Ranking" << endl;
			cout << "3.Koniec" << endl;
			cin >> wybor;
			switch (wybor) {
			
			case 1:
				cout << "Losowanie!" << endl;
				Sleep(1000);
				system("cls");
				for (int i = 0; i < 3; i++) {
					tabo[i] = rand() % 9 + 1;
					cout << tabo[i];
				}
				cout << endl;

				if ((tabo[1] == tabo[0]) && (tabo[2] == tabo[0])) {
					cout << "Wygrałeś!" << endl;
					dolary();
				}
				else if (tabo[1] == tabo[0]) {

					tabo[2] = rand() % 9 + 1;
					cout << tabo[0] << tabo[1] << tabo[2] << endl;
					if (tabo[2] == tabo[0]) {
						cout << "Wygrałeś!" << endl;
						dolary();
					}
				}
				else if (tabo[2] == tabo[0]) {

					tabo[1] = rand() % 9 + 1;
					cout << tabo[0] << tabo[1] << tabo[2] << endl;
					if (tabo[1] == tabo[0]) {
						cout << "Wygrałeś!" << endl;
						dolary();
					}
				}
				else if (tabo[2] == tabo[1]) {

					tabo[0] = rand() % 9 + 1;
					cout << tabo[0] << tabo[1] << tabo[2] << endl;
					if (tabo[0] == tabo[1]) {
						cout << "Wygrałeś!" << endl;
						dolary();
					}
				}
				else


					break;

			case 2:

				break;

			case 3:
				exit(0);
				break;
			}

			if (monety <= 0)
				cout << "Nie masz już więcej monet na grę" << endl;
		}

		cout << "Czy chcesz zagrać ponownie ?" << endl;
		cout << "1.Tak" << endl << "2.Nie" << endl;

		cin >> papa;
	} while (papa == 1);


	return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 979 wizyt
pytanie zadane 14 lutego 2020 w C i C++ przez Lestat Nowicjusz (200 p.)
0 głosów
1 odpowiedź 327 wizyt
pytanie zadane 24 stycznia 2018 w C i C++ przez Corson Początkujący (260 p.)
0 głosów
1 odpowiedź 328 wizyt
pytanie zadane 22 stycznia 2018 w C i C++ przez Corson Początkujący (260 p.)

93,454 zapytań

142,448 odpowiedzi

322,717 komentarzy

62,832 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

Kursy INF.02 i INF.03
...