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

Problem z zadaniem z 1 działu

Ostatnio zmodyfikowano 2015-06-17 16:16
Autor Wiadomość
derka80
Temat założony przez niniejszego użytkownika
Problem z zadaniem z 1 działu
» 2015-06-17 15:33:05
Witam. Mam problem z zadaniem domowym, bo nijak mi nie wychodzi tak jak być powinno.
Oto strona z omawianym zadaniem: http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12
Oto mój kod: http://pastebin.com/z5MGsaKU
Proszę o pomoc, bo dalej sama nie ruszę. :(

I proszę jeszcze o wyjaśnienie o co chodzi z tą zmienną 'bool' jak mam jej użyć?
P-133682
kmlkamilek
» 2015-06-17 15:44:24
Po 1. Wklej kod za pomocą znaczników
[cpp][/cpp]

Po 2. Po co czyścisz strumień wejściowy, między użyciami strumienia wyjściowego?
Po 3. W rozdziale, w miejscu gdzie jest zadanie jest również wskazówka by informacje z metod good() i fail() zapisywać w oddzielnych zmiennych typu bool.
Po 4. Metody good() i fail() zwracają wartość na podstawie ostatnio wykonanej operacji na strumieniu wejściowym, czyli w twoim przypadku w każdym miejscu gdzie jest wyświetlany tekst, sprawdzanie wczytywania ze strumienia, będzie się odbywało tylko dla zmiennej liczba3
P-133683
derka80
Temat założony przez niniejszego użytkownika
» 2015-06-17 15:56:51
Ok, pierwszy punkt już mam. :)
Drugi chyba też? Teraz dopiero odkryłam, że cin.clear odnosi się do cin, a nie do wszystkiego.
Nie rozumiem do końca tej wskazówki. Bo definiuje na początku, przed int main() zmienną bool, tak samo jak int. I co mam wstawić po bool?
Bo jak wstawiam trzy cyfry, jest ok, ale jak wstawię literę, to program wariuje.


C/C++
#include <iostream>


using namespace std;
int liczba1, liczba2, liczba3;




int main()
{
   
    cin >> liczba1;
    cin.clear();
    cin >> liczba2;
    cin.clear();
    cin >> liczba3;
    cin.clear();
   
    cout << "Pierwsza liczba to: " << liczba1;
    cout << "   Wczytano?: " << cin.good() << ".";
    cout << "   Nie wczytano?: " << cin.fail() << ".";
   
   
   
    cout << endl;
    cout << "Druga liczba to : " << liczba2;
    cout << "   Wczytano?: " << cin.good() << ".";
    cout << "   Nie wczytano?: " << cin.fail() << ".";
   
   
    cout << endl;
    cout << "Trzecia liczba to: " << liczba3;
    cout << "   Wczytano?: " << cin.good() << ".";
    cout << "   Nie wczytano?: " << cin.fail() << ".";
   
    return 0;
}
P-133684
kmlkamilek
» 2015-06-17 16:16:17
Program, który napisałaś, można "naprawić" w prosty sposób.

C/C++
#include <iostream>

using namespace std;
int liczba1, liczba2, liczba3;

int main()
{
    bool wczytano, niewczytano;
   
    cin >> liczba1;
    cout << "Pierwsza liczba: " << liczba1 << endl;
   
    wczytano = cin.good();
    niewczytano = cin.fail();
   
    cout << " Wczytano? : " << wczytano << endl;
    cout << " Nie wczytano? : " << niewczytano << endl;
    cin.clear();
   
    cin >> liczba2;
    cout << "Druga liczba: " << liczba2 << endl;
   
    wczytano = cin.good();
    niewczytano = cin.fail();
   
    cout << " Wczytano? : " << wczytano << endl;
    cout << " Nie wczytano? : " << niewczytano << endl;
    cin.clear();
   
    cin >> liczba3;
    cout << "Trzecia liczba: " << liczba3 << endl;
   
    wczytano = cin.good();
    niewczytano = cin.fail();
   
    cout << " Wczytano? : " << wczytano << endl;
    cout << " Nie wczytano? : " << niewczytano << endl;
    cin.clear();
   
    return 0;
}

Przeanalizuj sobie ten kod na spokojnie, gdyby było coś niejasne, to śmiało pytaj.
P-133686
« 1 »
  Strona 1 z 1