int iNum1 = atoi(szNum1.c_str()); // z pobranego stringu zamieniam na wartość int
int iNum2 = atoi(szNum2.c_str()); // to samo
int iWynik = atoi(szOpr.c_str()); //no i tu ten problem
//dalej nic nie obliczy..
string szRownaSie = (szNum1, szOpr, szNum2);
cout<<szRownaSie;
Wcześniejszy kod gdy operator był ustalany w kodzie wszystko ładnie działało..
Myślę że jest to wina przecinków w stringu (próbowałem replace ale jakoś nie wychodziło)
Pełny kod
#include <cstdlib>
#include <iostream>
//#include <sstream>
using namespace std;
int main(int argc, char *argv[]){
cout<<"KALKULATOR 0.1\n\n\n"<<endl;
beginingPoint:
string szNum1 = "0", szNum2 = "0", szOpr, szDalej, szOperator;
cout<<"\n\nWybierz operator\nDostepne ( : + - * )"<<endl;
cin >> szOpr;
int iTimesChoosen = 0;
if(szOpr == "+") { szOperator = "Suma"; iTimesChoosen++; }
if(szOpr == "-") { szOperator = "Roznica"; iTimesChoosen++; }
if(szOpr == ":" || szOpr == "/") { szOpr == "/"; szOperator = "Iloraz"; iTimesChoosen++; }
if(szOpr == "*") { szOperator = "Iloczyn"; iTimesChoosen++; }
if(iTimesChoosen != 1){
cout<<"Blad! Sproboj ponownie"<<endl;
goto beginingPoint;
}
cout<<"\n\nPodaj liczbe numer 1"<<endl;
cin >> szNum1;
cout<<"\n\nPodaj liczbe numer 2"<<endl;
cin >> szNum2;
int iNum1 = atoi(szNum1.c_str());
int iNum2 = atoi(szNum2.c_str());
int iWynik = atoi(szOpr.c_str());
string szRownaSie = (szNum1, szOpr, szNum2);
if(szRownaSie == ","){
szRownaSie.replace(32, szRownaSie.length() - 32, "");
}
int iRownaSie = atoi(szRownaSie.c_str());
cout<<"\n\n"<<szOperator;
cout<<" liczb "<<szNum1;
cout<<" i "<<szNum2;
cout<<" to "<<iRownaSie;
cout<<"\n"<<endl;
cout<<"\n\n\n!-------ZAKONCZONE SUKCESEM-------!"<<endl;
cout<<"!-------ZAKONCZONE SUKCESEM-------!"<<endl;
cout<<"!-------ZAKONCZONE SUKCESEM-------!\n"<<endl;
questionPoint:
cout<<"Aby obliczyc ponownie wpisz reset, aby wyjsc wpisz exit"<<endl;
cin >> szDalej;
if(szDalej == "reset")
goto beginingPoint;
if(szDalej == "exit"){
system("PAUSE");
return EXIT_SUCCESS;
}
else
goto questionPoint;
}
EDIT:
Poradziłem sobie można zamknąć
Użytkownik diablix edytował ten post 14.05.2011 23:42