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

Pseudolosowe liczby całkowite

Ostatnio zmodyfikowano 2014-06-10 15:58
Autor Wiadomość
snajperek130
Temat założony przez niniejszego użytkownika
Pseudolosowe liczby całkowite
» 2014-06-10 13:12:29
Witam, robie zadanie domowe:
Twoim zadaniem domowym jest napisanie prostej gry, która ma działać następująco:
1. Program losuje liczbę z przedziału od 1 do 1000.
2. Użytkownik zgaduje liczbę, która została wylosowana.
3. Jeżeli podana liczba jest za duża (za mała) gra wypisuje stosowny komunikat i powraca do kroku 2.
4. Jeżeli gracz trafi liczbę wylosowaną to progam kończy działanie, wypisując na ekran wylosowaną liczbę oraz liczbę 'strzałów', które oddał gracz.
Gra ma być zabezpieczona przed możliwością wprowadzenia błędnych wartości liczbowych.

Moj kod:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
   
    int a, liczba_strzalow;
    srand( time( NULL ) );
    std::cout << "Program losuje liczbe z przedzialu od 1 do 1000. Zgadnij, ktora to: ";
    int liczba =( std::rand() % 1000 ) + 1;
   
    do
    {
        std::cin >> a;
        if( std::cin.fail() )
             std::cout << "Cos zle wpisales. Wpisz jeszcze raz";
        //???
        if( a > liczba )
        {
           
           
            std::cout << "Podales za duza liczbe, sprobuj ponownie" << std::endl;
            liczba_strzalow = 1;
        }
       
        if( a < liczba )
        {
            std::cout << "Podales za mala liczbe, sprobuj ponownie" << std::endl;
            liczba_strzalow = 1;
        }
    } while( a != liczba );
   
    std::cout << "Gratulacje farciarzu :)" << std::endl;
    std::cout << "Strzelales" << liczba_strzalow << "razy"; //????
   
    return 0;
}

Moje pytania sa takie:
1) Jak zrobic, by liczby strzalow sie sumowaly? Jest na to jakas funkcja czy sposob?
2) Jak zrobic, by po blednym wpsianiu, np. litery wyswietlil sie napis "Cos zle wpisales. Wpisz jeszcze raz" i wrocilo do ponownego wpisania?? Trzeba tu zrobic w petli do while druga petle do while?



P-111875
pekfos
» 2014-06-10 13:44:38
1. Dodawaj do zmiennej 1, zamiast przypisywać 1?
2. Druga pętla.
P-111876
snajperek130
Temat założony przez niniejszego użytkownika
» 2014-06-10 15:27:38
Dobra, zalatwilem sprawe z petla, ale dalej nie wiem, jak zrobic z ta zmienna.
I jeszcze pytanie, nie da sie tu spoilerow robic?? :D
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
   
    int a, liczba_strzalow;
   
   
   
    //srand( time( NULL ) );
    std::cout << "Program losuje liczbe z przedzialu od 1 do 1000. Zgadnij, ktora to: ";
    int liczba =( std::rand() % 1000 ) + 1;
   
    do
    {
        std::cin >> a;
        while( std::cin.fail() )
        {
            std::cin.clear();
            std::cin.sync();
            std::cout << "Cos zle wpisales, sprobuj jeszcze raz \t";
            std::cin >> a;
        }
       
        if( a > liczba )
        {
            std::cout << "Podales za duza liczbe, sproboj ponownie" << std::endl;
            liczba_strzalow += 1;
        }
       
        if( a < liczba )
        {
            std::cout << "Podales za mala liczbe, sproboj ponownie" << std::endl;
            liczba_strzalow += 1;
        }
    } while( a != liczba );
   
    std::cout << "Gratulacje farciarzu :)" << std::endl;
    std::cout << "Strzelales" << liczba_strzalow << "razy";
   
    return 0;
}
P-111878
pekfos
» 2014-06-10 15:48:45
liczba_strzalow nie ma wartości początkowej

I jeszcze pytanie, nie da sie tu spoilerow robic?? :D
..?
P-111882
snajperek130
Temat założony przez niniejszego użytkownika
» 2014-06-10 15:58:37
Dobra, napisalem, dzieki pekfos :)
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
   
    int a, liczba_strzalow;
    liczba_strzalow =+ 1;
   
   
   
    srand( time( NULL ) );
    std::cout << "Program losuje liczbe z przedzialu od 1 do 1000. Zgadnij, ktora to: ";
    int liczba =( std::rand() % 1000 ) + 1;
   
   
    do
    {
        std::cin >> a;
        while( std::cin.fail() )
        {
            std::cin.clear();
            std::cin.sync();
            std::cout << "Cos zle wpisales, sprobuj jeszcze raz \t";
            std::cin >> a;
        }
       
        if( a > liczba )
        {
            std::cout << "Podales za duza liczbe, sproboj ponownie" << std::endl;
            liczba_strzalow += 1;
        }
       
        if( a < liczba )
        {
            std::cout << "Podales za mala liczbe, sproboj ponownie" << std::endl;
            liczba_strzalow += 1;
        }
    } while( a != liczba );
   
    std::cout << "Gratulacje farciarzu :)" << std::endl;
    std::cout << "Strzelales" << liczba_strzalow << "razy";
   
    return 0;
}
P-111884
« 1 »
  Strona 1 z 1