Poziom 1 lekcja 9
Ostatnio zmodyfikowano 2017-12-12 18:49
Panniikt Temat założony przez niniejszego użytkownika |
Poziom 1 lekcja 9 » 2017-12-10 18:12:04 może mi ktoś wyjaśnić dlaczego przy drugiej liczbie przy wyniku cały czas się pokazuje mi 1 skoro wpisuje celowo złe dane? #include <iostream> #include <cstdlib>
using namespace std;
int main( int argc, char * argv[] ) { double x, y, z; bool wynik = cin.good(); cout << "podaj pierwsza liczbe " << endl; cin >> x; cin.clear(); cin.sync(); cout << "podaj druga liczbe " << endl; cin >> y; cin.clear(); cin.sync(); cout << "podaj trzecia liczbe " << endl; cin >> z; cin.clear(); cin.sync(); cout << "pierwsza liczba to " << x << " wczytano " << wynik << endl; cout << "druga liczba to " << y << " wczytano " << wynik << endl; cout << "trzecia liczba to " << z << " wczytano " << wynik << endl; return 0; }
|
|
YooSy |
» 2017-12-10 18:22:08 Nigdzie nie aktualizujesz zmiennej wynik, w swoim kodzie. BTW: tutaj należy mieć trzy zmiennej do przechowywania stanu strumienia i nadać im wartość o każdej próbie wczytywania danych.
Jeszcze jedno. Zrezygnuj z std::cin.sync() i zamień na std::cin.ignore() opisane pod koniec rozdziału.
|
|
Panniikt Temat założony przez niniejszego użytkownika |
» 2017-12-12 18:03:30 a możesz mniej więcej wytłumaczyć jak aktualizować tą zmienną |
|
nanoant20 |
» 2017-12-12 18:32:46 Napisał Ci @YooSy, że należy mieć trzy zmiennej do przechowywania stanu strumieniaa Ty masz w programie 1-ą zmienna bool wynik, a powinno być np, bool wynikX, wynikY, wynikZ; i każdej z tych zmiennych nadajesz wartośc cin.good(); tak jak to zrobiłeś do zmiennej wynik Na dole programu gdzie wypisujesz wynik cout << "pierwsza liczba to " << x << " wczytano " << wynik << endl; możesz np. uzyć wyrażenia warunkowego do sprawdzenia stanu. cout << "pierwsza liczba to " << x << " wczytano " << wyrazenie warunkowe << endl; |
|
pekfos |
» 2017-12-12 18:49:00 Zmienna przechowuje wartość, nie wyrażenie. Zmienna nie zmieni wartości tylko dlatego, że to co ostatnio było do niej przypisane teraz dałoby inny wynik. a możesz mniej więcej wytłumaczyć jak aktualizować tą zmienną |
Przypisz nową wartość. |
|
« 1 » |