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

Lekcja 15. Zadanie. Powracanie do kroku 1.

Ostatnio zmodyfikowano 2017-01-06 20:43
Autor Wiadomość
fitek
Temat założony przez niniejszego użytkownika
Lekcja 15. Zadanie. Powracanie do kroku 1.
» 2016-12-28 16:56:08
Witam,
Mam problem z zadaniem domowym z lekcji 15 C++ o pętli do ... while. Ze wszystkim sobie radzę tylko nie mogę dojść do tego jak wykonać polecenie, żeby wrócić do kroku 1. Przeczytałem kilka razy lekcję, sprawdziłem w poprzednich i nadal nic. Polecenia zadań:
1)
  1. Podaj liczbę.
  2. Jeżeli błąd, wróć do kroku 1.
  3. Wypisz liczbę, która została podana.
2)
  1. Wypisuje obecny wynik
  2. Wprowadź liczbę
  3. Wybierz działanie (jeżeli liczba różna od 0)
  4. Wykonaj obliczenia (jeżeli liczba różna od 0)
  5. Wróć do kroku 1.
  6. Jeżeli wprowadzoną liczbą jest 0, zakończ program.

Z góry dziękuję za wszelką pomoc.
P-155595
Szustarol
» 2016-12-28 18:16:50
Jeśli cin.fail lub cin.bad kontynuuj działanie pętli (continue)
P-155599
fitek
Temat założony przez niniejszego użytkownika
» 2017-01-06 16:46:36
ok, rozumiem, ale jak sprawić, żeby program bo oddaniu wartości 0 wrócił do danego kroku?
P-156111
latajacaryba
» 2017-01-06 17:16:48
C/C++
int liczba;
do
{
    cout << "podaj liczbe mniejsza od 10" << endl; // krok 1
    cin >> liczba; // krok 1
} while( liczba >= 10 ); //krok 2 wykonuj dopoki liczba jest wieksza badz rowna 10 // krok 2

cout << "liczba = " << liczba; // krok 3
To był tylko przykład. Zobacz jak działa.
P-156114
fitek
Temat założony przez niniejszego użytkownika
» 2017-01-06 18:27:41
ok, użyłem pętli do .. while i większość gra, ale gdy podam literę zamiast cyfry to zamiast powtórzyć pętli wypisuje to jako podaną liczbę 0.
Może coś źle zrobiłem? Dam fragment kodu:
C/C++
int liczba;
do
{
    cout << "Podaj liczbe: ";
    cin >> liczba;
    cin.sync();
    cin.clear();
} while( cin.fail() );

cout << "Podana liczba: " << liczba;
P-156119
czaffik
» 2017-01-06 19:20:25
Najpierw wpisujesz znak lub łańcuch znaków, potem czyścisz bufor a na koniec sprawdzasz poprawność, nie ta kolejność.
1. wprowadz sobie zmienną bool oznaczającą wyjście z pętli;
2. ustaw wyjście na początku pętli na prawdę;
3. zaraz po wczytaniu wartości sprawdź czy bufor wczytał oczekiwaną wartość, jeśli nie ustaw wyjście na fałsz;
4. wyczyść bufor (cin.clear(), cin.sync())
P-156123
fitek
Temat założony przez niniejszego użytkownika
» 2017-01-06 20:43:48
ok, to ma sens. Wielkie dzięki
P-156131
« 1 »
  Strona 1 z 1