Zadanie domowe lekcja 17
Ostatnio zmodyfikowano 2011-04-10 16:28
Elano92 Temat założony przez niniejszego użytkownika |
Zadanie domowe lekcja 17 » 2011-04-10 15:46:34 #include <iostream> #include <conio.h> using namespace std; int wczytajLiczbe() { int a; double liczba; cout << "Podaj liczbe "; cin >> liczba; bool spr = cin.good(); if( spr == false ) do { cout << "Prosilem o podanie liczby : "; cin.clear(); cin.sync(); cin >> liczba; spr = cin.good(); } while( !spr ); }
int main() { std::cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); std::cout << "Podales liczbe: " << liczba << std::endl; getch(); return 0; }
Podaje np. 2,3,4.... program zawsze pisze 1 , wiem ,że tu chodzi o bool , tylko jak to przerobić ,aby podawało moją liczbę :\ |
|
ison |
» 2011-04-10 16:07:49 Twoja funkcja nic nie zwraca czy koniecznie chcesz wczytywać liczby zmiennoprzecinkowe? w jednym miejscu wczytujesz double'a a w drugim chcesz go podstawic do inta dopisz na końcu funkcji |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-10 16:15:25 #include <iostream> #include <conio.h> using namespace std; int wczytajLiczbe() { float liczba; cin >> liczba; bool spr = cin.good(); if( spr == false ) do { cout << "Prosilem o podanie liczby : "; cin.clear(); cin.sync(); cin >> liczba; spr = cin.good(); } while( !spr ); return liczba; }
int main() { std::cout << "Podaj liczbe: "; float a = wczytajLiczbe(); std::cout << "Podales liczbe: " << a << std::endl; getch(); return 0; }
Jednak kolejny mały błąd , w funkcji i mainie mam deklaracje float , lecz po napisaniu np 2.5 wypisana mi jest liczba 2. Dlaczego? |
|
malan |
» 2011-04-10 16:22:43 Czwarty wiersz kodu prawdę Ci powie :) |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-04-10 16:28:59 ale ja jestem ślepy ;o zamykam |
|
« 1 » |