Hej mój problem polega na tym że nie wiem jak zrobić by mogli się logować rożni użytkownicy i po tym jak zrobią quiz ich wyniki były przechowywane w pliku i jeśli ktoś się zaloguje jeszcze raz jako np Stefana to jego poprzedni wynik będzie się pokazywał:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
struct Dane {
string imie;
int wynik;
}
void quiz(void)
{
system( "cls" );
int n=0;int i=0;
int tab_odp_uz[100];
for(int i=0;i<99;i++){tab_odp_uz[i]=0;}
int tab_pom[i];
int nr=1,odpo=0;
fstream file,file2,file3;
file.open("pytania.txt");
file3.open("odp.txt");
if (file.good() == true )
{
string wiersz,wiersz2;
cout<<"Odpowiadaj na pytania T/N"<<endl;
cout<<endl;
while (!file.eof())
{
int i=0;
int tab_odp_uz[i];
getline(file,wiersz);
cout<<"["<<nr<<"] "<<wiersz<<endl;
for(int j=0;j<4;j++)
{
getline(file3,wiersz2);
cout<<"["<<j+1<<"] "<<wiersz2<<endl;
}
cin>>tab_odp_uz[i];
i++;
nr++;
}
file.close();
file3.close();
}
int pom=0;
file2.open("odpowiedzi.txt");
if (file2.good() == true )
{
int liczby,j=0;
while ( !file2.eof() )
{
file2>>liczby;
tab_pom[j]=liczby;
j++;
pom++;
}
file2.close();
}
n=pom;
int p=0,f=0;
for(int l=0;l<n;l++)
{
if(tab_odp_uz[l]==tab_pom[l])
{
p++;
}
else
{
f++;
}
}
cout<<endl;
cout<<"Liczba poprawnych odpowiedzi: "<<p<<endl;
cout<<"Liczba falszywych odpowiedzi: "<<f<<endl;
}
void dodawanie(void)
{
system( "cls" );
int odp=0;
char dodaj_pyt[150];
char dodaj_odp[150];
int dodaj_pop_odp;
ofstream file("pytania.txt", ios::app);
ofstream file2("odpowiedzi.txt", ios::app);
ofstream file3("odp.txt", ios::app);
cin.ignore();
cout<<"Podaj pytanie(maksymalnie 150 znakow)"<<endl;
cin.getline(dodaj_pyt,150);
cout<<"Podaj odpowiedzi"<<endl;
for(int i=0;i<4;i++)
{
cout<<"["<<i+1<<"]"; cin.getline(dodaj_odp,150);
file3<<endl;
file3<<dodaj_odp;
}
file3.close();
cout<<"Podaj poprawna odpowiedzi[nr]"<<endl;
cin>>dodaj_pop_odp;
if(file.good() && file2.good())
{
file<<endl;
file<<dodaj_pyt;
file.close();
file2<<endl;
file2<<dodaj_pop_odp;
file2.close();
}
char przescie;
cout<<endl;
cout<<"Czy przesc do Quizu?[T/N]"<<endl;
cin>>przescie;
if((przescie=='t' || przescie=='T') || (przescie=='y' || przescie=='Y'))
{
quiz();
}
}
void wszystkie_pyt(void)
{
system( "cls" );
fstream file;
file.open("pytania.txt");
if (file.good() == true )
{
int nr=1;
string wiersz;
while ( !file.eof() )
{
getline(file,wiersz);
cout<<"["<<nr<<"] "<<wiersz<<endl;
nr++;
}
}
char przescie;
cout<<endl;
cout<<"Czy przesc do dodawanie pytan?[T/N]"<<endl;
cin>>przescie;
if((przescie=='t' || przescie=='T') || (przescie=='y' || przescie=='Y'))
{
dodawanie();
}
cout<<"Czy przesc do Quizu?[T/N]"<<endl;
cin>>przescie;
if((przescie=='t' || przescie=='T') || (przescie=='y' || przescie=='Y'))
{
quiz();
}
}
void quiz_new()
{
string nazwa;
cout<<"Nazwa dla nowego Quizu"<<endl;
fstream plik("nazwa.txt");
}
void menu_see(void)
{
cout<<"[1] Quiz"<<endl;
cout<<"[2] Dodaj pytania"<<endl;
cout<<"[3] Wszystkie pytania"<<endl;
cout<<"[4] Dodaj nowy Quiz"<<endl;
}
void menu_do(int n)
{
switch( n )
{
case 1:
cout<<"Quiz"<<endl;
quiz();
break;
case 2:
cout<<"Dodawanie pytan"<<endl;
dodawanie();
break;
case 3:
cout<<"Wszystkie pytania"<<endl;
wszystkie_pyt();
break;
case 4:
quiz_new();
default:
break;
}
}
int main() {
int n;
string nazwa;
Dane uczestnik;
cin>>nazwa;
string slowo;
file.open("ludziki.txt");
while(!plik.eof() && nazwa!=slowo)
{
plik>>slowo;
}
menu_see();
cout<<"Wybierz z menu wpisujac 1,2..."<<endl;
cin>>n;
menu_do(n);
system("pause");
}