Po pierwsze zapytam - czy zmienna "string linia;" może być jedna dla wszystkich operacji otworzenia i odczytania pliku tekstowego? Po każdym cout'cie w którym wypisuje zawartość danego pliku z linijki którą wylosuje wcześniejszym randzie, zmieniam wartość zmiennej "linia" na kolejną wylosowaną liczbę aby mogła odczytać mi wartość drugiego pliku a potem ją wypisać. Jestem początkujący, uczę się tego teoretycznie w szkole od września, jednak praktycznie dopiero ostatnie 5 dni więc poproszę o dużo dokładnych rad i sugestii. Dziękuję.
P.S program prawidłowo odczytuje pierwszą sekwencje z pliku powitania, jednak zawsze wyświetla linijke 1 :/ Wszystkie użyte pliki istnieją więc nie będzie problemu ;)
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <windows.h>
#include <chrono>
#include <thread>
#include <conio.h>
#include <fstream>
using namespace std;
int main()
{
srand(time(0));
//a=odpowiedz
//x=wylosowana liczba dla powitania
//y=wylosowana liczba dla popowiatnia
//lvl=poziom trudnosci
cout<<"Witamy w grze Milionerzy: Rozyca Edition!"<<endl;
this_thread::sleep_for(chrono::milliseconds(1900));
cout<<endl;
cout<<">dalej"<<endl;
getch();
this_thread::sleep_for(chrono::milliseconds(500));
system("cls");
cout<<"Wybory w grze podejmowane beda poprzez wpisanie odpowiedzi z klawiatury"<<endl;
this_thread::sleep_for(chrono::milliseconds(2200));
cout<<"*UWAGA* Podajemy tylko wskazane odpowiedzi, nie wlasne."<<endl;
this_thread::sleep_for(chrono::milliseconds(1900));
cout<<endl;
cout<<">dalej"<<endl;
getch();
this_thread::sleep_for(chrono::milliseconds(500));
system("cls");
int lvl=0;
do
{
cout<<"Wybierz poziom trudnosci:"<<endl; ///program wysypuje sie jak podam litere
cout<<"1. Latwy"<<endl; cout<<"2. Normalny"<<endl; cout<<"3. Trudny"<<endl;
cout<<">"; cin>>lvl;
this_thread::sleep_for(chrono::milliseconds(500));
switch(lvl)
{
case 1:
system("cls");
cout<<"Wybrano poziom LATWY"<<endl;
break;
case 2:
system("cls");
cout<<"Wybrano poziom NORMALNY"<<endl;
break;
case 3:
system("cls");
cout<<"Wybrano poziom TRUDNY"<<endl;
break;
default:
cout<<"Nie ma takiej opcji. Sprobuj ponownie."<<endl;
cout<<endl;
}
} while(lvl!=1 && lvl!=2 && lvl!=3);
this_thread::sleep_for(chrono::milliseconds(2800));
cout<<"Powodzenia!"<<endl;
this_thread::sleep_for(chrono::milliseconds(500));
cout<<endl;
cout<<">dalej"<<endl;
getch();
this_thread::sleep_for(chrono::milliseconds(500));
system("cls");
cout<<"Gra rozpocznie sie za: "<<endl;
this_thread::sleep_for(chrono::milliseconds(800));
for(int i=5; i>=0; i--)
{
this_thread::sleep_for(chrono::milliseconds(1000));
system("cls");
cout<<i<<endl;
}
system("cls");
this_thread::sleep_for(chrono::milliseconds(1000));
//string a,pytanie,powitanie,popowitaniu,przedpytaniem; ///zostawie w razie jakbym mial wrocic do wrzucania wszystkiego w string
fstream tak,nie,pow,popow,przedpyt,pyt;
string linia;
int x=rand()%8+1;
linia=x;
pow.open("powitanie.txt",ios::in);
if (pow.good()==false)
{
cout<<"Cos poszlo nie tak podczas instalacji. Sprobuj zainstalowac ponownie"<<endl;
exit(0);
}
getline(pow,linia);
cout<<linia<<endl;
this_thread::sleep_for(chrono::milliseconds(1900));
pow.close();
int y=rand()%6+1;
linia=y;
popow.open("popowitaniu.txt",ios::in); ///nie oczytuje od tej linijki
cout<<linia<<endl;
this_thread::sleep_for(chrono::milliseconds(1900));
cout<<endl;
cout<<">dalej"<<endl;
getch();
this_thread::sleep_for(chrono::milliseconds(500));
cout<<endl;
int pp=rand()%4+1;
linia=pp;
przedpyt.open("przedpyt.txt",ios::in);
cout<<linia<<endl;
int p=rand()%4+1;
linia=p;
pyt.open("pyt.txt",ios::in);
cout<<linia<<endl;
return 0;
}