[Lekcja 17 ] Zadanie domowe
Ostatnio zmodyfikowano 2016-05-23 09:45
lukhol Temat założony przez niniejszego użytkownika |
» 2014-10-23 21:29:26 Up zastosowanie do while mi nie pomoże, pętla bedzie wykonaywala sie bez końca. |
|
Memento96 |
» 2014-10-23 21:32:22 http://iv.pl/images/89896652005076404358.jpg Ja tu widzę coś innego :) Dopracuj kod, da się ;) |
|
matys210 |
» 2014-10-23 21:33:57 ja mam tak :) #include "stdafx.h" #include <iostream>
using namespace std;
int wczytajLiczbe();
int main() { int liczba; liczba = wczytajLiczbe(); cout << "Podales liczbe: " << liczba << endl; system( "pause" ); return 0; }
int wczytajLiczbe() { int a; do { cout << "Podaj liczbe: "; cin.clear(); cin.sync(); cin >> a; if(( cin.good() ) == 0 ) cout << "nieprawidlowa wartosc, proboj dalej" << endl; } while( !( cin.good() ) ); return a; }
|
|
lukhol Temat założony przez niniejszego użytkownika |
» 2014-10-23 21:44:28 Dobra zrobiłem tak. Tylko wytłumaczył by mi ktoś po krótce czemu muszę dodać te 2 linijki: #include <iostream> using namespace std;
int wczytajLiczbe() { int liczbaDwa; do { cin.clear(); cin.sync(); cin >> liczbaDwa; if( liczbaDwa == 0 ) cout << "Podaj liczbe: "; } while( liczbaDwa == 0 ); return liczbaDwa; }
int main() { cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); cout << "Podales liczbe: " << liczba << std::endl; return 0; } |
|
matys210 |
» 2014-10-23 21:48:23 [url]http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12[/url] |
|
Memento96 |
» 2014-10-23 22:01:41 I po co podajecie gotowe odpowiedzi? Ten portal służy do nauki, nie do rozwiązywania zadań |
|
Rashmistrz |
» 2014-10-24 08:14:05 @matys210 Nie krzywdź intelektu innych. I po co podajecie gotowe odpowiedzi? Ten portal służy do nauki, nie do rozwiązywania zadań. |
[url]http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wejsciowego/12[/url] |
3 post tematu: _______________________________________________________ Dobra zrobiłem tak. Tylko wytłumaczył by mi ktoś po krótce czemu muszę dodać te 2 linijki: |
Pierwszą z nich jest std::cin.clear(), która czyści flagi błędu. Drugą metodą jest std::cin.sync(), która czyści bufor strumienia. |
Raz ustawiona flaga sama nie zniknie. Zablokowała / zapętliła by pętlę w nieskończoność. A bufor może otrzymać dane, które nie są liczbą i nie da się przypisać do zmiennej liczbowej, a to ustawia flagę błędu. |
|
Memento96 |
» 2014-10-24 08:21:39 Właśnie Wy krzywdzicie, można naprowadzić na rozwiązanie, ale na Boga, nie podawać... Co potem będzie z tego wiedział jeśli się nie spyta? Działa? Działa, jedziemy dalej. |
|
1 « 2 » 3 |