Witam,
Przy wczytywaniu zmiennej z pliku wystepuje problem: albo sie co chwile odswieza albo wypisuje bez konca.
Domyslam sie ze trzeba dodac funkcje ekran(cos); przed while'm, ale wtedy to brzydko wyglada.
Moze cos poradzic ? ;)
#include <iostream>
#include <cstdio>
#include <time.h>
#include <windows.h>
#include <fstream>
#include <cstdlib>
#include <conio.h>
using namespace std;
void czyszczenie()
{
system ("CLS");
}
void ekran(int cos)
{
cout<<"Posiadasz "<<cos<<" drewna"<<endl;
cout<<endl<<"1. Wydobywaj"<<endl;
cout<<"2. Zapisz"<<endl;
cout<<"3. Zamknij program"<<endl;
}
int main()
{
char wybor,wybor2;
int cos=1000,los;
fstream plik;
srand(time(NULL));
cout<<"1. Nowa gra"<<endl;
cout<<"2. Wczytaj"<<endl;
cout<<endl<<"3. Zamknij program"<<endl;
wybor=getch();
while(true)
{
switch(wybor)
{
case '1':
{
czyszczenie();
ekran(cos);
wybor2=getch();
switch(wybor2)
{
case '1':
{
czyszczenie();
cout<<"Trwa wydobywanie...";
Sleep(2000);
los=rand()%100+1;
cos+=los;
}
break;
case '2':
{
czyszczenie();
cout<<"Zapisywanie...";
Sleep(1000);
plik.open("save.txt",ios::out);
plik<<cos;
plik.close();
}
break;
case '3':
{
exit(0);
}
break;
}
}
break;
case '2':
{
string linia;
int nr_linii;
plik.open("save.txt",ios::in);
if(plik.good()==false)
{
cout<<"Plik nie istnieje";
exit(0);
}
else
{
while(getline(plik,linia))
{
switch(nr_linii)
{
case 1:
{
cos=atoi(linia.c_str());
}
break;
}
nr_linii++;
}
plik.close();
}
czyszczenie();
ekran(cos);
}
break;
case '3':
{
exit(0);
}
break;
default:
{cout<<"Nie ma takiej opcji";exit(0); break;}
}
}
cin.ignore();
getchar();
return 0;
}
Pozdrawiam ;)