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

Instrukcja C++

VPS Starter Arubacloud
–1 głos
340 wizyt
pytanie zadane 11 grudnia 2015 w C i C++ przez Indelencio Początkujący (410 p.)
Witam!

Otóz dzisiaj oglądałem odcinek programowania c++ z gra w liczby Pana Zelenta.

Postanowiłem sobie rozbudować ten projekt i brne wciąz dalej dopisując przerózne opcje itp.

Ale natkenłem sie na problem gdyż mam problem z instrukcja:

  if(!cin>>strzal;)
        {
         cerr<<"To nie jest liczba";
         exit(0);
        }

Jak zmodyfikować tą instrukcje zeby gdy użytkownik wpisze litere nie wyłaczy nam programu całkowiecie tylko wyskoczy komunikat "to nie jest liczba "

4 odpowiedzi

0 głosów
odpowiedź 11 grudnia 2015 przez niezalogowany
Usuń exit(0);
0 głosów
odpowiedź 11 grudnia 2015 przez Indelencio Początkujący (410 p.)
Jak usune Exit to owszem pojawia się komunikat ale wyswietla sie rowniez komunikat ktory chce osiagnac ale proba stale rosnie

A powinna byc próba przy ktorej wywalilo błąd
komentarz 11 grudnia 2015 przez niezalogowany
Opisz problem tak żeby można go było zrozumieć i pokaż kod.
0 głosów
odpowiedź 11 grudnia 2015 przez Indelencio Początkujący (410 p.)
for(;;)

{

    cout << "Witaj w Grze Zgadnij Liczbe!" << endl;
    cout<<endl;
    cout<<"Wpisz swoj Nickname: "; cin>>Nick; cout<<endl; cout<<"Czesc!" " "<<Nick<<endl;

    srand(time(NULL));
    liczba=rand()%100+1;
    cout<<"Wylosowana liczba:"<<liczba<<endl;

 cout<<"Zaczekaj! System Losuje Liczbe z zakresu liczb calkowitych <1..100>"<<endl; cout<<endl;
        Sleep(3000);
        cout<<"START!"<<endl; cout<<endl;
    while(liczba!=strzal)
    {

        proba++;
        cout<<"Wpisz Liczbe"" "<<"To Twoja " << proba<< " " "Proba:";
        if(!(cin>>strzal))
        {
         cerr<<"To nie jest liczba";
            exit(0);
        }

        if(liczba==strzal)
        {
        cout<<"Gratulacje Zgadles" " "<<"Za"" "<<proba<<" " "proba"<<endl;
        fstream plik;
        plik.open("Wyniki.txt",ios::out | ios::app);
        plik<<"Nick:"<<Nick<<endl;
        plik<<"Zwycieska Liczba:"<<strzal<<endl;
        plik<<"Ilosc Prob:"<<proba<<endl;
        plik.close();
        cout<<"Zapisalem Wynik!"<<endl; cout<<endl;
        }
        if(liczba<strzal)
        cout<<"Za Duzo!"<<endl;
        else if (liczba>strzal)
        cout<<"Za Malo!"<<endl;
        cout<<"Nastapi Rozpoczecie Nowej Gry!";
         Sleep(3000);
         system("cls");
}
}
    return 0;
}

 

 

Przy cin>>strzal mamy warunek gdy wpiszemy literke to wyłacza nam program z konsola.

A ja chce gdy wpiszemy literke pojawia sie linijka "to nie jest liczba" i mamy opcje wpisania ponownie cyfry i kontynuacje gry.
komentarz 11 grudnia 2015 przez niezalogowany
Zmień if(!(cin>>strzal)) na whlie(!(cin>>strzal)) i dodaj w tej pętli te 2 linijki: cin.clear();
cin.ignore(1000,'\n');
No i usuń exit.
0 głosów
odpowiedź 11 grudnia 2015 przez Indelencio Początkujący (410 p.)
To w miare działa tylko pojawia sie problem wyskakuje to okienko "to nie jest liczba" i moge wpisac liczbe ale po wpisaniu liczby nastepuje rozpoczecie nowej gry..to wgl nie wchodzi w rachube psuje przeznaczenie kody.
komentarz 11 grudnia 2015 przez Indelencio Początkujący (410 p.)
Czyli ten od co mam najlepiej zapisać jako funkcje

Stworzyc menu switcha

i  pod case 1 wywolyac ta funcke ?
komentarz 11 grudnia 2015 przez niezalogowany
Ten kod co jest w tym pytaniu opakuj w funkcje a w case ją tylko wywołuj.
komentarz 11 grudnia 2015 przez Indelencio Początkujący (410 p.)
Okej i mam pieknosc tematyczna dzieki
komentarz 11 grudnia 2015 przez Indelencio Początkujący (410 p.)
edycja 11 grudnia 2015 przez Indelencio
Okej Stworzylem Menu Switchem obralem to w funkcje.

Podczas gry proby leca ładnie ale gdy rozpocznie sie nowa rozgrywka proby sie nie resetuja

while(!(cin>>strzal))
        {
         cout<<"Wpisales Litere!"<<endl;
         cout<<"Wpisz Liczbe"" "<<"To Twoja " << proba<< " " "Proba:";
            cin.clear();
            cin.ignore(1000,'\n');
        }

tu prawdopodbnie lezy problem
komentarz 12 grudnia 2015 przez niezalogowany
Na początku pętli ustawiaj zmienną próby na 0

Podobne pytania

0 głosów
2 odpowiedzi 596 wizyt
pytanie zadane 13 marca 2019 w C i C++ przez gepard Nowicjusz (120 p.)
+1 głos
1 odpowiedź 281 wizyt
pytanie zadane 20 stycznia 2021 w C i C++ przez MateuszFisch Początkujący (250 p.)
0 głosów
3 odpowiedzi 1,456 wizyt
pytanie zadane 9 lutego 2016 w C i C++ przez Lukasz95 Bywalec (2,160 p.)

92,843 zapytań

141,783 odpowiedzi

320,858 komentarzy

62,175 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...