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

lekcja. 16 zad domowe

Ostatnio zmodyfikowano 2013-01-18 11:12
Autor Wiadomość
vivx
Temat założony przez niniejszego użytkownika
lekcja. 16 zad domowe
» 2013-01-15 22:57:50
Witam zrobiłem loterie ale po wpisaniu liczby... narazie pokaże kod



Edit@
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int a;
    int b =(( rand() % 10 ) + 1 );
    std::cout << "***************\n * LOTERIA *\n***************";
    std::cout << "\n\t\t\t By Vivx";
    std::cout << "\n\n Loteria losuje liczby w przedziale od 1-1000" << std::
    endl;
    do
    {
       
        std::cin >> a;
        std::
        cout << " trwa losowanie ...\n wylosowana liczba to " <<
        (( rand() % 10 ) + 1 ) << std::endl;
        if( a >= 11 || a <= 0 )
        {
            std::
            cout << "Podana liczba jest za duza lub mala z przedzialu" <<
            std::endl;
            if( b != a )
            {
                std::cout << "Nie trafiles" << std::endl;
            }
        }
        while( b != a );
       
        if( a == b )
             std::cout << "brawo";
       
        return 0;
    }
Już naprawiłem prawie wszystko tylko nie dziala mi ze jak zgadne liczbe to kończy pętlę tylko cały czas pętla chodzi wiecie może jak to naprawić ? (nie patrzcie na kod ze nie dokończony ;d)
P-74076
kilroy
» 2013-01-16 00:38:35
zadeklarowałeś ile wynosi zmienna: liczba, ale podczas std::cout podajesz inną wylosowaną liczbę. Poza tym w twoim losowaniu liczba wcale nie jest losowana z przedziału od 1 do 1000.
Polecam:
» Kurs C++ » Poziom 2Pseudolosowe liczby całkowite lekcja
P-74080
vivx
Temat założony przez niniejszego użytkownika
» 2013-01-16 08:53:42
Nie robilem narazie od 1-1000 zeby losowalo bo testowalem czy dziala pomysł troche od 1 do 1000 sobie traf ....i wgl jak wpisze liczbe 4 w zmiennej a to wyskakuje mi ze liczba jest nie prawidlowa nie pomija if ...
P-74084
kilroy
» 2013-01-16 23:19:44
Po prostu zmień odpowiednią linijkę na:
std::cout << " trwa losowanie ...\n wylosowana liczba to " << b << std::endl;
i będzie git (jeśli o takie działanie tego programu ci chodziło)

Poza tym brakuje ci w przyklejonym kodzie nie zamknąłeś pętli do...while. Przed while ma być }
P-74164
vivx
Temat założony przez niniejszego użytkownika
» 2013-01-17 00:47:20
Zmienilem linijke tak jak mowiles i dziala prawie tylko jak np strzelam i wpisze liczbe 2 to wyskakuje mi ze wylosowano liczbe 5 i potem się nie zmienia ... A jeżeli chodzi o program jak ma dzialac to tak użytkownik podaje liczbe jeżeli liczba jest za duża lub mala to wyskakuje blad potem  ma losowac jeżeli osoba trafi to pisze ze trafi jeśli nie wraca do początku czyli na nowo losuje no to jest do zadania domowego tam jest " 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 działanie, kończy progam ekran wylosowaną
'strzałów', które oddał gracz. Gra ma być zabezpieczona
możliwością wprowadzenia wartości liczbowych." reszte wiem  jak zrobić tylko chodzi mi o ten program co wyżej pisałem jak ma wyglądać bo mi coś nie dziala
P-74167
kilroy
» 2013-01-17 11:55:17
Obecnie twój if wywoływany jest tylko, gdy podasz liczbę większą niż 10 lub mniejszą niż 0 (nie wiadomo po co). zastąp go innym warunkiem: jeśli wpisana przez ciebie liczba (a) będzie większa niż wylosowana (b) to niech program wpisze komunikat np. "za duża" jeśli mniejsza: "za mała". Dodatkowo stwórz kolejną zmienną, która nalicza ilość twoich strzałów, czyli przed końcem pętli dodaje do siebie 1.

Zabezpieczona, czyli nie wyrzuca cię z programu - ma powtórzyć wczytywanie liczby, gdy ktoś omyłkowo (lub specjalnie) wciśnie niedozwoloną liczbę, np. rzeczywistą lub po prostu literę. Informacja jak to się robi była na początku kursu: » Kurs C++ » Poziom 1Obsługa strumienia wejściowego lekcja
P-74182
vivx
Temat założony przez niniejszego użytkownika
» 2013-01-17 12:41:18
Chodzi mi to tylko ze jak np masz ze masz strzelać  ta liczbe i trafisz w nia to tego nie czyta z reszta umiem sobie poradzić
P-74183
kilroy
» 2013-01-17 14:13:12
musisz przejrzyście wyjaśnić o co ci chodzi, bo nie twojego rozumiem problemu (a właściwie tego co jest napisane w twoim poście). Masz taki program:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int a;
    int b =(( rand() % 10 ) + 1 );
    std::cout << "***************\n * LOTERIA *\n***************";
    std::cout << "\n\t\t\t By Vivx";
    std::cout << "\n\n Loteria losuje liczby w przedziale od 1-1000" << std::
    endl;
    do
    {
       
        std::cin >> a;
        std::cout << " trwa losowanie ...\n wylosowana liczba to " << b << std::endl;
        if( a >= 11 || a <= 0 )
        {
            std::
            cout << "Podana liczba jest za duza lub mala z przedzialu" <<
            std::endl;
            if( b != a )
            {
                std::cout << "Nie trafiles" << std::endl;
            }
        }
    }
    while( b != a );
   
    if( a == b )
         std::cout << "brawo";
   
    return 0;
}
Według mnie jak trafisz w wylosowaną liczbę to pojawia się komunikat i program się zamyka. Nie o to ci chodziło?
P-74197
« 1 » 2
  Strona 1 z 2 Następna strona