Siema!
Mógłby ktoś sprawdzić kod i powiedzieć czemu mi się to nie chce skompilować? Ofc nie wyrzuca mi żadnych błędów jedynie nie chce się odpalić ;). (error C3861: "getline": identyfikatora nie odnaleziono)
Jak dodałem do nagłówka w pytanie.cpp #include "string" to sie odpala ale niestety błąd nie udało sięzaładować pliku/
main.cpp
#include <iostream>
#include "pytanie.h"
using namespace std;
int main()
{
pytanie p[5];
int suma = 0;
for (int i = 0; i <= 4; i++)
{
p[i].nr_pyt = 1;
p[i].wczytaj();
p[i].zadaj();
p[i].sprawdz();
}
cout << "KONIEC! PTK= " << suma;
return 0;
}
pytanie.cpp
#include <iostream>
#include "pytanie.h"
#include <fstream>
#include <cstdlib>
#include "string"
using namespace std;
void pytanie::wczytaj()
{
fstream plik;
plik.open("quiz.txt", ios::in);
if (plik.good() == false)
{
cout << "nie udalo sie wczytac pliku" << endl;
exit(0);
}
int nr_linii = (nr_pyt - 1) * 6 + 1;
int aktualny_nr = 1;
string linia;
while (getline(plik, linia))
{
if (aktualny_nr == nr_linii) tresc = linia;
if (aktualny_nr == nr_linii + 1) a = linia;
if (aktualny_nr == nr_linii + 2) b = linia;
if (aktualny_nr == nr_linii + 3) c = linia;
if (aktualny_nr == nr_linii + 4) d = linia;
if (aktualny_nr == nr_linii + 5) poprawna = linia;
aktualny_nr++;
}
plik.close();
}
void pytanie::zadaj()
{
cout << endl << tresc << endl;
cout << a << endl;
cout << b << endl;
cout << c << endl;
cout << d << endl;
cout << "-------------" << endl;
cout << "Odpowiedz: " << endl;
cin >> odp;
}
void pytanie::sprawdz()
{
if (odp == poprawna)
{
ptk = 1;
}
else
{
ptk = 0;
}
}
pytanie.h
#pragma once
#include <iostream>
using namespace std;
class pytanie
{
public:
string tresc;
string a, b, c, d;
int nr_pyt;
string poprawna;
string odp;
int ptk; // 1 lub 0
void wczytaj(); // wczytuje dane z pliku
void zadaj();
void sprawdz();
};
Fajnie jakby ktoś pomógł ;))