Thursday, October 15, 2009

3 bit adder

#include<iostream>

using namespace std;



class addition
{
      int p[8],q[8],r[8],cr,i,n;
      public:
             void getdata();
             void add();
             void display();
      };

void addition::getdata()
{
     cout<<"enter the 1st binary no.:";
     for(i=0;i<=7;i++)
     cin>>p[i];
     cout<<"enter the 2nd binary no.:";
     for(i=0;i<=7;i++)
     cin>>q[i];
     cout<<"enter the 3rd binary no.:";
     for(i=0;i<=7;i++)
     cin>>r[i];
}

void addition::add()
{
     cr=0;
 for(i=7;i>=0;i--)
     {
                      if(p[i]==0&&q[i]==0&&cr==0)
                      {
                                                  q[i]=0;
                                                  cr=0;
                                                  }
                      else if(p[i]==0&&q[i]==0&&cr==1)
                      {
                                                  q[i]=1;
                                                  cr=0;
                                                  }
                      else if(p[i]==0&&q[i]==1&&cr==0)
                      {
                                                  q[i]=1;
                                                  cr=0;
                                                  }
                      else if(p[i]==0&&q[i]==1&&cr==1)
                      {
                                                  q[i]=0;
                                                  cr=1;
                                                  }
                      else if(p[i]==1&&q[i]==0&&cr==0)
                      {
                                                  q[i]=1;
                                                  cr=0;
                                                  }
                      else if(p[i]==1&&q[i]==0&&cr==1)
                      {
                                                  q[i]=0;
                                                  cr=1;
                                                  }
                      else if(p[i]==1&&q[i]==1&&cr==0)
                      {
                                                  q[i]=0;
                                                  cr=1;
                                                  }
                      else if(p[i]==1&&q[i]==1&&cr==1)
                      {
                                                  q[i]=1;
                                                  cr=1;
                                                  }
                                                  }
for(i=7;i>=0;i--)
     {
                      if(r[i]==0&&q[i]==0&&cr==0)
                      {
                                                  r[i]=0;
                                                  cr=0;
                                                  }
                      else if(r[i]==0&&q[i]==0&&cr==1)
                      {
                                                  r[i]=1;
                                                  cr=0;
                                                  }
                      else if(r[i]==0&&q[i]==1&&cr==0)
                      {
                                                  r[i]=1;
                                                  cr=0;
                                                  }
                      else if(r[i]==0&&q[i]==1&&cr==1)
                      {
                                                  r[i]=0;
                                                  cr=1;
                                                  }
                      else if(r[i]==1&&q[i]==0&&cr==0)
                      {
                                                  r[i]=1;
                                                  cr=0;
                                                  }
                      else if(r[i]==1&&q[i]==0&&cr==1)
                      {
                                                  r[i]=0;
                                                  cr=1;
                                                  }
                      else if(r[i]==1&&q[i]==1&&cr==0)
                      {
                                                  p[i]=0;
                                                  cr=1;
                                                  }
                      else if(r[i]==1&&q[i]==1&&cr==1)
                      {
                                                  r[i]=1;
                                                  cr=1;
                                                  }
                                                  }
}
void addition::display()
{
     cout<<"the additon is:";
     for(i=0;i<=7;i++)
     cout<<r[i];
}

     int main()
     {int ch;
    
          addition a;
          L1:a.getdata();
          a.add();
          a.display();
          cout<<"\ndo you wish to continue:\n1.yes\n2.no\nenter achoice:";
          cin>>ch;
          if(ch==1)
          goto L1;
          }

No comments:

Post a Comment