Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Lekcja 4.33

Ostatnio zmodyfikowano 2016-08-29 21:34
Autor Wiadomość
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:
C/C++
#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;
}
P-150999
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ć.
P-151001
Bochenek
» 2016-08-29 21:34:07
napisałem pod złym tematem, proszę admina o usunięcie tej wiadomości
P-151239
1 « 2 »
Poprzednia strona Strona 2 z 2