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

Nie poprawnie działająca pętla w funkcji.

Ostatnio zmodyfikowano 2013-12-01 03:34
Autor Wiadomość
Sevet
Temat założony przez niniejszego użytkownika
Nie poprawnie działająca pętla w funkcji.
» 2013-12-01 03:10:01
Witam!
Używam Code::Blocks 10.05 i przerabiam kurs cpp, wszystko jest ok, ale dzisiaj robiąc program na "zadanie domowe" (pierwsze do tematu "Funkcje - pierwsze starcie"-dział: poziom 2)zrobiłem program z pętlą która działa wręcz nie logicznie.
Gdy wpiszę jakąkolwiek wartość liczbową program zapisze ją do zmiennej a,
funkcja prawidłowo zwróci ją do main() i zostanie wyświetlona liczba którą wprowadziłem. Jeśli jednak wprowadzę jakiekolwiek znaki np "abc",
program zakończy pętlę i przekaże zmienną a=14(nie mam pojęcia czemu) do main() pomimo tego, że (o czym sam mnie informuje) zmienna good jak również zmienna bad są równe 0. Przecież wg warunku do wykonania pętli if gdy zmienna good=0 lub bad=1 pętla powinna się kontynuować.
Może to i moja wina, ale jak na mój gust wszystko jest dobrze.
Proszę o szybką odpowiedź bo strasznie "zajarałem" się kursem i chciałbym go jak najszybciej kontynuować. Pozdrawiam.
Tutaj wklejam kod:

C/C++
#include <iostream>
using namespace std;
int wczytajLiczbe()
{
    bool good, bad;
    int a;
    if(( good == 0 ) ||( bad == 1 ) );
   
    {
        cin >> a;
        good = cin.good();
        bad = cin.bad();
        cin.clear();
        cin.sync();
        cout << a << bad << good;
    }
    return a;
}

int main()
{
    std::cout << "Podaj liczbe: ";
    int liczba = wczytajLiczbe();
    std::cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}
P-97994
killjoy
» 2013-12-01 03:23:54
if
 to nie jest pętla tylko instrukcja warunkowa, chodziło ci pewnie o pętle
while
. Funkcja zwraca 14 bo
a
 nie jest zainicjalizowana i znajdować się w niej może cokolwiek, zresztą
good
 i
bad
 też powinny być inicjalizowane.
P-97995
Sevet
Temat założony przez niniejszego użytkownika
» 2013-12-01 03:34:10
Dzięki...
Troszkę za długo chyba przed tym komputerem siedzę ;D.
P-97996
« 1 »
  Strona 1 z 1