Pytanie odnośnie zadania z rozdziału 9
Ostatnio zmodyfikowano 2013-07-29 16:51
arti14 Temat założony przez niniejszego użytkownika |
Pytanie odnośnie zadania z rozdziału 9 » 2013-07-29 15:59:11 Chciałem zrobić zadanie domowe z rozdziału 9 ( http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12Zrobiłem coś takiego: #include <iostream> int main() { float a; float b; float c; std::cout << "Podaj liczbe rzeczywista:"; std::cin >> a; std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe rzeczywista:"; std::cin >> b; std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe rzeczywista:"; std::cin >> c; std::cin.clear(); std::cin.sync(); std::cout << "Liczba pierwsza to: " << a << " Wczytano? " << std::cin.good() << std::endl; std::cout << "Liczba druga to: " << b << " Wczytano? " << std::cin.fail() << std::endl; std::cout << "liczba trzecia to: " << c << " Wczytano? " << std::cin.good() << std::endl; return 0; }
Wszystko działa przy podstawieniu danych z zadania, ale chyba chodziło o to, żeby działało zawsze. Aktualnie zawsze pokazuje, że 1 i 3 liczby są ok, ale 2 jest zła. Zgaduję, że zgodnie ze wskazówką trzeba użyć bool, tylko że nie rozumiem, jak ją wstawić. Mógłby ktoś pokazać, jak trzeba to zrobić? Szukałem tematów odnośnie tego zadania, ale ciągle tego nie zrozumiałem. |
|
jsc |
» 2013-07-29 16:05:17 Masz użyć konstrukcji if. |
|
arti14 Temat założony przez niniejszego użytkownika |
» 2013-07-29 16:14:40 Też myślałem, że może chodzić o if, tylko że ona jest dopiero w rozdziale 13. |
|
jsc |
» 2013-07-29 16:18:16 Aha teraz spojrzałem... Musisz utworzyć zmienną bool, wczytać zmienną liczbową, sprawdzić flagę i dopiero wtedy czyścić bufor. |
|
arti14 Temat założony przez niniejszego użytkownika |
» 2013-07-29 16:46:46 Ok, chyba już zrobiłem dobrze: #include <iostream> int main() { float a; float b; float c; bool x; bool y; bool z; std::cout << "Podaj liczbe rzeczywista:"; std::cin >> a; x = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe rzeczywista:"; std::cin >> b; y = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe rzeczywista:"; std::cin >> c; z = std::cin.good(); std::cin.clear(); std::cin.sync(); std::cout << "Liczba pierwsza to: " << a << " Wczytano? " << z << std::endl; std::cout << "Liczba druga to: " << b << " Wczytano? " << y << std::endl; std::cout << "liczba trzecia to: " << c << " Wczytano? " << z << std::endl; return 0; }
|
|
jsc |
» 2013-07-29 16:51:05 No to możesz zamknąć temat:) |
|
« 1 » |