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

Lekcja 16 Zadanie domowe, mały problem

Ostatnio zmodyfikowano 2012-09-01 01:18
Autor Wiadomość
Kroser
Temat założony przez niniejszego użytkownika
Lekcja 16 Zadanie domowe, mały problem
» 2012-08-31 21:10:17
Mam mały problem z zadaniem z lekcja 16 problem polega na tym ze nawet gdy trafie wylosowana liczbę to i tak pisze że pudło. Nie wiem co zrobić jeśli ktoś mógł by mi podpowiedzieć gdzie popełniłem błąd to był bym bardzo wdzięczy i jeszcze zapomniałem dodać że ustawiłem losowanie do 10 żeby można było szybciej wcelować liczbę

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int a;
    int liczba;
    int proby = 0;
   
    do
    {
        std::cout << "Podaj liczbe 1 - 10: " << std::endl;
        std::cin >> a;
       
        std::cout << "Wylosowana liczba to: " <<(( rand() % 10 ) + 1 ) << std::endl;
        liczba =(( rand() % 10 ) + 1 );
       
        if( a <= 10 )
             std::cout << "Pudlo" << std::endl;
       
        proby += 1;
       
    } while( a != liczba );
   
    std::cout << "Trafiona liczba to: " << a << std::endl;
    std::cout << "Strzelales: " << proby << "razy" << std::endl;
   
    system( "Pause" );
    return 0;
}
P-64188
DejaVu
» 2012-08-31 21:11:52
C/C++
if( a <= 10 )
     std::cout << "Pudlo" << std::endl;

Przemyśl warunek, a konkretniej co zapisujesz w zmiennej 'a'.

/edit:
C/C++
std::cout << "Wylosowana liczba to: " <<(( rand() % 10 ) + 1 ) << std::endl;
liczba =(( rand() % 10 ) + 1 );
To też się kupy nie trzyma - też to przemyśl.
P-64189
Kroser
Temat założony przez niniejszego użytkownika
» 2012-08-31 22:28:35
Myślę cały czas na warunkiem

if( a <= 10 )
     std::cout << "Pudlo" << std::endl;

próbuje różnych rozwiązań ale ciągle to samo :(

co do

std::cout << "Wylosowana liczba to: " <<(( rand() % 10 ) + 1 ) << std::endl;
liczba =(( rand() % 10 ) + 1 );

to zmieniłem tak

#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int a;
    int liczba = ((rand() % 10 ) +1 );
    int proby = 0;
   
    do
    {
       std::cout << "Podaj liczbe 1 - 10: " << std::endl;
       std::cin >> a;
      
       std::cout << "Wylosowana liczba to: " <<((rand() % 10 ) +1 ) << std::endl;
      
       if( a <= 10 )
           std::cout << "Pudlo" << std::endl;
      
       proby += 1;
      ..............
P-64200
DejaVu
» 2012-08-31 22:33:45
No akurat zmieniłeś kod w najgorszy możliwy sposób :P Poczytaj ponownie o zmiennych do czego ich się używa no i rozdział w którym była omówiona funkcja rand() tj. jak ona działa.
P-64203
Kroser
Temat założony przez niniejszego użytkownika
» 2012-08-31 23:06:54
Przeczytałem to co Pan napisał żebym przeczytał i przeczytałem jeszcze raz temat zadania domowego i wydaje mi się że to co wcześniej napisałem to jest całkiem źle bo nie o to chodzi w tej grze.
Napisałem coś takiego:

#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int liczba = ((rand() % 1000 ) +1 );   
    int a;
    int proby = 0;
   
    std::cout << "Traf liczbe 1 - 1000" <<std::endl;
    std::cout << "Podaj liczbe" <<std::endl;
    do
    {
        std::cin >> a;
        if(a > 0 && a <= 1000)
       {
           proby ++;
           if(a > liczba)
                    std::cout << "Za duza" << std::endl;
           if(a < liczba)
                    std::cout << "Za mala" << std::endl;
                    }
           else
               std::cout << "Blad" << std::endl;

       } while( liczba != a );
   
       std::cout << "Trafiona liczba to: " << liczba << std::endl; 
       std::cout << "Strzelales: " << proby << " razy" << std::endl;
   
    system("Pause");
    return 0;
}


Wydaje mi się że to jest dobra gra, jeśli to jest zła to mam prośbę czy pan mógł by mi napisać jak ta gra ma wyglądać?
P-64209
DejaVu
» 2012-09-01 01:18:58
Jeżeli działa - to dobrze. Jeżeli interesują Ciebie inne rozwiązania to:
Frazy, które należy wpisać w wyszukiwarkę google:
Ja sam z siebie nie daję rozwiązań :) Ważne jest by umieć samodzielnie sobie radzić z problemami i nauczyć się oceniać własną pracę pod kątem "czy cel został osiągnięty". Samodzielność w programowaniu to duży atut programisty - im szybciej się uniezależnisz tym lepszym koderem będziesz w przyszłości.
P-64210
« 1 »
  Strona 1 z 1