Poziom 1 rozdział 9 Zadanie domowe
Ostatnio zmodyfikowano 2015-08-22 13:26
Feralnex Temat założony przez niniejszego użytkownika |
Poziom 1 rozdział 9 Zadanie domowe » 2015-08-22 00:01:08 Witam, Chciałbym aby napisany program wyświetlał błędy za pomocą komendy std::cin.good() (wartość 1 lub 0), lecz nie wiem gdzie leży błąd w moim kodzie (na strumieniu końcowym powinno pokazywać błąd przy wpisaniu np. litery). #include <iostream> int main() { int a; unsigned int b; float c; bool Wczytano = std::cin.good(); std::cout << "Podaj liczbe pierwsza "; std::cin >> a; std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe druga "; std::cin >> b; std::cin.clear(); std::cin.sync(); std::cout << "Podaj liczbe trzecia "; std::cin >> c; std::cin.clear(); std::cin.sync(); std::cout << "Liczba pierwsza to: " << a << " Wczytano? " << Wczytano << std::endl; std::cout << "Liczba druga to: " << b << " Wczytano? " << Wczytano << std::endl; std::cout << "Liczba trzecia to: " << c << " Wczytano? " << Wczytano << std::endl; return 0; } |
|
Cansisti |
» 2015-08-22 00:11:55 Kiedy przypisujesz wartość 'wczytano' jeszcze nic nie wczytałeś :) cin.good() musisz wywołać po każdym cin >> i dla każdej wczytywanej wartości stworzyć zmienną która zapamięta czy udało się wczytać. |
|
programista17 |
Przejrzystość Kodu » 2015-08-22 09:56:09 Jak piszesz kod to używaj using namespace std; bo jak będziesz tak pisał std:: cout itd. i będziesz chciał stworzyć jakiś duży program to się zarobisz na śmierć ;) im więcej pisania tym łatwiej się pomylić :|
|
|
Feralnex Temat założony przez niniejszego użytkownika |
» 2015-08-22 11:51:09 Niestety jestem początkujący i wciąż nie wiem jak to zrobić ; / Próbowałem już wiele sposobów i zawsze podobny wynik... |
|
BadBullPL |
» 2015-08-22 12:14:45 funkcja cin.good() pobiera wartość na podstawie ostatniego wczytywanie danych czyli, że musisz utworzyć dla trzech wczytań trzy zmienne typu bool i po wczytaniu a przed wyczyszczenie strumienia przypisać do nich wartość którą zwróci funkcja cin.good() |
|
Cansisti |
» 2015-08-22 13:21:20 #include <iostream>
using namespace std; int main() { int a; unsigned int b; float c; bool wczytA, wczytB, wczytC; cout << "Podaj liczbe pierwsza "; cin >> a; wczytA = cin.good(); cin.clear(); cin.sync(); cout << "Podaj liczbe druga "; cin >> b; wczytB = cin.good(); cin.clear(); cin.sync(); cout << "Podaj liczbe trzecia "; cin >> c; wczytC = cin.good(); cin.clear(); cin.sync(); cout << "Liczba pierwsza to: " << a << " Wczytano? " << wczytA << endl; cout << "Liczba druga to: " << b << " Wczytano? " << wczytB << endl; cout << "Liczba trzecia to: " << c << " Wczytano? " << wczytC << endl; return 0; }
|
|
Feralnex Temat założony przez niniejszego użytkownika |
» 2015-08-22 13:26:03 Dziękuje!!! Teraz już rozumiem : D Dziękuje wszystkim za pomoc ^^ |
|
« 1 » |