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

Praca domowa lekcja 16

Ostatnio zmodyfikowano 2013-07-14 11:49
Autor Wiadomość
danielpadewski
Temat założony przez niniejszego użytkownika
Praca domowa lekcja 16
» 2013-07-14 10:58:03
Cześć. Napisałem grę z lekcji 16 która ma za zadanie losować liczbe i gracz musi ją odgadnąć. Gra działa dobrze lecz nie umiem zrobić jednego. Mianowicie niewiem jak sprawdzic ile razy był oddane próby odgadnięcie liczby. Myślałem nad sprawdzeniem ile razy się wykonała pętla ale takie czegoś nawet ni eumiem. Oto kod :
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int liczba;
    int los =( rand() % 1000 ) + 1;
    std::cout << "Losowanie...  " << std::endl;
    do
    {
        std::cout << "Podaj liczbe od 1 do 1000 : ";
        std::cin >> liczba;
        if( liczba < los )
        {
            std::cout << "Podana liczba jest za mala !" << std::endl;
            std::cin.clear();
            std::cin.sync();
        }
        if( liczba > los )
        {
            std::cout << "Podana liczba jest za duza !" << std::endl;
            std::cin.clear();
            std::cin.sync();
        }
    } while( liczba != los );
   
    std::cout << "Gratuluje ! Wylosowana liczba to : " << los << std::endl;
    return 0;
}
P-87827
jsc
» 2013-07-14 10:59:39
Musisz zrobić dodatkową zmienną, którą na początku pętli będziesz inkrementował.
P-87828
danielpadewski
Temat założony przez niniejszego użytkownika
» 2013-07-14 11:08:45
kod :
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int liczba;
    int los =( rand() % 1000 ) + 1;
    int ile;
    std::cout << "Losowanie...  " << std::endl;
    do
    {
        ile++;
        std::cout << "Podaj liczbe od 1 do 1000 : ";
        std::cin >> liczba;
        if( liczba < los )
        {
            std::cout << "Podana liczba jest za mala !" << std::endl;
            std::cin.clear();
            std::cin.sync();
        }
        if( liczba > los )
        {
            std::cout << "Podana liczba jest za duza !" << std::endl;
            std::cin.clear();
            std::cin.sync();
        }
    } while( liczba != los );
   
    std::cout << "Gratuluje ! Wylosowana liczba to : " << los << std::endl;
    std::cout << "Twoja liczba sttrzalow to :" << ile << std::endl;
    return 0;
}
Zrobiłem tak jak mówiłeś. Program się kompiluje ale coś chyba jest nie tak. Do momentu konca pętli jest spoko ale gdy jest
C/C++
std::cout << "Twoja liczba sttrzalow to :" << ile << std::endl;
to program wypisuje jakies wielkie liczby niewiadomo skad. Czy zmienne przechowuje liczbe inkrementacji pętli ? Jak powinienem edytowac ten program ?
P-87829
jsc
» 2013-07-14 11:16:25
Zapomniałeś wyzerować.
P-87831
danielpadewski
Temat założony przez niniejszego użytkownika
» 2013-07-14 11:24:07
Mógłbyś pokazać jakby wyglądał wtedy kod bo niewiem jak to zrobić :)
P-87832
danielpadewski
Temat założony przez niniejszego użytkownika
» 2013-07-14 11:29:03
W rejestracji zmiennej int ile; mam dodać int ile = 0;   ?
P-87833
jsc
» 2013-07-14 11:37:59
Taaaaak.
P-87834
danielpadewski
Temat założony przez niniejszego użytkownika
» 2013-07-14 11:42:16
Dzięki, pomógłes :D . Do zamknięcia
P-87835
« 1 » 2
  Strona 1 z 2 Następna strona