Witam,
Jak zrobić aby w fstream zmienna o typie string zmieniła się na int? to mój kod:
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <windows.h>
#include <fstream>
#include <string>
using namespace std;
int liczba, strzal, proby=0, opcja, puchary=0, wyzwanie, Puchary_z_Pliku=0, napis , wybor;
string imie, tekst;
int main()
{
while(puchary>=5000000000 && Puchary_z_Pliku>=5000000000)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0009 );
cout << "Witaj! W grze! Wybierz co chcesz zrobic:" << endl;
cout << "Wersja gry: 1.2" << endl;
cout << "1.Graj! "<<endl;
cout << "2.Wyzwanie! "<<endl;
cout << "3.Sprawdz swoja liczbe pucharow! "<<endl;
ifstream mojplik("wynik.txt");
if(mojplik.is_open())
{
while(mojplik.good())
{
getline(mojplik, tekst);
cout << "Twoja liczba pucharow: "<< tekst + Puchary_z_Pliku << endl;
}
mojplik.close();
//napis = napis + puchary;
cin >>opcja;
if(opcja == 3)
{
ifstream mojplik("wynik.txt");
if(mojplik.is_open())
{
while(mojplik.good())
{
getline(mojplik, tekst);
cout<<endl;
cout<<endl;
cout <<"Twoja liczba pucharow: "<< tekst + Puchary_z_Pliku << endl;
cout<<endl;
cout<<endl;
}
mojplik.close();
}
}
if(opcja == 1)
{
srand(time(NULL));
liczba = rand()%(100+1);
while(strzal!=liczba)
{
proby++;
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0007 );
cout << "Zgadnij jaka to.(to Twoja "<<proby<<" proba.):";
cin >> strzal;
if(strzal==liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0003 );
cout << "Brawo! Zgadles w: "<<proby<<" probie"<<endl;
cout << "Wygrywasz: 25 pucharow!";
puchary = puchary + 25;
//napis = napis + puchary;
cout << "Twoja liczba pucharow: "<<Puchary_z_Pliku + puchary <<endl;
ofstream mojplik;
mojplik.open("wynik.txt");
mojplik << "\"" << Puchary_z_Pliku + puchary<< "\"";
mojplik.close();
}
if(strzal<liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_RED );
cout << "Niestety podales za mala liczbe :("<<endl;
}
if(strzal>liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN );
cout << "Niestety podales za duza liczbe :("<<endl;
}
if(strzal>100)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_BLUE );
cout << "Podales wieksza liczbe niz jest w zakrasie! :("<<endl;
}
}
}
if(opcja==2)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_BLUE );
cout << "Wybierz nr i poziom trudnosci wyzwania:"<<endl;
cout << "1.Latwy,zgadnij liczbe w mniej niz 25 rund"<<endl;
cout << "2.Sredni,zgadnij liczbe w mniej niz 15 rund"<<endl;
cout << "3.Trudny,zgadnij liczbe w mniej niz 10 rund"<<endl;
cin >>wyzwanie;
if(wyzwanie==1)
{
srand(time(NULL));
liczba = rand()%(100+1);
while(strzal!=liczba && proby<24)
{
proby++;
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0007 );
cout << "Zgadnij jaka to liczba.(to Twoja "<<proby<<" proba.):";
cin >> strzal;
if(strzal==liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0003 );
cout << "Brawo! Zgadles w: "<<proby<<" probie"<<endl;
cout << "Wygrywasz: 30 pucharow!";
puchary = puchary + 30;
//napis = napis + 30;
cout << "Twoja liczba pucharow: "<<Puchary_z_Pliku + puchary <<endl;
ofstream mojplik;
mojplik.open("wynik.txt");
mojplik << "\"" << Puchary_z_Pliku + puchary<< "\"";
mojplik.close();
}
if(strzal<liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_RED );
cout << "Niestety podales za mala liczbe :("<<endl;
}
if(strzal>liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN );
cout << "Niestety podales za duza liczbe :("<<endl;
}
if(strzal>100)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_BLUE );
cout << "Podales wieksza liczbe niz jest w zakrasie! :("<<endl;
}
if(proby>23)
{
cout<<endl;
cout<<endl;
cout<< "Przegrales! W: "<<proby<<" probie. Twoja liczba to:"<<liczba<<endl;
cout<<endl;
cout<<endl;
}
}
}
if(wyzwanie==2)
{
srand(time(NULL));
liczba = rand()%(100+1);
while(strzal!=liczba && proby<14)
{
proby++;
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0007 );
cout << "Zgadnij jaka to liczba.(to Twoja "<<proby<<" proba.):";
cin >> strzal;
if(strzal==liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0003 );
cout << "Brawo! Zgadles w: "<<proby<<" probie"<<endl;
cout << "Wygrywasz: 50 pucharow!";
puchary = puchary + 50;
napis = napis + 50;
cout << "Twoja liczba pucharow: "<< Puchary_z_Pliku + puchary <<endl;
ofstream mojplik;
mojplik.open("wynik.txt");
mojplik << "\"" << Puchary_z_Pliku + puchary<< "\"";
mojplik.close();
}
if(strzal<liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_RED );
cout << "Niestety podales za mala liczbe :("<<endl;
}
if(strzal>liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN );
cout << "Niestety podales za duza liczbe :("<<endl;
}
if(strzal>100)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_BLUE );
cout << "Podales wieksza liczbe niz jest w zakrasie! :("<<endl;
}
if(proby>13)
{
cout<<endl;
cout<<endl;
cout<< "Przegrales! W: "<<proby<<" probie. Twoja liczba to:"<<liczba<<endl;
cout<<endl;
cout<<endl;
}
}
}
if(wyzwanie==3)
{
srand(time(NULL));
liczba = rand()%(100+1);
while(strzal!=liczba && proby<9)
{
proby++;
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0007 );
cout << "Zgadnij jaka to liczba.(to Twoja "<<proby<<" proba.):";
cin >> strzal;
if(strzal==liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, 0x0003 );
cout << "Brawo! Zgadles w: "<<proby<<" probie"<<endl;
cout << "Wygrywasz: 60 pucharow!";
puchary = puchary + 60;
napis = napis + 60;
cout << "Twoja liczba pucharow: "<< Puchary_z_Pliku + puchary <<endl;
ofstream mojplik;
mojplik.open("wynik.txt");
mojplik << "\"" << Puchary_z_Pliku + puchary<< "\"";
mojplik.close();
}
if(strzal<liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_RED );
cout << "Niestety podales za mala liczbe :("<<endl;
}
if(strzal>liczba)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_GREEN );
cout << "Niestety podales za duza liczbe :("<<endl;
}
if(strzal>100)
{
HANDLE hOut;
hOut = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute( hOut, FOREGROUND_BLUE );
cout << "Podales wieksza liczbe niz jest w zakrasie! :("<<endl;
}
if(proby>8)
{
cout<<endl;
cout<<endl;
cout<< "Przegrales! W: "<<proby<<" probie. Twoja liczba to:"<<liczba<<endl;
cout<<endl;
cout<<endl;
}
}
}
}
}
return 0;
}
}