Mám problém. Musím vytvořit program na simulaci hodu kostkou. To se mi povedlo, ale má to háček. Program vygeneruje číslo vždy, pokud zmáčknete nějaké číslo. Např. mačkáte jedničku a program generuje. Jenže pokud mačkáte čísla velice rychle za sebou + ENTER tak se čísla opakujou. Nevím jak přesněji to vysvětlit, hodím sem zdroják + exe tak si to kdyžtak stáhněte a vyzkoušejte.
Jde mi o to, abych i při frekvenci mačkání třeba 5 hodnot/sek program generoval vždy jiné čísla.
Kód: Vybrat vše
#include <cstring>
#include <iostream>
#include <cstdlib>
#include <math.h>
#include <ctime>
#include <windows.h>
using namespace std;
const int ROZSAH = 6;
int main()
{
zpet:
int x,r,s,d;
cout << "Zmackni jakekoli cislo pro hod kostkou" << endl;
cin >> x;
srand(time(0));
r = (rand() % ROZSAH + 1);
s = r;
cout << endl << "Hodil jsi: " << s << endl;
cin.get();
if (r<=5)
goto zpet;
if (r=6)
goto znovu;
znovu:
cout << "Gratuluji hodil jsi 6! Hazej znovu" << endl;
goto zpet6;
zpet6:
cout << "Zmackni jakekoli cislo pro hod kostkou" << endl;
cin >> x;
srand(time(0));
r = (rand() % ROZSAH + 1);
d = r;
cout << endl << "Hodil jsi " << d << endl;
cout << "Soucet je: " << s+d << endl << endl;
cin.get();
goto zpet;
system ("PAUSE");
return 0;
}http://www.edisk.cz/stahni/89259/Hod_ko ... .89KB.html
PS: Pokud víte o celkově elegantnějším napsání celého programu nebráním se tomu
Díky.

