[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.jpgJa 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 |