Witam, mam problem z zapisem do pliku. Przykład podaję 1, potem 1, wybieram +, ładnie się zapisuje, że 1+1=0 a powinno zapisać 1+1=01 jak to poprawić ?
#include <iostream>
#include <cstdio>
#include <fstream>
#include <string>
using namespace std;
void zamienDecNaBin(int x, int liczba1, int liczba2, char dzialanie) //funkcja zamieniajaca z dziesietnej na binarna
{
if (!x) //dopóki x różne od zera
return;
zamienDecNaBin(x/2, liczba1, liczba2, dzialanie);
cout << x%2;
ofstream mojPlik; //tworzymy obiekt
mojPlik.open("wynik.txt");
if( mojPlik.good() == true )
{
mojPlik<<liczba1<<" "<<dzialanie<<" "<<liczba2<<" = "<<x%2;
mojPlik.close();
}
else
cout<< "Dostep do pliku zostal zabroniony!";
}
int main()
{
int liczba1;
int liczba2;
int wynik;
char dzialanie;
cout <<"\nPodaj pierwsza liczbe: ";
cin>>liczba1;
cin.ignore();
cout<<"\nPodaj druga liczbe: ";
cin>>liczba2;
cin.ignore();
cout<<"\nWybierz dzialanie: + lub - lub *: ";
cin>>dzialanie;
cin.ignore();
switch(dzialanie)
{
case '+':
{
wynik = liczba1 + liczba2;
cout<<"Suma w binarnym wynosi: ";
zamienDecNaBin(wynik, liczba1, liczba2, dzialanie);
break;
}
case '-':
{
wynik = liczba1 - liczba2;
cout<<"Roznica w binarnym wynosi: ";
zamienDecNaBin(wynik, liczba1, liczba2, dzialanie);
break;
}
case '*':
{
wynik = liczba1 * liczba2;
cout<<"\nIloczyn w binarnym wynosi: ";
zamienDecNaBin(wynik, liczba1, liczba2, dzialanie);
break;
}
default:
{
cout<<"\nProgram nie obsluguje takiego dzialania.";
break;
}
}
cout<<"\n";
system("PAUSE");
return 0;
}