Witam.
Mam taki problem, iż chciałbym zapisać do pliku wyrażenie które poda użytkownik i wynik. Próbowałem przkonwertować char na int za pomocą atoi() lecz słabo wychodziło. Bardzo proszę o pomoc.
void ONP(){
cout<<"UWAGA!!! WPROWADZANE WYRAZENIE ONP MUSI BYC POPRAWNE SKLADNIOWO INNACZEJ PROGRAM NIE BEDZIE POPRAWNIE DZIALAL!!! ZNAK '=' OZNACZA KONIEC WYRAZENIA"<<endl<<endl;
cout<<"Podaj wyrazenie:np----->'77 3 + 5 2 - * ='"<<endl;
int stos[256];
int ws=0;
int a, b, w;
char el[256];
do
{
cin>>el;
if(el[0] >= '0' and el[0] <= '9')
{
a = b = 0;
do a = 10 * a + el[b++] - 48; while(el[b]);
stos[ws++] = a;
}
else if(el[0] == '=') cout << stos[--ws] << endl;
else
{
b = stos[--ws]; a = stos[--ws];
switch(el[0])
{
case '+': w = a + b; break;
case '-': w = a - b; break;
case '*': w = a * b; break;
case '/': w = a / b; break;
case '^': w = 1;
while(b--) w *= a;
break;
}
stos[ws++] = w;
}
} while(el[0] != '=');
for (int j=0;j<i;j++){
cout<<tab[i];
}
cout<<"Czy chcesz zapisac dane??"<<endl;
int x;
cout<<"1: TAK"<<endl;
cout<<"2: NIE"<<endl;
cin>>x;
if (x<1 or x>2){
cout<<"Wybrales zly numer"<<endl;
}
else{
ofstream NowyPlik;
switch(x){
case 1:
NowyPlik.open("D:\\plik.txt", ios::app);
NowyPlik<<el;
NowyPlik.close();
break;
case 2:
break;
}
}
}