mandbigS
سه شنبه 21 خرداد 1387, 11:54 صبح
سلام ...
من یه برنامه نوشتم به شکل زیر ...
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
class bin
{
private :
int de;
char bi[4];
int bitode ()
{
de=0;
int i=0;
while(bi[i])
{
de=(de*2) + (bi[i]-'0');
i++;
}
return de;
}
char detobi(int de)
{
int i , j=0;
char bi1[4];
while (de!=0)
{
bi1[j]=de%2;
de=de/2;
j++;
}
for (i=j-1;i>=0 ; i--)
{
bi[i]=bi1[j]+'0';
}
return bi[i];
}
public :
bin ()
{
strcpy (bi," ");
}
void getbi()
{
gets(bi);
}
void putbi()
{
for (int i=0 ; i<strlen(bi) ; i++)
cout << bi[i];
}
bin operator +(bin b2)
{
bin temp ;
temp.de=bitode()+b2.bitode();
temp.detobi();
return temp;
}
/*bin operator -(bin b2)
{
bin temp ;
temp.de=bitode()-b2.bitode();
temp.detobi();
return temp;
}
bin operator *(bin b2)
{
bin temp ;
temp.de=bitode()*b2.bitode();
temp.detobi();
return temp;
}
bin operator /(bin b2)
{
bin temp ;
temp.de=bitode()/b2.bitode();
temp.detobi();
return temp;
}*/
};
int main ()
{
bin b1 , b2 , b3;
b1.getbi();
b2.getbi();
b3 = b1 + b2;
b3.putbi();
getch();
return 0;
}
در قسمت private چند تا تابع هست و در قسمت public عملگرها سربارگذاری شدن ... اما موقع اجرا یه جوری میشه ... اصلا خودتون ببینید بهتره ... ممنون از راهنماییتون ...
البته این تاپیک یکمی به تاپیک سربارگذاری که تازه ایجاد شده و شلوغ هم هست خیلی ربط داره ولی چون نخواستم اونجا شلوغ تر بشه و بحث آموزشیش به هم بخوره یه تاپیک جدید زدم ...
من یه برنامه نوشتم به شکل زیر ...
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
class bin
{
private :
int de;
char bi[4];
int bitode ()
{
de=0;
int i=0;
while(bi[i])
{
de=(de*2) + (bi[i]-'0');
i++;
}
return de;
}
char detobi(int de)
{
int i , j=0;
char bi1[4];
while (de!=0)
{
bi1[j]=de%2;
de=de/2;
j++;
}
for (i=j-1;i>=0 ; i--)
{
bi[i]=bi1[j]+'0';
}
return bi[i];
}
public :
bin ()
{
strcpy (bi," ");
}
void getbi()
{
gets(bi);
}
void putbi()
{
for (int i=0 ; i<strlen(bi) ; i++)
cout << bi[i];
}
bin operator +(bin b2)
{
bin temp ;
temp.de=bitode()+b2.bitode();
temp.detobi();
return temp;
}
/*bin operator -(bin b2)
{
bin temp ;
temp.de=bitode()-b2.bitode();
temp.detobi();
return temp;
}
bin operator *(bin b2)
{
bin temp ;
temp.de=bitode()*b2.bitode();
temp.detobi();
return temp;
}
bin operator /(bin b2)
{
bin temp ;
temp.de=bitode()/b2.bitode();
temp.detobi();
return temp;
}*/
};
int main ()
{
bin b1 , b2 , b3;
b1.getbi();
b2.getbi();
b3 = b1 + b2;
b3.putbi();
getch();
return 0;
}
در قسمت private چند تا تابع هست و در قسمت public عملگرها سربارگذاری شدن ... اما موقع اجرا یه جوری میشه ... اصلا خودتون ببینید بهتره ... ممنون از راهنماییتون ...
البته این تاپیک یکمی به تاپیک سربارگذاری که تازه ایجاد شده و شلوغ هم هست خیلی ربط داره ولی چون نخواستم اونجا شلوغ تر بشه و بحث آموزشیش به هم بخوره یه تاپیک جدید زدم ...