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

Problem jędnoreki bandyta

VPS Starter Arubacloud
0 głosów
316 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ź 500 wizyt
pytanie zadane 14 lutego 2020 w C i C++ przez Lestat Nowicjusz (200 p.)
0 głosów
1 odpowiedź 166 wizyt
pytanie zadane 24 stycznia 2018 w C i C++ przez Corson Początkujący (260 p.)
0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 22 stycznia 2018 w C i C++ przez Corson Początkujący (260 p.)

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...