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

Praca domowa - rozdział 16. Co jest z tym while?

Ostatnio zmodyfikowano 2015-07-12 11:11
Autor Wiadomość
CRAAAACH
Temat założony przez niniejszego użytkownika
Praca domowa - rozdział 16. Co jest z tym while?
» 2015-07-11 21:16:39
Witam! Jestem na pracy domowej z rozdziału 16 i problem polega na:
komplikacji kodu źródłowego.
Build messages podaje mi następujący error:
line 40: "def1" was not declared in this scope.
A kod źródłowy wygląda tak:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    do
    {
        std::cin.clear();
        long double los;
        long double nr_traf = 0;
        long double liczba =( std::rand() ) % 10 + 1;
        long double def1;
        using namespace std;
        do
        {
            do
            {
                cout << "Wpisz liczbe od 1 do 10 i sprawdz czy program wylosujuje taka samom";
                cout << "\n Podaj liczbe: ";
                cin >> los;
                nr_traf++;
                if( los > 10 )
                {
                    cout << "Niepoprawna liczba. Mozesz tylko wybierac liczby mniejsze lub rowne 10";
                }
                if( los < 1 )
                {
                    cout << "Niepoprawna liczba. Mozesz tylko wybierac liczby wieksze lub rowne 1";
                }
            } while( los > 10 );
           
            if( los != liczba )
            {
                cout << "Nie trafiles. Sprubuj jeszcze raz.";
            }
        } while( los != liczba );
       
        cout << "Dobra liczba! Ilosc prub: " << nr_traf << endl;
        cout << "\n Czy chces zagrac jeszcze raz? 1 - tak 2 - nie";
        cin >> def1;
    } while( def1 != 2 );
   
    return 0;
}
Próbowałem i tak i siak i nic, więc proszę o poradę co zrobić z tym errorem. Z góry dziękuje za pomoc :).
P-134577
carlosmay
» 2015-07-11 22:16:35
Deklaracja zmiennej jest wewnątrz pętli, a żeby obsłużył ją warunek musi być przed.
Zainicjalizuj zmienną def1 przy deklaracji na początku programu, np
C/C++
long double def1 = 0;
 i po problemie.
Poczytaj o zasięgu zmiennych.
P-134578
docentpp
» 2015-07-11 22:19:51
Zadeklaruj zmienne na POCZĄTKU funkcji main, a więc PRZED wywołaniem srand.
P-134579
CRAAAACH
Temat założony przez niniejszego użytkownika
» 2015-07-11 22:24:24
Ok, dzięki za pomoc (pomogliście) i pytanko:
czy mogę wam podarować punkty czy coś w tym stylu jak na elektroda.pl?
P-134580
carlosmay
» 2015-07-12 00:20:52
My się uczymy jak inni uczą się od nas.
To wystarczy.
Kurs darmowy, pomoc darmowa.
P-134582
JMII89
» 2015-07-12 11:11:58
"prub","Sprubuj","samom"
P-134587
« 1 »
  Strona 1 z 1