Błąd w programie w C++


(Moore96) #1

Mam następujący problem:

#include 

#include 

#include 



using namespace std;



int main ()

{

  srand ((int) time(NULL));

  int liczba=rand() % 100 +1;

  cout <<"Wylosowano liczbe z przedzialu 1-100"<
  int wliczba;

  cout <<"Sprobuj ja odgadnac:";

  cin >> wliczba;

  while (wliczba != liczba);

 {  

   if (wliczba < liczba)

   cout <<"Liczba jest za mala.";

   else

   cout <<"Liczba jest za duza.";


   cout <<"Sprobuj jeszcze raz.";

   cin >> wliczba;

 }


   cout <<"Celny strzal!"<



    getch();

    return 0;   

}

Przy kompilacji wszystko jest ok jednak po uruchomieniu,program losuje liczbę i jak ja wpiszę to się program jakby zawiesza.Przeszukałem cały kod i nie wiem co jest źle.

Jak coś to kompiluje w Dev C++ 4.9.9.2


(Somekindsoftware) #2

Nie tylko się "zawiesza", ale i zjada cały procesor. Wszystkiemu winna nieskończona pętla while:

while (wliczba != liczba);

Ten średnik powinien być na końcu bloku pętli, czyli za zamykającym nawiasem klamrowym. Teraz Twój program nawet nie tam nie wchodzi, tylko porównuje liczby w nieskończoność.

Widać, po beznadziejnym formatowaniu :slight_smile:


(Moore96) #3

Co do formatowania to jak piszę program, który ma 10 linijek to go tak nie foramtuje.Jak piszę większy to wtedy formatuje.Zresztą ten program to tylko dla treningu-jak już pisałem post wcześniej C++ dopiero się uczę:slight_smile:

-- Dodane Cz sty 22, 2009 12:34 pm --

Co do formatowania to jak piszę program, który ma 10 linijek to go tak nie foramtuje.Jak piszę większy to wtedy formatuje.Zresztą ten program to tylko dla treningu-jak już pisałem post wcześniej C++ dopiero się uczę:slight_smile:


(Somekindsoftware) #4

To od razu ucz się dobrych nawyków, m.in. formatowania (zresztą - porządne IDE załatwi to za Ciebie), bo później zginiesz we własnych projektach :slight_smile:


(Moore96) #5

Jak już Ci pisałem dobrze o tym wiem.Ale jak sobie piszę program, który ma 10 linijek gdzie wszystko widać na jednej stronie....Zresztą nieważne :smiley: