Large Integer (PL2 odev)

/* Gönderen Mustafa Başaran */
#include
#include
#include
using std::cout;
using std::cin;
using std::endl;
class devsayi
{
private:
int uzunluk;
public:
int sayi[40];
devsayi()
{
for(int i=0;i<40;i++) {sayi[i]=0;}
}
/////////////////////////////////////////
int length() {return uzunluk;}
/////////////////////////////////////////
void sayigir()
{
char a[40];
cout<<"sayiyi giriniz:";
cin>>a;
uzunluk=strlen(a);
for(int i=0;i {
char b=a[i];
sayi[i]=atoi(&b);
}
}
////////////////////////////////////////
void sayiyaz()
{
for(int i=0;i {
cout< }
}
/////////////////////////////////////////
void topla(devsayi& y)
{
int s[40];
int k,b,t=0,e=0;
if(uzunluk { k=uzunluk;b=y.length();}
else
{ k=y.length();b=uzunluk;}
for(int i=1;i<=k;i++)
{
t=sayi[uzunluk-i]+y.sayi[y.length()-i]+e;

if(t<10)
{ s[i-1]=t;e=0;}
else
{ s[i-1]=t%10;e=1;}
}
for(i=k;i {
if(uzunluk s[i]=y.sayi[y.length()-i-1];
else
s[i]=sayi[uzunluk-i-1];
}
for(i=1;i cout< }
//////////////////////////////////////////////////
void cikar(devsayi& y)
{
int s[40];
int k,b,t=0,e=0;
if(uzunluk { k=uzunluk;b=y.length();}
else
{ k=y.length();b=uzunluk;}
for(int i=1;i<=k;i++)
{
t=sayi[uzunluk-i]-y.sayi[y.length()-i]-e;
if(t<0)
{ s[i-1]=t+10;e=1;}
else
{ s[i-1]=t;e=0;}
}
for(i=k;i {
if(uzunluk s[i]=y.sayi[y.length()-i-1];
else
s[i]=sayi[uzunluk-i-1];
}
for(i=1;i<=b;i++)
cout< }
};
//////////////////////////////////////////////////
int main()
{
devsayi x,y;
x.sayigir();
y.sayigir();
cout<<"toplam=";
x.topla(y);
cout<<"\n\n";
cout<<"fark=";
x.cikar(y);
}