Witam serdecznie. Mam następującą prośbę: czy mógłby ktoś wskazać jakie robię błędy w następującym programie:(program ma dodawać dwa ułamki, dodawać liczbę całkowitą do ułamka i zamieniać ułamek zwykły na dzisieiętny a całość ma być zbudowana na następującym schemacie:
plik main.cpp
#include "ulamek.h"
#include <iostream>
using namespace std;
int main()
{
ulamek z1,z2;
int i;
cout<<"Wprowadz dwa ulamki\n";
cin>>z1>>z2;
cout<<"Oba ulamki zapisane w postaciach dziesietnych:\n";
cout<<"ulamek 1.="<<z1.dziesietny()<<"\nulamek 2.="<<z2.dziesietny();
cout<<"\nWynik dodawania dwoch ulamkow; ";
cout<<z1+z2;
cout<<"\nPodaj liczbe calkowita: "<<endl;
cin>>i;
cout<<"\nWynik dodawania ulamka i liczby calkowitej:\n";
cout<<z1+i;
}
plik ulamek.h
class ulamek
{
int X,Y;
public:
int getX() {return X;)
int getY() {return Y;)
void setX(int x) {X=x};
void setY(int y) {Y=y};
double dziesietny();
friend ulamek operator+(ulamek,ulamek);
friend ulamek operator+(ulamek,int);
};
istream& operator>> (istream&, ulamek&)
ostream& operator<<(ostream&, ulamek&)
plik ulamek.cpp
#include "ulamek.h"
#include <iostream>
using namespace std;
double ulamek:: dziesietny()
{
return a.X/a.Y;
}
ulamek operator+(ulamek a,ulamek b)
{
a.X=a.X*b.Y+a.Y*b.X;
a.Y=a.Y*b.Y;
return a;
}
ulamek operator+(ulamek a,int b)
{
a.X=a.X+a.Y*b;
return a;
}
istream& operator>> (istream& in, ulamek& z)
{
double x,y;
in>>x;
in>>y;
z.setX(x);
z.setT(y);
return in;
}
ostream& operator<<(ostream& out, ulamek& z)
{
out<<z.getX()<<"/"<<z.getY()<<endl;
return out;
}