Read in your tongue here..

Sunday, December 8, 2013

Ambiguity in Multiple Inheritance

#include<iostream.h>
#include<conio.h>
class first{
    protected:
        int num;    //same data member name
    public:
        void func(int x)    //same member function name
        {
            num=x;
            cout<<"\nFirst Num= "<<num;
        }
};
class second{
    protected:
        int num;    //same data member name
    public:
        void func(int y)    //same member function name
        {
            num=y;
            cout<<"\nSecond Num= "<<num;
        }
};
class third: public first, public second{
    int num;    //same data member name
    public:
    void func(void)        //same member function name
    {

        num=first::num+second::num;
        cout<<"\nSum of both Num= "<<num;
    }
};
void main()
{
    third ob;        //creating object for class third
    ob.first::func(3);    //calling func of class first for ob
    ob.second::func(45);    //calling func of class second for ob
    ob.func();        //calling func of class third for ob
    getch();
    clrscr();
}

Saturday, December 7, 2013

Multiple Inheritance

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
class item{
    protected:
        char iname[45];
        int icode,stock,re_order;
        float price;
    public:
        void getitem(char in[], int ic, int s, int re, float p)
        {
            strcpy(iname,in);
            icode=ic;
            stock=s;
            re_order=re;
            price=p;
        }
};
class order{
    protected:
        int quan,inum,custid;
        char custname[45],date[11];
    public:
           void getorder(int q, int ino, int cid, char cn[], char d[])
        {
            quan=q;
            inum=ino;
            custid=cid;
            strcpy(custname,cn);
            strcpy(date,d);
        }
};
class sales:public item, public order{
    protected:
        char dos[11];
    public:
        void salesmade(char ds[])
        {
            strcpy(dos,ds);
            if(stock<=re_order||stock<quan)
                cout<<"Insufficient Stock!!!";
            else
            {
                cout<<"\n\t*****BILL*****\n\nItem's Details:";
                cout<<"\nItem Name:"<<iname;
                cout<<"\tItem Code: "<<icode;
                cout<<"\nCurrent Stock= "<<stock;
                cout<<"\tRe-order value= "<<re_order;
                cout<<"\nCost of item=Rs."<<price<<"/unit\n";
                cout<<"\nCustomer's Details:\n";
                cout<<"Customer's Name: "<<custname;
                cout<<"\tCustomer's ID: "<<custid;
                cout<<"\nItem Number: "<<inum;
                cout<<"\nNumber of item bought: "<<quan;
                cout<<"\tOrder Date: "<<date;
                cout<<"\nAmount Payable=Rs."<<quan*price;
                cout<<"\t\tBilling Date: "<<dos<<endl;
            }
        }
};
void main()
{
    char in[10],cn[45],d[11],ds[11];
    int ic,s,re,cid,q,ino;
    float p;
    cout<<"\n\tEnter item's details:\nName:";
    gets(in);
    cout<<"Code:";
    cin>>ic;
    cout<<"Current Stock:";
    cin>>s;
    cout<<"Re-order value:";
    cin>>re;
    cout<<"Price per unit:";
    cin>>p;
    cout<<"\nEnter Customer's Details:\nName:";
    gets(cn);
    cout<<"Id:";
    cin>>cid;
    cout<<"Enter item number:";
    cin>>ino;
    cout<<"Enter number of item(s) bought:";
    cin>>q;
    cout<<"Enter order date (dd/mm/yyyy):";
    gets(d);
    cout<<"Enter billing date (dd/mm/yyyy):";
    gets(ds);
    sales ob;
    ob.getitem(in,ic,s,re,p);
    ob.getorder(q,ino,cid,cn,d);
    ob.salesmade(ds);
    getch();
    clrscr();
}

Function Overriding

#include<stdlib.h>
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
class account{
    protected:
        char name[45],add[100],city[45],state[45],phone[11];
    public:
        account(char n[], char a[], char c[], char s[], char p[])
        {
            strcpy(name,n);
            strcpy(add,a);
            strcpy(city,c);
            strcpy(state,s);
            strcpy(phone,p);
        }
        void display(void)
        {
            cout<<"\n\tCustomer Details:\n";
            cout<<"\nName: "<<name<<"\nAddress: "<<add;
            cout<<"\nCity: "<<city<<"\nState: "<<state<<"\nContact Number: "<<phone<<endl;
        }
};
class current:public account
{
    protected:
        float crlim;
        char acno_c[11];
    public:
        current(char n[], char a[], char c[], char s[], char p[], float crl, char acnc[]):account(n,a,c,s,p)
        {
            crlim=crl;
            strcpy(acno_c,acnc);
        }
        void display(void)
        {
            cout<<"\n\n\tCurrent Account Details:";
            cout<<"\n\nAccount Number: "<<acno_c;
            cout<<"\nCredit Limit= "<<crlim<<endl;
        }
};
class savings:public current{
    protected:
        float bal;
        char acno_s[11];
    public:
        savings(char n[], char a[], char c[], char s[], char p[], float crl, char acnc[], float b, char acns[]):current(n,a,c,s,p,crl,acnc)
        {
            bal=b;
            strcpy(acno_s,acns);
        }
    void display(void)
    {
        cout<<"\n\n\tSavings Account details:";
        cout<<"\n\nAccount Number: "<<acno_s<<"\nBalance= "<<bal<<endl;
    }
};
class credit:public savings{
    protected:
        float amtcr;
    public:
        char cho;
        credit(char n[], char a[], char c[], char s[], char p[], float crl, char acnc[], float b, char acns[], float cr):savings(n,a,c,s,p,crl,acnc,b,acns)
        {
            if(cr==0);
            else
            {
                amtcr=cr;
                cout<<"\nEnter C for Current account or S for Savings account:";
                cho=getche();
                if(cho=='C'||cho=='c')
                {
                    if(crlim<amtcr)
                        cout<<"\nInsufficient Balance!!!\n";
                    else
                    {
                        cout<<"\nPrevious Limit=Rs."<<crlim;
                        crlim-=amtcr;
                        cout<<"\nAmount Credited=Rs."<<amtcr;
                        cout<<"\nNet Credit Limit=Rs."<<crlim<<endl;
                    }
                }
                else if(cho=='S'||cho=='s')
                {
                    if(bal<amtcr)
                        cout<<"\nInsufficient Balance!!!"<<endl;
                    else
                    {
                        cout<<"\nPrevious Balance=Rs."<<bal;
                        bal-=amtcr;
                        cout<<"\nAmount Credited=Rs."<<amtcr;
                        cout<<"\nNet Balance=Rs."<<bal<<endl;
                    }
                }
                else
                    cout<<"\nWrong Input!!!\n";
            }
        }
};
class debit:public credit{
    protected:
        float amtdr;
    public:
        char cho;
        debit(char n[], char a[], char c[], char s[], char p[], float crl, char acnc[], float b, char acns[], float cr, float dr):credit(n,a,c,s,p,crl,acnc,b,acns,cr)
        {
            amtdr=dr;
            cout<<"\nEnter C for Current account or S for Savings account:";
            cho=getche();
            if(cho=='C'||cho=='c')
            {
                cout<<"\nPrevious Limit=Rs."<<crlim;
                crlim+=amtdr;
                cout<<"\nAmount Debited=Rs."<<amtdr;
                cout<<"\nNet Credit Limti=Rs."<<crlim<<endl;
            }
            else if(cho=='S'||cho=='s')
            {
                cout<<"\nPrevious Balance=Rs."<<bal;
                bal+=amtdr;
                cout<<"\nAmount Debited=Rs."<<amtdr;
                cout<<"\nNet Balance=Rs."<<bal<<endl;
            }
            else
                cout<<"\nWrong Input!!!\n";
        }
};
void main()
{
    char n[45],a[45],c[45],s[45],p[45],acnc[11],acns[11];
    float crl,b,cr,dr;
    int cho;
    cout<<"\nEnter customer's details:\nName:";
    gets(n);
    cout<<"Address:";
    gets(a);
    cout<<"City:";
    gets(c);
    cout<<"State:";
    gets(s);
    cout<<"Contact Number:";
    gets(p);
    cout<<"Enter Current Account Details:\nCredit Limit:";
    cin>>crl;
    cout<<"Account Number:";
    gets(acnc);
    cout<<"Enter Savings Account Details:\nBalance:";
    cin>>b;
    cout<<"Account Number:";
    cin>>acns;
    while(1)
    {
        cout<<"\n1.Display Customer's Details\n2.Display Current Account Details\n3.Display Savings Account Details\n4.Credit\n5.Debit\n6.Exit\nEnter Choice:";
        cin>>cho;
        if(cho==1)
        {
            account cust(n,a,c,s,p);
            cust.display();
        }
        else if(cho==2)
        {
            current cust(n,a,c,s,p,crl,acnc);
            cust.display();
        }
        else if(cho==3)
        {
            savings cust(n,a,c,s,p,crl,acnc,b,acns);
            cust.display();
        }
        else if(cho==4)
        {
            cout<<"Enter amount to be credited:";
            cin>>cr;
            credit cust(n,a,c,s,p,crl,acnc,b,acns,cr);
        }
        else if(cho==5)
        {
            cout<<"Enter amount to be debited:";
            cin>>dr;
            debit cust(n,a,c,s,p,crl,acnc,b,acns,0,dr);
        }
        else if(cho==6)
        {
            clrscr();
            exit(0);
        }
        else
            cout<<"\nWrong Input!!!\n";
    }
}

Sunday, December 1, 2013

Multilevel Inheritance

#include<iostream.h>
#include<conio.h>
#include<string.h>
class stu{
    protected:
        int roll;
        char name[45],course[10];
    public:
        stu(int r, char n[], char c[])
        {
            roll=r;
            strcpy(course,c);
            strcpy(name,n);
        }
};
class exam:public stu
{
    protected:
        int marks[3];
    public:
        exam(int r, char n[], char c[], int *m):stu(r,c,n)
        {
            marks[0]=*m;
            marks[1]=*(m+1);
            marks[2]=*(m+2);
        }
};
class result:public exam
{
    protected:
        int total; float avg;
    public:
        result(int r, char n[], char c[], int *m):exam(r,c,n,m)
        {
            total=marks[0]+marks[1]+marks[2];
            avg=total/3;
        }
        void display(void)
        {
            cout<<"\nName: "<<name<<"\nRoll: "<<roll<<"\nCourse: "<<course<<"\nMarks: "<<marks[0]<<' '<<marks[1]<<' '<<marks[2]<<"\nTotal= "<<total<<"\nAverage= "<<avg;
        }
};
void main()
{
    int m[]={100,98,99};
    result ob1(03,"Rahul Kumar","B.C.A",m);
    ob1.display();
    getch();
    clrscr();
}

Monday, October 21, 2013

Storing and displaying student's details using Structure in C++

class stu{
    char g,name[45],course[10],sem[10],ses[9],sub[5][10];
    int roll;
    float marks[5],t,p;
}s[10];
#include<iostream.h>
#include<conio.h>
void main()
{
    int i=0,j=0;
    while(j!=10)
    {
        cout<<"Enter details of student "<<j<<":"<<endl;
        cout<<"Enter name:"
        cin>>s[j].name;
        cout<<"Enter roll number:";
        cin>>roll;
        cout<<"Enter course:";
        cin>>s[j].course;
        cout<<"Enter session:";
        cin>>ses;
        cout<<"Enter semester:";
        cin>>sem;
        cout<<"Enter subjects:"
        while(i!=5)
        {
            cout<<"Enter subject "<<i-1<<':';
            cin>>s[j].sub[i];
            cout<<"Enter marks obtained:";
            cin>>s[j].marks[i];
            s[j].t=s[j].t+s[j].marks[i];
            i++;
        }
        s[j].p=s[j].t/5;
        j++;
    }
    i=j=0;
    while(j!=0)
    {
        clrscr();
        cout<<"\t\t Marks Details\n";
        cout<<"Course: "<<s[j].course<<"\t\tSemester: "<<s[j].sem;
        cout<<"\nRoll: "<<s[j].roll<<"\t\tSession: "<<s[j].ses;
        cout<<"\nName: "<<s[j].name<<"\nSubjects: ";
        while(i!=5)
        {
            cout<<s[j].sub[i]<<" ";
            i++;
        }
        cout<<'|'<<s[j].sub[0]<<'|'<<s[j].sub[1]<<'|'<<s[j].sub[2]<<'|'<<s[j].sub[3]<<'|'<<s[j].sub[4]<<endl;
        cout<<'|'<<s[j].marks[0]<<'|'<<s[j].marks[1]<<'|'<<s[j].marks[2]<<'|'<<s[j].marks[3]<<'|'<<s[j].marks[4]<<endl;
        cout<<"\nTotal: "<<s[j].t<<"\t\t Percentage: "<<s[j].p;
        cout<<"\tGrade: "<<s[j].g;
        j++;
    }
}

Basics in Classes using C++.

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
class stu{
    public:
        int roll,m[3];
        char name[45];
    void input()
    {
        cout<<"Enter roll number:";
        cin>>roll;
        cout<<"Enter name:";
        gets(name);
        cout<<"Enter marks of three subjects:";
        cin>>m[0]>>m[1]>>m[2];
    }
    int total()
    {
        return(m[0]+m[1]+m[2]);
    }
    void display()
    {
        cout<<"Name:"<<name<<"\tRoll number: "<<roll;
        cout<<"\nMarks of three subjects: "<<m[0]<<'\t'<<m[1]<<'\t'<<m[2];
        cout<<"\n\tTotal marks= "<<total();
        cout<<endl;
    }

};
void main()
{
    stu s1,s2;
    s1.input();
    s2.input();
    s1.display();
    s2.display();
    getch();
    clrscr();
}

Sunday, October 20, 2013

Calculating total number of words and lines in a string using C++.

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main()
{
    char stm[100];
    cout<<"Enter string:";
    gets(stm);
    int i,s=0,l=0;
    for(i=0;stm[i]!=NULL;i++)
    {
        if(stm[i]==' ')
            s++;
        if(stm[i]=='.')
            l++;
    }
    cout<<"Total number of:\nWords="<<s+1<<"\nLines="<<l;
    getch();
    clrscr();
}

Finding number of characters, spaces, lower and upper case characters in C++.

#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
void main()
{
    char stm[345];
    int l,i,s=0,up=0,lw=0,c;
    cout<<"Enter string:";
    gets(stm);
    l=strlen(stm);
    for(i=0;i<l;i++)
    {
        if(stm[i]==' ')
            s++;
        if(isupper(stm[i]))
           up++;
        if(islower(stm[i]))
           lw++;
    }
    cout<<"Total number of: \nCharacters=";
    cout<<l<<"\nSpaces="<<s<<"\nLower case characters="<<lw<<"\nUpper case characters="<<up;
    getch();
    clrscr();
}

Sunday, October 6, 2013

Stroing student's details using array in c++.

#define size 10
#include<iostream.h>
#include<conio.h>
void main()
{
    void line(void);
    char g[size],name[size][45],course[size][5],sem[size][10],ses[size][10],sub[size][5][20];
    int roll[size],i=0,j=0;
    float m[size][5],t[size],p[size],sum=0;
    cout<<"Enter details:\n";
    while(i!=size)
    {
        cout<<"Student "<<i+1<<":\nName:";
        cin>>name[i];
        cout<<"Roll:";
        cin>>roll[i];
        cout<<"Enter course:";
        cin>>course[i];
        cout<<"Enter semester:";
        cin>>sem[i];
        cout<<"Enter session:";
        cin>>ses[i];
        while(j!=5)
        {
            cout<<"Enter subject "<<j+1<<':';
            cin>>sub[i][j];
            cout<<"Enter marks obtained in "<<sub[i][j]<<':';
            cin>>m[i][j];
            sum=sum+m[i][j];
            j++;
        }
        t[i]=sum;
        p[i]=t[i]/5;
        if(p[i]>=75)
            g[i]='A';
        else if(p[i]>=60)
            g[i]='B';
        else if(p[i]>=50)
            g[i]='C';
        else
            g[i]='F';

        i++;
        j=0;
        sum=0;
        clrscr();
    }
    i=0;
    cout<<"\n\tMarks Details\n***********************************\n";
    while(i!=size)
    {
        cout<<"|Course: "<<course[i]<<"\tSemester: "<<sem[i];
        cout<<"   |\n|Roll: "<<roll[i]<<"\tSession: "<<ses[i];
        cout<<"|\n|Name: "<<name[i]<<endl<<"|Subjects:\n";
        line();
        cout<<endl;
        for(j=0;j<5;j++)
            cout<<'|'<<sub[i][j]<<"|\t";
        cout<<endl;
        line();
        cout<<endl;
        for(j=0;j<5;j++)
            cout<<'|'<<m[i][j]<<"|\t";
        cout<<endl;
        line();
        cout<<"\n|Total: "<<t[i]<<"\t|Percentage: "<<p[i];
        cout<<"\n\t  Grade: "<<g[i]<<endl;
        i++;
        line();
    }
    getch();
    clrscr();
}
void line (void)
{
    int i=0;
    while(i!=38)
    {
        cout<<'-';
        i++;
    }
}

Monday, July 8, 2013

Circular Linked List (singly)...

#include<alloc.h>
struct list{
      int data;
      struct list *next;
}*head=NULL,*temp,*node;
void laado(void),infirst(void), inpos(void), inlast(void), delfront(void), delpos(void), dellast(void), display(void), count(void);
int num,pos,empty(void);
char con;
int empty(void)
{
      if(head==NULL)
      {
            clrscr();
            printf("List is empty!!!");
            return 1;
      }
      else
            return 0;
}
void main()
{
printf("\nMain Menu\n1.Insert at first\n2.Insert at specified position\n3.Insert at last\n4.Delete first\n5.Delete specified position\n6.Delete from last\n7.Display\n8.Count number of nodes\n9.Exit\nEnter choice:");
      scanf("%d",&num);
      clrscr();
      switch(num)
      {
            case 1:
                  infirst();
                  break;
            case 2:
                  inpos();
                  break;
            case 3:
                  inlast();
                  break;
            case 4:
                  delfront();
                  break;
            case 5:
                  delpos();
                  break;
            case 6:
                  dellast();
                  break;
            case 7:
                  display();
                  break;
            case 8:
                  count();
                  break;
            case 9:
                  clrscr();
                  exit();
            case 45:
                  laado();
                  break;
            default:
                  clrscr();
                  puts("\nWRONG INPUT!!");
      }
      main();
}
void infirst(void)
{
      do
      {
            printf("Enter number:");
            scanf("%d",&num);
            if(head==NULL)
            {
                  head=(struct list*)malloc(sizeof(struct list));
                  head->data=num;
                  head->next=head;
            }
            else
            {
                  temp=head;
                  while(temp->next!=head)
                        temp=temp->next;
                  node=(struct list*)malloc(sizeof(struct list));
                  node->data=num;
                  node->next=head;
                  temp->next=node;
                  head=node;
            }
            printf("Continue [y/n]?:");
            con=getche();
      }while(con=='y'||con=='Y');
}
void inpos(void)
{
      do
      {
            num=0;
            temp=head;
            printf("Enter position to insert at:");
            scanf("%d",&pos);
            while(temp->next!=head)
            {
                  num++;
                  if(num==pos-1)
                        break;
                  temp=temp->next;
            }
            printf("Enter number:");
            scanf("%d",&num);
            node=(struct list*)malloc(sizeof(struct list));
            node->data=num;
            node->next=temp->next;
            temp->next=node;
            printf("Continue [y/n]?:");
            con=getche();
      } while(con=='y'||con=='Y');
}
void inlast(void)
{
      do
      {
            printf("\nEnter number:");
            scanf("%d",&num);
            temp=head;
            while(temp->next!=head)
                  temp=temp->next;
            node=(struct list *)malloc(sizeof(struct list));
            node->data=num;
            node->next=head;
            temp->next=node;
            printf("\nContinue [y/n]?:");
            con=getche();
      } while(con=='y'||con=='Y');
}

void delfront(void)
{
      do
      {
            if(empty()==1) break;
            else
            {
                  temp=head;
                  while(temp->next!=head)
                        temp=temp->next;
                  if(temp==head)
                  {
                        free(head);
                        head=NULL;
                  }
                  else
                  {
                        temp->next=head->next;
                        free(head);
                        head=temp->next;
                  }
                  printf("Continue [y/n]?:");
                  con=getche();
            }
      }while(con=='y'||con=='Y');
}
void delpos(void)
{
      do
      {
            if(empty()==1) break;
            if(head->next==head)
            {
                  free(head);
                  head=NULL;
            }
            else
            {
                  num=0;
                  temp=head;
                  printf("Enter position:");
                  scanf("%d",&pos);
                  while(temp->next!=head)
                  {
                        num++;
                        if(num==pos-1)
                              break;
                        temp=temp->next;
                  }
                  node=temp->next->next;
                  free(temp->next);
                  temp->next=node;
                  printf("Continue [y/n]?:");
                  con=getche();
            }
      }while(con=='y'||con=='Y');
}
void dellast(void)
{
      do
      {
            if(empty()==1) break;
            else
            {
                  temp=head;
                  while(temp->next!=head)
                  {
                        node=temp;
                        temp=temp->next;
                  }
                  if(temp==head)
                  {
                        free(head);
                        head=NULL;
                  }
                  else
                  {
                        node->next=head;
                        free(temp);
                  }
                  printf("Continue [y/n]?:");
                  con=getche();
            }
      } while(con=='y'||con=='Y');
}

void display(void)
{
      if(empty()==1) return;
      else
      {
            for(temp=head;temp->next!=head;temp=temp->next)
                  printf("%d ",temp->data);
            printf("%d",temp->data);
      }
}

void count(void)
{
      if(empty()==1);
      else
      {
            num=1;
            temp=head;
            while(temp->next!=head)
            {
                  num++;
                  temp=temp->next;
            }
            printf("Total number of nodes=%d",num);
      }
}
void laado(void)
{
      clrscr();
      temp=head;
      printf("Dynamic View of the list:\n");
      while(temp->next!=head)
      {
            printf("[%u|%d|%u]--->",temp,temp->data,temp->next);
            temp=temp->next;
      }
      printf("[%u|%d|%u]",temp,temp->data,temp->next,head);
}

Priority Queue...

#define size 5
struct que{
      int n,p;
}num;
void in(void), del(void), dis(void);
int list[size],front=0,rear=0;
char con;
void main()
{
      printf("\n\n\tMain Menu\n1.Insert\n2.Delete\n3.Display\n4.Exit\nEnter Choice:");
      scanf("%d",&num.n);
      clrscr();
      switch(num.n)
      {
            case 1:
                  in(); break;
            case 2:
                  del();      break;
            case 3:
                  dis();      break;
            case 4:
                  exit();
            default:
                  puts("WRONG INPUT!!!");
      }
      main();
}
void in(void)
{
      do
      {
            if(rear==size)
            {
                  puts("Queue is full!!");
                  break;
            }
            else
            {
                  printf("\nEnter number with its priority value respectively:");
                  scanf("%d %d",&num.n,&num.p);
                  rear++;
                  list[num.p-1]=num.n;
                  printf("Press y to continue:");
                  con=getche();
            }
      }while(con=='y'||con=='Y');
}
void del(void)
{
      do
      {
            if(rear==front)
            {
                  puts("Queue is empty!!!");
                  break;
            }
            else
            {
                  front++;
                  puts("Continue? [y/n]:");
                  con=getche();
            }
      }while(con=='y'||con=='Y');
}
void dis(void)
{
      if(front==rear)
            printf("Queue is empty!!!");
      else
      {
            printf("The queue is: ");
            for(num.n=front;num.n<rear;num.n++)
                  printf("%d ",list[num.n]);
      }
}

Friday, June 28, 2013

Twin Prime Numbers

void main()
{
     int t=0,x,n=1,i,p=0,n2;
     printf("Enter number of terms:");
     scanf("%d",&x);
     while(t<x)
     {
     for(i=1;i<=n;i++)
           if(n%i==0)
                p++;
     if(p==2)
     {
           p=0;
           n2=n+2;
           for(i=1;i<=n2;i++)
                if(n2%i==0)
                     p++;
           if(p==2)
           {
                printf("(%d,%d) ",n,n2);
                t++;
           }
     }
     p=0;
     n+=2;
     }
     getch();
     clrscr();
}