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

[C++] wczytywanie danych z pliku w osobnej funkcji

Ostatnio zmodyfikowano 2016-06-20 21:11
Autor Wiadomość
ares1337
Temat założony przez niniejszego użytkownika
[C++] wczytywanie danych z pliku w osobnej funkcji
» 2016-06-20 20:43:06
Chciałem poćwiczyc tworzenie wlasnych funkcji i delikatnie zmieniłem kod wprowadzajac wiekszosc kodu do osobnej funkcji, ale niestety program nie działa i nie wiem gdzie popełniam błąd.
C/C++
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <algorithm>
#include <string>

using namespace std;

int quiz()
{
    string save;
    int nr_linii = 1, n = 0, wynik = 0;
    string temat, autor, odp[ 5 ];
    string pytanie[ 5 ], A[ 5 ], B[ 5 ], C[ 5 ], D[ 5 ], poprawna[ 5 ];
   
    fstream plik;
    plik.open( "quiz.txt", ios::in );
    if( plik.good() == false )
    {
        cout << "error!";
        exit( 0 );
    }
   
    while( getline( plik, save ) )
    {
        switch( nr_linii )
        {
        case 1: temat = save; break;
        case 2: autor = save; break;
        case 3: pytanie[ n ] = save; break;
        case 4: A[ n ] = save; break;
        case 5: B[ n ] = save; break;
        case 6: C[ n ] = save; break;
        case 7: D[ n ] = save; break;
        case 8: poprawna[ n ] = save; break;
        }
        if( nr_linii == 8 )
        {
            nr_linii = 2;
        }
        nr_linii++;
        n++;
    }
    plik.close();
    for( int i = 0; i <= 4; i++ )
    {
        cout << endl << i + 1 << ". " << pytanie[ i ];
        cout << endl << "A. " << A[ n ];
        cout << endl << "B. " << B[ n ];
        cout << endl << "C. " << C[ n ];
        cout << endl << "D. " << D[ n ];
        cout << "\n\t\t\ttwoja odpowiedz: ";
        cin >> poprawna[ i ];
        transform( poprawna[ i ].begin(), poprawna[ i ].end(), poprawna[ i ].begin(),::tolower );
        if( poprawna[ i ] == odp[ i ] )
        {
            cout << "Dobrze. Zdobywasz 1. punkt!";
            wynik++;
        }
        else {
            cout << "Zle. Poprawna odp: " << poprawna[ i ];
        }
    }
    return wynik;
   
}
int main()
{
    cout << "\t\t\t\t\t\tQUIZ!\n";
    quiz();
    return 0;
   
}
P-149327
marcolo2307
» 2016-06-20 21:05:01
W zasadzie, to po prostu przeniosłeś cały kod z main'a do drugiej funkcji. Jeśli teraz nie działa, to znaczy, że nie działało i wcześniej. I mógłbyś chociaż podać, co nie działa...

@down: Obok "Napisz nową wiadomość" masz "Zamknij temat".
P-149328
ares1337
Temat założony przez niniejszego użytkownika
ok
» 2016-06-20 21:11:38
racja, popelnilem blad w kodzie, a caly czas myslalem, ze cos z wywołaniem funkcji nie grało


temat do zamkniecia
P-149330
« 1 »
  Strona 1 z 1