Nie wiem jak umieścić dane z konstruktora do pliku tekstowego. Coś tam próbowałem, ale nie wyszło, a jestem ledwo tylko dziabnięty z programowania, więc liczę na każdą pomoc.
#ifndef TEKST_H
#define TEKST_H
#include <iostream>
#include <string.h>
using namespace std;
class Tekst
{
public:
virtual void zadaj()=0;
virtual void wczytaj()=0;
string get_tresc();
void set_tresc(string);
virtual void sprawdz()=0;
virtual ~Tekst();
protected:
string tresc;
};
#endif // TEKST_H
#include "Tekst.h"
string Tekst::get_tresc()
{
return tresc;
}
void Tekst::set_tresc(string tresc)
{
tresc=tresc;
}
Tekst::~Tekst()
{
}
#ifndef PYTANIE_H
#define PYTANIE_H
#include <string.h>
#include "Tekst.h"
class Pytanie :public Tekst
{
public:
Pytanie(int, string, string, string, string, string, string, string, int);
Pytanie();
~Pytanie();
void zadaj();
void wczytaj();
void sprawdz();
private:
int nr_pytania;
string odpowiedz;
string poprawna;
string a,b,c,d;
int punkt;
};
#endif // PYTANIE_H
#include "Pytanie.h"
#include <fstream>
#include <cstdlib>
#include <iostream>
void Pytanie::wczytaj()
{
fstream plik;
plik.open("Quis.txt", ios::in);
if (plik.good()==false)
{
cout<<"Nie udalo sie wyswietlic pliku";
exit (0);
}
int nr_linii=(nr_pytania-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;
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;
cin>>odpowiedz;
}
void Pytanie::sprawdz()
{
if(odpowiedz==poprawna)
{
punkt=1;
}
else punkt=0;
}
Pytanie::Pytanie(int nr, string o, string p, string a1, string b1, string c1, string d1, string t, int pkt)
{
nr_pytania=nr;
odpowiedz=o;
poprawna=p;
a=a1;
b=b1;
c=c1;
d=d1;
punkt=pkt;
tresc=t;
}
Pytanie::Pytanie()
{
fstream plik;
plik.open("Quis.txt", ios::in);
if (plik.good()==false)
{
cout<<"Nie udalo sie wyswietlic pliku";
exit (0);
}
int nr_linii=(nr_pytania-1)*6+1;
int aktualny_nr=1;
string linia;
}
Pytanie::~Pytanie()
{
}
#include <iostream>
#include "Pytanie.h"
using namespace std;
int main()
{
Pytanie p1();
// p1.wczytaj;
return 0;
}
No main biedny, bo nie wiem jak te konstruktory rozkręcić, będę wdzięczny za każdą pomoc :)