Problem z zadaniem z 1 działu
Ostatnio zmodyfikowano 2015-06-17 16:16
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ć? |
|
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 |
|
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. #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; }
|
|
kmlkamilek |
» 2015-06-17 16:16:17 Program, który napisałaś, można "naprawić" w prosty sposób. #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. |
|
« 1 » |