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

Nie jestem w stanie zamrozić konsoli

Aruba Cloud - Virtual Private Server VPS
0 głosów
330 wizyt
pytanie zadane 2 kwietnia 2017 w C i C++ przez vito217 Nowicjusz (120 p.)

Męczę się z problemem jakim jest niemożność zatrzymania programu po zrealizowaniu kodu.

Próbowałem używać system ("pause"), getchar() nieważne czy wpisałem to raz czy dwa czy nawet 50.

wpisywałem  
    cin.clear();
    cin.sync();
    cin.get();

 

No nie działa i ****. 

Skopiowałem kod z lekcji o liczbach pseudo losowych i o dziwo wszystko działa. Ale jak zrobie swoją wersje to już nie. Powiedzcie mi czym oba kody się różnią że w jednym działa a w drugim nie.

Najpierw mój:

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <stdio.h>
using namespace std;

int liczba, strzal, ile=0;


int main()
{
    cout << "Witaj pomyslalem sobie liczbe z zakresu 1..100!" << endl;
    srand(time(NULL));
    liczba=rand()%100+1;
    cout << liczba << endl;



    while(strzal!=liczba)
    {
        ile++;
        cout << "To twoja :" <<ile << " proba" <<endl;
        cout << "zgadnij jaka to liczba: " ;
        cin >> strzal;


        if(strzal==liczba)
        {
            cout<< "Gratuluje udalo ci sie zgadnac, wygrywasz w " << ile <<" probach !!"<<endl;
        }

        else if (strzal>liczba)
        {
            cout << "to za duzo"<<endl;
        }

        else if (strzal<liczba)
        {
            cout << "to za malo"<< endl;
        }



    }





    getchar();getchar();
    return 0;
}

-----------------------------------------------------------------

A teraz Pana Mirosława:

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <stdio.h>

using namespace std;

int liczba, strzal, ile_prob=0;

int main()
{
    cout<<"Witaj! Pomyslalem sobie liczbe 1..100"<<endl;
    srand(time(NULL));
    liczba = rand()%100+1;

    while(strzal!=liczba)
    {
      ile_prob++;

      cout<<"Zgadnij jaka (to Twoja "<<ile_prob<<" proba): ";
      cin>>strzal;

      if(strzal==liczba)
        cout<<"Udalo sie! Wygrywasz w "<<ile_prob<<" probie"<<endl;

      else if(strzal<liczba)
        cout<<"To za malo"<<endl;

      else if(strzal>liczba)
        cout<<"To za duzo"<<endl;
    }

    getchar();getchar(); //dla pewnosci 2 razy

    return 0;
}

 

komentarz 2 kwietnia 2017 przez Satpol Początkujący (310 p.)
getch();

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia 2017 przez j23 Mędrzec (195,240 p.)
getchar();getchar(); //dla pewnosci 2 razy

Może po prostu:

cin.ignore(255, '\n').get();

 

 

 

komentarz 2 kwietnia 2017 przez vito217 Nowicjusz (120 p.)
Ani to ani to nie działa....
komentarz 2 kwietnia 2017 przez j23 Mędrzec (195,240 p.)

U mnie działa. Dodałbym jeszcze:

cin >> strzal;
if(!cin) break;

 

Podobne pytania

+1 głos
1 odpowiedź 1,044 wizyt
pytanie zadane 7 sierpnia 2016 w C# przez jankustosz1 Nałogowiec (36,800 p.)
0 głosów
1 odpowiedź 223 wizyt
0 głosów
2 odpowiedzi 588 wizyt
pytanie zadane 6 grudnia 2015 w Offtop przez DaveM Początkujący (480 p.)

93,335 zapytań

142,330 odpowiedzi

322,411 komentarzy

62,670 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 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...