محاسبات منطقی رو داده های دودویی : (OR,AND , XOR) با برنامه نویسی شی گراء


#include <iostream>
#include <conio>
#include <string>
class logic{
private:
char a[200],b[200];
public:
logic(char [],char []);
void OR();
void AND();
void XOR();
};
logic::logic(char r[],char t[]){
int x1=strlen(r),x2=strlen(t);
for(int i=0;i<x1;i++)
a[i]=r[i];
for(int j=0;j<x2;j++)
b[j]=t[j];
}
void logic::OR(){
int f=strlen(a);
char c[200];
for(int i=0;i<f;i++){
if(a[i]=='1' && b[i]=='1')
c[i]='1';
else if(a[i]=='0' && b[i]=='0')
c[i]='0';
else if(a[i]=='1' && b[i]=='0')
c[i]='1';
else if(a[i]=='0' && b[i]=='1')
c[i]='1';}
for(int j=0;j<f;j++)
cout<<c[j];
}
void logic::AND(){
int f=strlen(a);
char c[200];
for(int i=0;i<f;i++){
if(a[i]=='0' && b[i]=='0')
c[i]='0';
else if(a[i]=='1' && b[i]=='1')
c[i]='1';
else if(a[i]=='1' && b[i]=='0')
c[i]='0';
else if(a[i]=='0' && b[i]=='1')
c[i]='0';}
for(int j=0;j<f;j++)
cout<<c[j];
}
void logic::XOR(){
int f=strlen(a);
char c[200];
for(int i=0;i<f;i++){
if(a[i]=='0' && b[i]=='0')
c[i]='0';
else if(a[i]=='1' && b[i]=='1')
c[i]='0';
else if(a[i]=='0' && b[i]=='1')
c[i]='1';
else if(a[i]=='1' && b[i]=='0')
c[i]='1';}
for(int j=0;j<f;j++)
cout<<c[j];
}

int main(){
char a[200],b[200];
cout<<"Enter Two Bit Strings\n";
cin.getline(a,200);
cin.getline(b,200);
cout<<"_________________________________\n";
logic f(a,b);
cout<<"OR: ";
f.OR();
cout<<endl;
cout<<"AND: ";
f.AND();
cout<<endl;
cout<<"XOR: ";
f.XOR();
getch();
}