#include //wystarczy
//#include //to nie jest potrzebne
//#include //a to dziadostwo tym bardziej
using namespace std; //żeby nie pisać wszędzie std::
int main()
{
// wylosowanie liczby
srand ((int) time(NULL));
int nWylosowana = rand() % 100 + 1;
cout << "Wylosowano liczbe z przedzialu 1-100.\n";
// pierwsza próba odgadnięcia liczby
int nWprowadzona;
cout << "Sprobuj ja odgadnac: ";
cin >> nWprowadzona;
int licznik = 1; //licznik (jedna próba już była)
// kolejne próby, aż do skutku - przy użyciu pętli while
while (nWprowadzona != nWylosowana)
{
licznik++; //zwiększamy licznik
if (nWprowadzona < nWylosowana)
cout << "Liczba jest zbyt mala.";
else
cout << "Za duza liczba.";
cout << " Sprobuj jeszcze raz: ";
cin >> nWprowadzona;
}
cout << "Celny strzal :) Brawo!\nTrafiles w: " << licznik << " probach." << endl;
cin.sync();
cin.get();
}
cin>>nWprowadzona;
if(!cin)
{
while(!cin)
{
cout<<"to nie jest liczba pacanie :";
cin.clear();
cin.sync();
cin>>nWprowadzona;
}
}
Chociaż mój kod zabezpieczy tylko przed wpisywaniem samych liter i takiego wpisu: qwe3245,ale nie np: 1234ade POPRAWCIE MÓJ KOD. Pozdrawiam – Dodane 24.06.2009 (Śr) 2:40 – Nie było chętnych to sam wymysliłem:
#include //wystarczy
using namespace std; //żeby nie pisać wszędzie std::
int main()
{
string Wprowadzona, Wyprowadzona;
int Liczba = 0,licznik = 0;
srand ((int) time(NULL));
int nWylosowana = rand() % 100 + 1;
cout << "Wylosowano liczbe z przedzialu 1-100.\n";
cout << "Sprobuj ja odgadnac: ";
while (Liczba != nWylosowana)
{
Wyprowadzona.clear();
getline(cin,Wprowadzona);
int String_size = Wprowadzona.size();
for(int a = 0;a
{
if((Wprowadzona[a] >= 48) && (Wprowadzona[a]<= 57))
{
Wyprowadzona += Wprowadzona[a] ;
}
}
Liczba = atoi(Wyprowadzona.c_str());
licznik++;
if (Liczba < nWylosowana)
{
cout << "Liczba jest zbyt mala.";
cout << " Sprobuj jeszcze raz: ";
}
if(Liczba> nWylosowana)
{
cout << "Za duza liczba.";
cout << " Sprobuj jeszcze raz: ";
}
}
cout << "Celny strzal :) Brawo!\nTrafiles w: " << licznik << " probach." << endl;
cin.sync();
cin.get();
}
Teraz możesz wpisać np: ala2bns4 i masz liczbe 24. Stado blondynek tym załatwisz.