You are on page 1of 47

DATE :

NO

: 16

AIM

: Perform sort operation on an array of integer using pointers.

#include<iostream.h>
#include<conio.h>
class array
{
int a[20],n;
public:
void getdata();
void display();
void sort();
};
void array ::getdata()
{
cout<<"Enter a limit:";
cin>>n;
cout<<"Enter an array elements ";
for(int i=0;i<n;i++)
{
cin>>a[i];
}
}
void array ::display()
{

cout<<"\nArray elements are:";


for(int i=0;i<n;i++)
{
cout<<" "<<a[i];
}
}
void array ::sort()
{
int *ptr,*ptr1,*temp;
for( int i=0;i<n-1;i++)
{
ptr=&a[i];
for(int j=i+1;j<n;j++)
{
ptr1=&a[j];
if(*ptr>*ptr1)
{
*temp= *ptr;
*ptr= *ptr1;
*ptr1=*temp;
}
ptr1++;
}
ptr++;
}

cout<<"\nAfter sorting:";
for(i=0;i<n;i++)
{
cout<<" "<<a[i];
}
}

void main()
{
array ar;
clrscr();
ar.getdata();
ar.display();
ar.sort();
getch();
}

OUTPUT :
ENTER THE SIZE OF THE ARRAY:4
ENTER THE ARRAY ELEMENTS: 8
4
9
3

ARRAY ELEMENTS ARE: 8 4 9 3


AFTER SORTING: 3 4 8 9

DATE :
NO

: 17

AIM
: Find the area of a circle, rectangle, triangle using function
overloading
#include<iostream.h>
#include<conio.h>
#include<math.h>
class shape
{
public:
void area(float);
void area(float,float);
void area(float,float,float);
}a;
void area(float r)
{
cout<<"AREA OF CIRCLE: "<<3.14*r*r;
}
void area(float l,float b)

{
cout<<"\nAREA OF RECTANGLE: "<<l*b;
}
void area(float a,float b,float c)
{
float s=(a+b+c)/2;
cout<<"\nAREA OF TRIANGLE: "<<sqrt(s*(s-a)*(s-b)*(s-c));
}
void main()
{
clrscr();
float rad,len,bred,a,b,c;
cout<<"\t**AREAS**\nENTER THE RADIOUS OF THE CIRCLE:\n";
cin>>rad;
cout<<"ENTER THE LENGTH AND BREADTH OF THE RECTANGLE:\n";
cin>>len>>bred;
cout<<"ENTER THE THREE SIDES OF THE TRIANGLE\n";
cin>>a>>b>>c;
area(rad);
area(len,bred);
area(a,b,c);
getch();
}

OUTPUT :
**AREAS**
ENTER THE RADIOUS OF THE CIRCLE:
4
ENTER THE LENGTH AND BREADTH OF THE RECTANGLE:
2
4
ENTER THE THREE SIDES OF THE TRIANGLE
3
4
5
AREA OF CIRCLE: 50.24
AREA OF RECTANGLE: 8
AREA OF TRIANGLE: 6

DATE :
NO

: 18

AIM
: Write a program to overload increment and decrement operator in
post and prefix form.
#include<iostream.h>
#include<conio.h>
class sample
{
int x,y;
public:void getdata(int i)
{
x=i;

y=i;
}
void display()
{
cout<<"X="<<x<<"\tY="<<y;
}
void operator++()
{
y=x++;
}
void operator++(int)
{
y=++x;
}
void operator--()
{
y=x--;
}
void operator--(int)
{
y=--x;
}
};

void main()

{
sample o;
int a;
clrscr();
cout<<"\nENTER THE VALUE";
cin>>a;
o.getdata(a);
cout<<"\nOVERLOADING POSTFIX INCREMENT OPERATOR:" ;
cout<<"\nVALUE BEFORE INCREMENT:";
o.display();
o++;
cout<<"\nVALUE AFTER INCREMENT:";
o.display();
cout<<"\nOVERLOADING PREFIX INCREMENT OPERATOR:" ;
cout<<"\nVALUE BEFORE INCREMENT:";
o.display();
++o;
cout<<"\nVALUE AFTER INCREMENT:";
o.display();
cout<<"\nOVERLOADING POSTFIX DECREMENT OPERATOR:" ;
cout<<"\nVALUE BEFORE DECREMENT:";
o.display();
o--;
cout<<"\nVALUE AFTER DECREMENT:";
o.display();

cout<<"\nOVERLOADING PREFIX DECREMENT OPERATOR:" ;


cout<<"\nVALUE BEFORE INCREMENT:";
o.display();
--o;
cout<<"\nVALUE AFTER DECREMENT:";
o.display();
getch();
}

OUTPUT :
ENTER THE VALUE:6
OVERLOADING POSTFIX INCREMENT OPERATOR:
VALUE BEFORE INCREMENT:X=6
VALUE AFTER INCREMENT:X=7

Y=6
Y=7

OVERLOADING PREFIX INCREMENT OPERATOR:


VALUE BEFORE INCREMENT:X=7
VALUE AFTER INCREMENT:X=8

Y=7
Y=7

OVERLOADING POSTFIX DECREMENT OPERATOR:


VALUE BEFORE DECREMENT:X=8
VALUE AFTER DECREMENT:X=7

Y=7
Y=7

OVERLOADING PREFIX DECREMENT OPERATOR:


VALUE BEFORE INCREMENT:X=7

Y=7

VALUE AFTER DECREMENT:X=6

Y=7

DATE :
NO

: 19

AIM

: Write a program to overload new and delete operator.

#include<iostream.h>
#include<conio.h>
#include<alloc.h>
#include<stdlib.h>
class nd
{
public:
nd()
{
}
void *operator new(size_t s);
void operator delete(void *p);
};
void *nd::operator new(size_t s)
{
cout<<"\nAllocate memory\n";
void *a;
cout<<"Enter a number\n";
cin>>s;
a=malloc(s);
cout<<"Memory allocated successfully\n";
return a;

}
void nd::operator delete(void *p)
{
cout<<"\n\nDelete memory\n";
free(p);
cout<<"Memory deleted successfully\n";
}
void main()
{
nd *obj;
clrscr();
cout<<"OVER LOADING NEW AND DELETE OPERATOR\n\n";
obj=new nd;
delete obj;
getch();
}

OUTPUT :
OVER LOADING NEW AND DELETE OPERATOR
Allocate memory
Enter a number
8
Memory allocated successfully
Delete memory
Memory deleted successfully

DATE :
NO

: 20

AIM

: Write a program to overload subscript operator.

#include<iostream.h>
#include<conio.h>
class time
{
int minutes;
int seconds;
public:
time(int m,int s)
{
minutes = m+s/60;
seconds=s%60;
}
void display()
{
cout<<minutes<<":"<<seconds;
}
int operator[](int in)
{

if(in==0)
return seconds;
return minutes;
}
};
void main()
{
int min,sec;
clrscr();
cout<<"Enter the Time:";
cin>>min>>sec;
time a(min,sec);
cout<<"Time is "<<a[1]<< " Minutes and "<<a[0]<<" Seconds";
getch();
}

OUTPUT :
Enter the Time:8
20
Time is 8 Minutes and 20 Seconds

DATE :
NO

: 21

AIM

: Write a program to overload function call operator.

#include<iostream.h>
#include<conio.h>
class distance
{
int feet,inches;
public:
distance()
{
feet=0;
inches=0;
}
distance(int f,int i)
{

feet=f;
inches=i;
}
distance operator()(int a,int b,int c)
{
distance d;
d.feet=a+c+10;
d.inches=b+c+100;
return d;
}
void displaydistance()
{
cout<<"F:"<<feet<<" "<<"I:"<<inches<<"\n";
}
};
void main()
{
clrscr();
distance d1(11,10),d2;
cout<<"First distance:\n";
d1.displaydistance();
d2=d1(10,10,10);
cout<<"Second distance:\n";
d2.displaydistance();
getch();

OUTPUT :
First distance:
F:11 I:10
Second distance:
F:30 I:120

DATE :

NO

: 22

AIM
: Write a program to overload binary + and using operator function
and friend function respectively.
#include<iostream.h>
#include<conio.h>
class sample
{
int x;
public:
sample()
{
}
sample(int i)
{
x=i;
}
sample operator +(sample s)
{
sample temp;
temp.x=x+s.x;
return temp;
}
friend sample operator -(sample s1,sample s2);
void display()
{

cout<<x;
}
};
sample operator -(sample s1,sample s2)
{
sample temp;
temp.x=s1.x-s2.x;
return temp;
}
void main()
{
int n;
clrscr();
cout<<"\n\tBinary + Operator overloading using Member function\n";
cout<<"\nEnter the 1st operand:";
cin>>n;
sample s1(n);
cout<<"\nEnter the 2nd operand:";
cin>>n;
sample s2(n);
cout<<"\nOperand1:";
s1.display();
cout<<"\nOperand2:";
s2.display();
sample s3;

s3=s1+s2;
cout<<"\nResult after addition:";
s3.display();
cout<<"\n\n\tBinary - Operator overloading using Friend function\n";
cout<<"\nEnter the 1st operand:";
cin>>n;
sample s4(n);
cout<<"\nEnter the 2nd operand:";
cin>>n;
sample s5(n);
cout<<"\nOperand1:";
s4.display();
cout<<"\nOperand2:";
s5.display();
sample s6;
s6=s4-s5;
cout<<"\nResult after subtraction:";
s6.display();
getch();
}

OUTPUT :
**BINARY + OPERATOR OVERLOADING USING MEMBER FUNCTION**

ENTER THE FIRST OPERAND:10

ENTER THE SECOND OPERAND:5

OPERAND1=10
OPERAND=5
RESULT AFTER ADDITION=15
**BINARY - OPERATOR OVERLOADING USING FRIEND FUNCTION**

ENTER THE FIRST OPERAND:20

ENTER THE SECOND OPERAND:5

OPERAND1=20
OPERAND2=5
RESULT AFTER SUBTRACTION=15

DATE :
NO

: 23

AIM: Overload << and >> operators as a member and as a non member
operator functions.
#include<iostream.h>
#include<conio.h>
class A
{
int x;
public:
friend void operator >>(A&, int);
void operator <<(int)
{
cout<<"\nnumber="<<x;
}
};
void operator >>(A &m1, int a)
{
m1.x=a;
}

void main()
{
A m;
clrscr();
int a;
cout<<"\n\tOverloading >> operator";
cout<<"\nEnter a number:";
cin>>a;
m>>a;
cout<<"\n\tOverloading << operator";
m<<a;
getch();
}

OUTPUT :
Overloading >> operator
Enter a number:8
Overloading << operator
number=8

DATE :
NO

: 24

AIM

: Write a program to convert all type convertions.

#include<iostream.h>
#include<conio.h>
class time
{
int hrs,mnt;
public:
time()
{
}
time(int t)
{
hrs=t/60;
mnt=t%60;
}
int gethr()
{
return hrs;
}
int getmn()
{
return mnt;
}

void display()
{
cout<<"\nhours :"<<hrs;
cout<<"\nminutes :"<<mnt;
}
};
class vector
{
int dur,hr,mn;
public:
void display()
{
cout<<"\nhours :"<<hr;
cout<<"\nminutes :"<<mn;
}
vector(time t)
{
hr=t.gethr();
mn=t.getmn();
}
vector(int t)
{
dur= t;
}
operator int()

{
hr=dur/60;
mn=dur%60;
return hr;
}
};
void main()
{
int duration;
clrscr();
cout<<"BASIC'int'TYPE TO CLASS'time' TYPE \n\n";
cout<<"Enter the duration\n";
cin>>duration;
time ti=duration;
ti.display();
cout<<"\n\nCLASS'vector'TYPE TO BASIC'int' TYPE \n\n";
cout<<"Enter the duration\n";
cin>>duration;
vector v(duration);
int h=v;
cout<<"hours :"<<h;
cout<<"\n\nCLASS'time'TYPE TO CLASS'vector'TYPE\n\n";
cout<<"Before converting class 'vector' was\n";
v.display();
cout<<"\nAfter converting class 'vector' become\n";

v=ti;
v.display();
getch();
}

OUTPUT :
BASIC'int'TYPE TO CLASS'time' TYPE
Enter the duration
520
hours :8
minutes :40

CLASS'vector'TYPE TO BASIC'int' TYPE


Enter the duration
465
hours :7

CLASS'time'TYPE TO CLASS'vector'TYPE
Before converting class 'vector' was
hours :7
minutes :45
After converting class 'vector' become
hours :8
minutes :40

DATE :
NO

: 25

AIM
: Create a class Student that contains roll no & name. Derive a class
Test from Student which contains marks of 3 subjects. Derive a class Result from
Test, that displays total marks of the 5 student. Use proper member function
inside each to initialize and display the data members.
#include<iostream.h>
#include<conio.h>
class student
{
protected:
int rno;
char name[50];
public:
void get_details()
{
cout<<"\nENTER THE ROLL NO:";
cin>>rno;
cout<<"\nENTER THE NAME OF THE STUDENT:";
cin>>name;
}
void display_details()
{
cout<<"\nROLL NUMBER:"<<rno;
cout<<"\nNAME:"<<name;
}

};
class test:public student
{
protected:
float m1,m2,m3;
public:
void get_marks()
{
cout<<"\nENTER THE MARKS OF THREE SUBJECT:";
cin>>m1>>m2>>m3;
}
void display_marks()
{
cout<<"\nMARK1="<<m1<<"\n"<<"MARK2="<<m2<<"\n"<<"MARK3="<<m3;
}
};
class result:public test
{
float tot;
public:
void display()
{
tot=m1+m2+m3;
display_details();
display_marks();

cout<<"\nTOTAL MARKS="<<tot;
}
};
void main()
{
clrscr();
result r;
r.get_details();
r.get_marks();
r.display();
getch();
}

OUTPUT :
ENTER THE ROLL NO:4
ENTER THE NAME OF THE STUDENT:ANU
ENTER THE MARKS OF THREE SUBJECT:49
48
43
ROLL NUMBER:4
NAME:ANU
MARK1=49
MARK2=48
MARK3=43
TOTAL MARKS=140

DATE :
NO
AIM
Staff.

: 26
: Create a class Staff, which contains each and name derive 3 class from
a. Teacher class : which contains subject and year of experience,.
b. Typist class: which contains speed (no.of words per minute)
c. Officer class which contains grade.
#include<iostream.h>
#include<conio.h>
class staff
{
protected:
int code;
char name[20];
public:
void getdata()
{
cout<<"ENTER THE STAFF NAME:";
cin>>name;
cout<<"ENTER THE STAFF CODE:";
cin>>code;
}
};
class teacher : public staff
{
char subject[10];
int exp;
public:
void getdata1()
{

cout<<"ENTER THE SUBJECT:";


cin>>subject;
cout<<"ENTER THE YEAR OF EXPERIENCE:";
cin>>exp;
}
void display()
{
cout<<"\nSTAFF NAME:"<<name<<"\n";
cout<<"\nSTAFF CODE:"<<code<<"\n";
cout<<"\nSUBJECT:"<<subject<<"\n";
cout<<"\nEXPERIENCE:"<<exp<<"\n";
}
};
class typist : public staff
{
int speed;
public:
void getdata2()
{
cout<<"ENTER THE TYPING SPEED PER MINUTE:";
cin>>speed;
}
void display1()
{
cout<<"\nSTAFF NAME:"<<name<<"\n";
cout<<"\nSTAFF CODE:"<<code<<"\n";
cout<<"\nSPEED OF TYPING:"<<speed<<"\n";
}
};
class officer : public staff
{
char grade;
public:
void getdata3()
{
cout<<"ENTER THE GRADE OF OFFICER:";
cin>>grade;
}
void display2()
{
cout<<"\nSTAFF NAME:"<<name<<"\n";
cout<<"\nSTAFF CODE:"<<code<<"\n";
cout<<"\nGRADE:"<<grade<<"\n";

}
};
void main()
{
clrscr();
cout<<"**DETAILS OF TEACHER**\n";
teacher t;
t.getdata();
t.getdata1();
t.display();
cout<<"**DETAILS OF TYPIST**\n";
typist t1;
t1.getdata();
t1.getdata2();
t1.display1();
cout<<"**DETAILS OF OFFICER**\n";
officer o;
o.getdata();
o.getdata3();
o.display2();
getch();
}

OUTPUT :
**DETAILS OF TEACHER**
ENTER THE STAFF NAME:KAVYA
ENTER THE STAFF CODE:251
ENTER THE SUBJECT:MATHS
ENTER THE YEAR OF EXPERIENCE:3

STAFF NAME:KAVYA
STAFF CODE:251
SUBJECT:MATHS
EXPERIENCE:3

**DETAILS OF TYPIST**
ENTER THE STAFF NAME:NEETHU
ENTER THE STAFF CODE:261
ENTER THE TYPING SPEED PER MINUTE:32

STAFF NAME:NEETHU
STAFF CODE:261
SPEED OF TYPING:32

**DETAILS OF OFFICER**
ENTER THE STAFF NAME:ANITHA
ENTER THE STAFF CODE:281
ENTER THE GRADE OF OFFICER:B

STAFF NAME:ANITHA
STAFF CODE:281
GRADE:B

DATE :
NO
AIM

: 27
: Create a class employee which contains employee id and name. Derive

two classes account with amount and administrator with experience from
employee.Derive another class person that deals with all the information in above
the three classes. Define all the four classes and write a program to create and
display all the information contains in the person class.
#include<iostream.h>
#include<conio.h>
class employee
{
protected:
int id;
char name[10];
public:
void getdata()
{
cout<<"ENTER THE EMPLOYEE NAME:";
cin>>name;
cout<<"ENTER THE EMPLOYEE ID:";
cin>>id;
}
};
class account : public virtual employee
{

protected:
int amount:
public:
void getdata1()
{
cout<<"ENTER THE AMOUNT:";
cin>>amount;
}
};
class administrator : public virtual employee
{
protected:
int exp;
public:
void getdata2()
{
cout<<"ENTER THE NUMBER OF EXPERIENCE:";
cin>>exp;
}
};
class person : public account,public administrator
{
public:
void display()
{

cout<<"\n**DETAILS OF EMPLOYEE**\n";
cout<<"EMPLOYEE NAME:"<<name<<"\n";
cout<<"EMPLOYEE ID:"<<id<<"\n";
cout<<"AMOUNT:"<<amount<<"\n";
cout<<"EXPERIENCE:"<<exp<<"\n";
}
};
void main()
{
clrscr();
person p;
p.getdata();
p.getdata1();
p.getdata2();
p.display();
getch();
}

OUTPUT :
ENTER THE EMPLOYEE NAME:ANIL
ENTER THE EMPLOYEE ID:121
ENTER THE AMOUNT:5000
ENTER THE NUMBER OF EXPERIENCE:3

**DETAILS OF EMPLOYEE**
EMPLOYEE NAME:ANIL

EMPLOYEE ID:121
AMOUNT:5000
EXPERIENCE:3

DATE :
NO

: 28

AIM: Create a base class shape. Derive 2 classes triangle and rectangle from
shape.The member function display() and area() is used to compute and display
the area of figures. Make displayarea as a virtual function in the derived classes
to suite their requirement
#include<iostream.h>
#include<conio.h>
#include<math.h>
class shape
{
public:
virtual void dis_area()=0;

};
class tri:public shape

{
float a,b,c;
public:
void read()
{
cout<<"ENTER THE SIDES OF THE TRIANGLE:";
cin>>a>>b>>c;
}
void dis_area()
{
float s=(a+b+c)/2;
cout<<"AREA OF THE TRIANGLE:"<< sqrt(s*(s-a)*(s-b)*(sc));
}
};
class rect:public shape
{
float l,b;
public:
void read()

{
cout<<"ENTER THE LENGTH AND BREADTH OF
RECTANGLE:";
cin>>l>>b;
}
void dis_area()
{
cout<<"\nAREA OF RECTANGLE:"<<l*b;
}
};
void main()
{
tri t;
rect r;
shape *s;
clrscr();
cout<<"\t\tAREA OF SHAPES\n\n";
t.read();
r.read();
s=&t;

s->dis_area();
s=&r;
s->dis_area();
getch();
}

OUTPUT :
AREA OF SHAPES
ENTER THE SIDES OF THE TRIANGLE:3
4
5
ENTER THE LENGTH AND BREADTH OF RECTANGLE:4
3
AREA OF THE TRIANGLE:6
AREA OF RECTANGLE:12

You might also like