Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zadanie z rozdziału 16 sprawdzenie kodu

Ostatnio zmodyfikowano 2022-06-16 00:37
Autor Wiadomość
piratek
Temat założony przez niniejszego użytkownika
Zadanie z rozdziału 16 sprawdzenie kodu
» 2022-06-11 05:35:57
Czy wszystko działa wedle założenia?
C/C++
#include <iostream>
#include <limits>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
   
srand( time( NULL ) );
   
int Wylosujliczbe =(( rand() % 100 ) + 1 );
   
int Wybierzliczbe;
   
bool blad;
   
   
cout << "Witamy w grze losujacej" << endl;
   
cout << "Aby wygrac musisz wylosowac wylosowana liczbe" << endl;
   
   
do
   
{
       
do
       
{
           
cout << "Wybrales liczbe = ";
           
cin >> Wybierzliczbe;
           
blad = cin.fail();
           
cin.clear();
           
cin.ignore( numeric_limits < streamsize >::max(), '\n' );
       
} while( blad );
       
       
if( Wylosujliczbe > Wybierzliczbe )
       
{
           
cout << "Za malo!" << endl;
       
}
       
if( Wylosujliczbe < Wybierzliczbe )
       
{
           
cout << "Za duzo!" << endl;
       
}
    }
while( Wybierzliczbe != Wylosujliczbe );
   
   
cout << "Gratulacje! Udalo Ci sie!" << endl;
}
P-179545
pekfos
» 2022-06-11 12:55:02
Czy działa i działa zgodnie z treścią zadania? Nie. Powinieneś być w stanie sam sobie odpowiadać na takie pytania.
P-179548
piratek
Temat założony przez niniejszego użytkownika
» 2022-06-12 07:58:31
Czy działa i działa zgodnie z treścią zadania? Nie. Powinieneś być w stanie sam sobie odpowiadać na takie pytania.
Wychodzę z założenie, że lepiej jest się zapytać i pokazać swoją pracę dla pewności, niżeli nieświadomie popełnić błąd, o którym mogę sobie nie zdawać pojęcia i nieświadomie uznać zadanie za gotowe. Szczególnie że niekiedy miewam problem, by zrozumieć prawidłowo treść zadania. Rzeczywiście przeoczyłem 4 punkt, powinienem był doczytać przed zadaniem pytania. Teraz powinno być prawidłowo.
C/C++
#include <iostream>
#include <limits>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
   
srand( time( NULL ) );
   
int Wylosujliczbe =(( rand() % 100 ) + 1 );
   
int Wybierzliczbe;
   
int Strzaly = 0;
   
bool blad;
   
   
cout << "Witamy w grze losujacej" << endl;
   
cout << "Aby wygrac musisz zgadnac wylosowana liczbe" << endl;
   
   
do
   
{
       
do
       
{
           
cout << "Wybrales liczbe = ";
           
cin >> Wybierzliczbe;
           
blad = cin.fail();
           
cin.clear();
           
cin.ignore( numeric_limits < streamsize >::max(), '\n' );
           
           
if( blad != 1 && Wybierzliczbe > 0 && Wybierzliczbe < 101 )
           
{
               
Strzaly++;
           
}
        }
while( blad );
       
       
if( Wylosujliczbe > Wybierzliczbe )
       
{
           
cout << "Za malo!" << endl;
       
}
       
if( Wylosujliczbe < Wybierzliczbe )
       
{
           
cout << "Za duzo!" << endl;
       
}
    }
while( Wybierzliczbe != Wylosujliczbe );
   
   
cout << "Gratulacje! Udalo Ci sie!" << endl << endl;
   
cout << "Wylosowana liczba, to = " << Wylosujliczbe << endl;
   
cout << "Udalo Ci sie za " << Strzaly << " razem";
}
P-179550
pekfos
» 2022-06-12 12:01:03
W zadaniu losowe liczby miały być od 1 do 1000. Warunek dla liczenia strzałów jest zbędny. Póki pozwalasz wybrać liczbę poza zakresem, to też się liczy jako strzał. Sprawdzanie blad jest potrzebne tylko dlatego, że całość wpisałeś w złe miejsce. Liczenie prób powinno być razem z obsługą tych prób, czyli za tą pętlą.
P-179552
piratek
Temat założony przez niniejszego użytkownika
» 2022-06-14 01:42:18

W zadaniu losowe liczby miały być od 1 do 1000. Warunek dla liczenia strzałów jest zbędny. Póki pozwalasz wybrać liczbę poza zakresem, to też się liczy jako strzał. Sprawdzanie blad jest potrzebne tylko dlatego, że całość wpisałeś w złe miejsce. Liczenie prób powinno być razem z obsługą tych prób, czyli za tą pętlą.
Niepotrzebna komplikacja z mojej strony, rzeczywiście. Dziękuję serdecznie za pomoc.
Edit: Poprawiłem błędną liczbę w rand

C/C++
#include <iostream>
#include <limits>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
   
srand( time( NULL ) );
   
int Wylosujliczbe =(( rand() % 1000 ) + 1 );
   
int Wybierzliczbe;
   
int Strzaly = 0;
   
bool blad;
   
   
cout << "Witamy w grze losujacej" << endl;
   
cout << "Aby wygrac musisz zgadnac wylosowana liczbe" << endl;
   
cout << "Zakres liczb zaczyna sie od 1 i konczy sie na 1000" << endl;
   
   
do
   
{
       
do
       
{
           
cout << "Wybrales liczbe = ";
           
cin >> Wybierzliczbe;
           
cout << Wylosujliczbe;
           
blad = cin.fail();
           
cin.clear();
           
cin.ignore( numeric_limits < streamsize >::max(), '\n' );
       
} while( blad != false );
       
       
if( Wybierzliczbe >= 1 && Wybierzliczbe <= 1000 )
       
{
           
Strzaly++;
           
           
if( Wylosujliczbe > Wybierzliczbe )
           
{
               
cout << "Za malo!" << endl;
           
}
           
if( Wylosujliczbe < Wybierzliczbe )
           
{
               
cout << "Za duzo!" << endl;
           
}
        }
       
else
       
{
           
cout << "Wybrales liczbe poza zakresem liczb. Sprobuj ponownie" << endl;
       
}
    }
while( Wybierzliczbe != Wylosujliczbe );
   
   
cout << "Gratulacje! Udalo Ci sie!" << endl << endl;
   
cout << "Wylosowana liczba, to = " << Wylosujliczbe << endl;
   
cout << "Udalo Ci sie za " << Strzaly << " razem";
}
P-179554
« 1 »
  Strona 1 z 1