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

Pętla do while

Ostatnio zmodyfikowano 2015-05-20 21:43
Autor Wiadomość
damian955
Temat założony przez niniejszego użytkownika
Pętla do while
» 2015-05-20 20:54:12
Mam problem z pętlą. Otóż zapętla się tylko raz po czym program się zamyka. To nie pozwala mi kontynuować pisania programu oraz samej nauki języka C++. Proszę o jak najszybszą pomoc. Dzięki z góry.

Poniżej zamieszczam feralny kod:

C/C++
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
    printf( "Witaj w kalkulatorze!\n\nW tym kalkulatorze masz mozliwosc dzialania na dwoch liczbach zmiennoprzecinkowych lub w przypadku obliczania reszty z dzielenia beda to liczby calkowite.\n\n" );
    float a, b;
    int A, B, C;
    cout << "Wybierz rodzaj dzialania do wykonania poprzez wpisanie odpowiedniej cyfry:\n" << endl << "Suma               = 1" << endl << "Roznica            = 2"
    << endl << "Iloczyn            = 3" << endl << "Iloraz             = 4" << endl << "Reszta z dzielenia = 5" << endl << "Wyjscie z programu = 6\n";
    printf( "\nPodana cyfra: " ); cin >> C; bool Csukces = cin.good(); cin.clear(); cin.sync();
    if( Csukces != 1 )
    {
        do
        {
            cout << "Wybierz rodzaj dzialania do wykonania poprzez wpisanie odpowiedniej cyfry:\n" << endl << "Suma               = 1" << endl << "Roznica            = 2"
            << endl << "Iloczyn            = 3" << endl << "Iloraz             = 4" << endl << "Reszta z dzielenia = 5" << endl << "Wyjscie z programu = 6\n";
            printf( "\nPodana cyfra: " ); cin >> C; bool Csukces = cin.good(); cin.clear(); cin.sync();
        } while( Csukces == 1 );
       
    }
P-132550
pekfos
» 2015-05-20 21:35:19
Pętla do zapewnia co najmniej jedno wykonanie podlegającego jej kodu, więc niepotrzebnie napisałeś 2 razy to samo. Pętla 'nie działa', bo w warunku if jest Csukces != 1, więc warunek pętli Csukces == 1 nigdy nie będzie prawdziwy, bo jest znaczeniowo przeciwny. Csukces wewnątrz pętli to zupełnie inna zmienna, która przestaje istnieć przed sprawdzeniem warunku pętli.
P-132552
damian955
Temat założony przez niniejszego użytkownika
» 2015-05-20 21:43:29
To kiepsko, w jaki sposób mam powiedzieć programowi, aby w razie napotkanych problemów w tym przypadku napisanie znaku zamiast cyfry powtórzył to co mu kazałem? A tak btw. kiedy zamieniam przy while == na != to pętla trwa w nieskończoność. Tego też nie rozumiem.

Dobra nie ważne sam sobie poradzę, po pierwsze program już się zje*** więc dlatego pętla wyskakuje, a później przestaje wszystko działać. Zamykam do kosza z tym. Najdziwniejsze jest w tym wszystkim to, że rok temu umiałem pętlę tylko coś też popsułem i przestałem ją rozumieć, a teraz postanowiłem powrócić do poradnika właśnie dla pisania gier! Ha ha taka anegdotka.
P-132554
« 1 »
  Strona 1 z 1