Lekcja 4.33
Ostatnio zmodyfikowano 2016-08-29 21:34
jundymek |
» 2016-08-20 01:36:16 funkcja zwraca wartość typu bool, a nic z tym nie robisz. |
Powinno się tu użyć voida? Nie do końca jeszcze rozumiem te przypisania do funkcji w C++. Wyprowadź mnie z błędu jeśli się mylę. Bez returna dajemy void, jak ma zwrócić liczbę to int (koniec musi być return liczba), jak ma zwrócić napis to string (return napis), jak ma zwrócić true/false to bool - zgadza się? Poniżej poprawiony kod: #include <iostream> #include <fstream> #include <vector>
using namespace std;
void wczytaj_plik( string dane ) { ifstream plik; plik.open( dane.c_str() ); int x; int suma = 0; int i = 0; vector < int > liczba; while( true ) { plik >> x; if( plik.good() ) { liczba.push_back( x ); cout << liczba[ i ] << "\n"; suma += liczba[ i ]; i++; } else { cout << "SUMA: " << suma; cout << liczba.size(); break; } } }
int main() { string dane = "liczby.txt"; wczytaj_plik( dane ); return 0; }
|
|
carlosmay |
» 2016-08-20 01:50:02 Poprzedni kod był lepszy. Sprawdzał przynajmniej poprawność otwierania pliku (ostatni kod tego nie robi). Odnośnie bool i zwracania to masz rację. W tym konkretnym przypadku zwracana wartość logiczna z funkcji informowała czy plik został poprawnie otwarty, więc można to wykorzystać. |
|
Bochenek |
» 2016-08-29 21:34:07 napisałem pod złym tematem, proszę admina o usunięcie tej wiadomości |
|
1 « 2 » |