Dlaczego program nie wykonuje kodu w pętli?

0
#include "stdafx.h"
#include <iostream> //laduje strumienie we/wy - znaczy cin i cout
#include <cstdlib> // biblioteka umozliwiajaca korzystanie z metody rand()
using namespace std; //pozwala na niepisanie przed cin i cout za kazdym razem std::

class Kostka
{
    static int wynik;
    static int liczba;
    
public:
   void losuj()
    {

    	cin >> liczba;
    	wynik = rand() % 5+1; 
    	if(wynik==liczba)
		  {
    		cout << "wygrales!"<<endl;
		  } 
		else
		{
			cout << "przegrales, wylosowana liczba to: " << wynik<<endl;
		}
    

   }


int Kostka::wynik;
int Kostka::liczba;
int main()
{
		
	Kostka kostka; //nowy obiekt kostka klasy Kostka (obiekty zapisujemy malymi literami a klasy duzymi)
	do {
    cout << "podaj oczekiwana liczbe oczek\n";
	kostka.losuj();	//wywolanie metody losuj dla obiektu kostka
	} while(true);

}

Dlaczego program się kończy a nie zapętla? Próbowałem umieścić tą pętlę w różnych miejscach programu z tym samym efektem tj żadnym.

0

No ale po co tutaj klasa?

0

Mam za zadanie napisac aplikacje konsolowa z kilkoma typami zmiennych i kilkoma metodami (progr obiektowe) wiec chcialem napisac program do rzucania kostka a jako metody dac losowanie, sumowanie i czyszczenie wyniku ale mam problem juz z samym zapetleniem programu. Co robię nie tak? Moze cale zalozenie jest nie tak?

0

Dlaczego to są statici?

0

@Schadoow to nic nie zmienia program nadal się nie zapętla niezależnie od tego czy jest static int czy zwykly

0

Jaki masz kompilator? :P

0

Używam Visual Studio 2012

0

... nie wiem czy to pomoże ale daj

while(true)
{
tutaj rób to swoje coś
} 
0

tzn twoje visual studio nie ma debuggera... wiec nie mozna w 5 krokach sprawdzic czemu wychodzi poza petle.

0

A może ma ktoś jakiś inny pomysł jak to napisac zeby działało? Jestem otwarty na propozycje bo deadline sie zbliża...

0

to udalo ci sie debuger odpalic?

1 użytkowników online, w tym zalogowanych: 0, gości: 1