Bharathiar University C ++ Practical Programs for MCA 2nd year students
To Download This Program as a Document Click the below Download button to download.
C++ Programs List
1. Operator Overloading
2. Type Conversion
3. String Manipulation
4. Pay Roll Using File Concept
5. Minimum and Maximum Using Template
6. Mark Statement Using Hybrid Inheritance
7. Polymorphism
8. Finding Area Of Circle Using Friend Function
9. Matrix Manipulation using Friend Function
10.Random
Access Files
Program-1
(Operator Overloading)
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
class opera
{
int a,b;
public:
void input();
void output();
opera operator *(opera ob1);
void operator <(opera ob2);
void operator &&(opera ob3);
friend
istream&operator>>(istream &input,opera ob4);
friend
ostream&operator<<(ostream &output,opera ob4);
};
void opera::input()
{
cout<<"\nEnter The Value
For A and B:";
cin>>a>>b;
}
void opera::output()
{
cout<<"\nA="<<a<<"\tB="<<b;
}
opera opera::operator *(opera ob1)
{
opera t;
t.a=a*ob1.a;
t.b=b*ob1.b;
return t;
}
void opera::operator<(opera ob2)
{
if((a<ob2.a)&&(b<ob2.b))
cout<<"\nA is Lessthen
B";
else
if((a>ob2.a)&&(b>ob2.b))
cout<<"\nB is Lessthen
A";
else
cout<<"\nInvalid No";
}
void opera::operator&&(opera
ob3)
{
if((a==ob3.a)&&(b==ob3.b))
cout<<"\nThe Condition Is
ture";
else
cout<<"\nThe Condition Is
Flash";
}
istream&operator>>(istream
&input,opera ob4)
{
input>>ob4.a>>ob4.b;
return(input);
}
ostream&operator<<(ostream
&output,opera ob4)
{
output<<ob4.a<<"\t"<<ob4.b;
return(output);
}
void main()
{
opera obj1,obj2;
int opt;
clrscr();
for(;;)
{
cout<<"\nOperating
Overloading\n**************************";
cout<<"\n1.Arith\n2.Relational\n3.Logical\n4.Input
and Output\n5.exit";
cout<<"\nEnter Your
choice: ";
cin>>opt;
switch(opt)
{
case 1:
cout<<"\n\tArith";
obj1.input();
obj2.input();
opera obj3;
obj3=obj1*obj2;
obj3.output();
break;
case 2:
cout<<"\nRelational
";
obj1.input();
obj2.input();
obj1<obj2;
break;
case 3:
cout<<"\nLgical";
obj1.input();
obj2.input();
obj1&&obj2;
break;
case 4:
cout<<"\n\tInput &
Output Operator(<<>>)\n";
opera obj4;
cout<<"\nEnter the value
for object 4:";
cin>>obj4;
cout<<"\nThe object Value
Are: \n"<<obj4;
break;
case 5:
exit(0);
break;
default:
cout<<"\nYour Choice Is
Wrong Enter Right no";
}
}
}
Program-2
(Type Conversion)
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<dos.h>
class polar
{
double radi,angle;
public:
polar()
{
radi=angle=0;
}
polar(double r,double a)
{
radi=r;
angle=a;
}
double getr()
{
return radi;
}
double geta()
{
return angle;
}
void disp()
{
cout<<"\nRadious:"<<radi<<"\tAngle:"<<angle;
}
};
class coord
{
double x,y;
public:
coord()
{
x=y=0;
}
coord(double xc,double yc)
{
x=xc;
y=yc;
}
coord(polar p)
{
float ra=p.getr();
float an=p.geta();
x=ra*cos(an);
y=ra*sin(an);
}
void disp1()
{
cout<<"\nX:
"<<x<<"\ty: "<<y;
}
};
class sint
{
long int p,n,r;
double si;
public:
sint()
{
si=p=n=r=0;
}
sint(long int pi)
{
p=pi;
n=2;
r=5;
}
void output()
{
si=(p*n*r)/100;
cout<<"\nInterst Is
:"<<si;
}
operator double()
{
return si;
}
};
void main()
{
int opt;
clrscr();
for(;;)
{
clrscr();
cout<<"\nType
Conversion";
cout<<"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\n1.from Basic Type
to Class";
cout<<"\n2.From Class Type
to Basic";
cout<<"\n3.From class Tupe
to Another Class Type";
cout<<"\n4.Exit";
cout<<"\nEnter Your
Choice: ";
cin>>opt;
switch(opt)
{
case 1:
cout<<"\nType
Conversion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\nFrom Basic Type To
Class Type ";
sint siob;
int amt;
cout<<"\nEnter the value
for Principle Amount:";
cin>>amt;
siob=amt;
siob.output();
sleep(3);
break;
case 2:
cout<<"\nType
Conversion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\nFrom Class Type
To Basic Type ";
sint ob;
ob=25466;
double irt=ob;
cout<<"\nInterst Is:
"<<irt;
sleep(3);
break;
case 3:
cout<<"\nType
Conversion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\nFrom Class Type
To Another Class Type ";
polar p(10.0,0.7564);
p.disp();
coord co;
co=p;
co.disp1();
sleep(3);
break;
case 4:
cout<<"\nSuccessfully
Logout";
exit(0);
default:
cout<<"\nYour are Entered
Wrong Value";
sleep(3);
}
}
}
Program-3
(String Manipulation)
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
char str1[20],str2[20];
void strlength();
void strcomp();
void strcopy();
void strreverse();
void main()
{
int opt;
clrscr();
for(;;)
{
cout<<"\n\tString
Manipulation\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\n1.To String
Length";
cout<<"\n2.To String
Copy";
cout<<"\n3.To String
Reverse";
cout<<"\n4.To String
Comparssion";
cout<<"\n5.Exit";
cout<<"\nEnter Your
Choice:";
cin>>opt;
switch(opt)
{
case 1:
cout<<"\n\tString
Length";
strlength();
break;
case 2:
cout<<"\n\tString
Copy";
strcopy();
break;
case 3:
cout<<"\n\tReverse Of The
String";
strreverse();
break;
case 4:
cout<<"\n\tString
Comparssion";
strcomp();
break;
case 5:
exit(0);
default:
cout<<"\nYou Entered Wrong
Value Enter Right keyword";
}
}
}
void strlength()
{
cout<<"\nEnter THe String:
";
cin>>str1;
int i=0,len=0;
while(str1[i]!='\0')
{
len=len+1;
i++;
}
cout<<"\nThe Given String
is :"<<str1;
cout<<"\nLength Of The
String:"<<len;
}
void strcomp()
{
cout<<"\nEnter The String
1: ";
cin>>str1;
cout<<"\nEnter The string
2: ";
cin>>str2;
int i=0,flag=1;
while(str1[i]!='\0')
{
if(str1[i]!=str2[i])
{
flag=0;
break;
}
else
i++;
}
cout<<"\n\tString 1:
"<<str1<<"\tString 2: "<<str2;
if(flag==1)
cout<<"\nBoth String Are
Same";
else
cout<<"\nBoth String Are
Not Same";
}
void strcopy()
{
cout<<"\nEnter The First
String:";
cin>>str1;
int i=0;
while(str1[i]!='\0')
{
str2[i]=str1[i];
i++;
}
str2[i]='\0';
cout<<"\nThe Given String
Is:"<<str1;
cout<<"\nThe Copied String
Is :"<<str2;
}
void strreverse()
{
cout<<"\nEnter The
String:";
cin>>str1;
cout<<"\nThe Given String
Is :"<<str1;
int i=0,len=0;
while(str1[i]!='\0')
{
len=len+1;
i++;
}
cout<<"\nReverse Of The
String: ";
for(i=len;i>=0;i--)
cout<<str1[i];
}
Program-4
(Pay Roll Using File Concept)
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<dos.h>
#include<math.h>
class emp
{
int empno,bpay;
float
da,hra,ta,lic,ded,npay,gpay,allow,pf;
char ename[20];
public:
emp()
{
ta=hra=da=lic=pf=ded=npay=gpay=allow=0;
}
void get();
void put();
void calc();
};
void emp:: get()
{
cout<<"\nEnter The Empno
and Name and BasicPay: ";
cin>>empno>>ename>>bpay;
}
void emp::calc()
{
da=abs(bpay*80/100);
hra=abs(bpay*30/100);
ta=abs(bpay*20/100);;
pf=abs(bpay*12/100);;
lic=abs(bpay*5/100);
ded=abs(lic+pf);
allow=abs(allow+da+hra+ta);
gpay=abs(bpay+allow);
npay=abs(gpay-ded);
}
void emp::put()
{
clrscr();
cout<<"\nPayRoll";
cout<<"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
cout<<"\nEmployeeNumber:
"<<empno<<"\nName:<<ename <<"\nBasicPay:
"<<bpay;
cout<<"\nAllowance:
"<<allow<<"\nDection:
"<<ded<<"\nNetpay: "<<npay;<<"\nGrossPay:"<<gpay<<"\n~~~~~~~~~~~~~~~~~~~~~~~";
}
void main()
{
emp e;
char opt;
fstream fob;
clrscr();
fob.open("emp.dat",ios::in|ios::out|ios::app);
do
{
e.get();
fob.write((char*)&e,sizeof(e));
cout<<"\nDo you Wnat TO
Continue(y/n):";
cin>>opt;
}while(opt=='Y'||opt=='y');
clrscr();
fob.seekg(0);
fob.read((char*)&e,sizeof(e));
while(!fob.eof())
{
e.calc();
e.put();
fob.read((char*)&e,sizeof(e));
}
getch();
}
Program-5
(Minimum and Maximum Using Template)
#include<iostream.h>
#include<conio.h>
template<class x>void minmax(x
a1[],int n)
{
x min,max;
min=max=a1[0];
for(int i=0;i<n;i++)
{
if(a1[i]<min)
{
min=a1[i];
}
if(a1[i]>max)
{
max=a1[i];
}
}
cout<<"\n\nMaximum
="<<max<<"\tMinimax ="<<min;
};
void main()
{
int a[10],n,i;
clrscr();
cout<<"\nEnter The Value
for n: ";
cin>>n;
cout<<"\nEnter
"<<n<<"Integer Value one by one:";
for(i=0;i<n;i++)
cin>>a[i];
cout<<"\nGiven Value For
Integer Array:";
for(i=0;i<n;i++)
cout<<a[i]<<"\n";
cout<<"\nMaximum And
Minimum Values In Integer Array";
minmax(a,n);
double b[10];
cout<<"\nEnter The Value
For n: ";
cin>>n;
cout<<"\nEnter
"<<n<<" Float value one by one";
for(i=0;i<n;i++)
cin>>b[i];
cout<<"\nGiven Values For
Float Array: ";
for(i=0;i<n;i++)
cout<<b[i]<<"\n";
cout<<"\nMaximum and
Minimum Value In Float Array";
minmax(b,n);
getch();
}
Program-6
(Mark Statement Using Hybrid Inheritance)
#include<iostream.h>
#include<conio.h>
#include<string.h>
int i=0,x=5,y=5;
class base
{
protected:
int rno;
char name[20];
char scode[5][5],sname[5][20];
public:
void input();
void output();
};
class internal:public virtual base
{
protected:
int intmar[5];
public:
void input2();
void output2();
};
class external:public base
{
protected:
int extmar[5];
public:
void input3();
void output3();
};
class result:public internal,public
external
{
int tot[5];
char rst[5][5];
public:
void process();
void display();
};
void base::input()
{
cout<<"\nEnter Rno and
Name:";
cin>>rno>>name;
cout<<"Enter 5 Subject
Codes and subject names:";
for(i=0;i<5;i++)
cin>>scode[i]>>sname[i];
}
void internal::input2()
{
input();
cout<<"\nEnter 5 Subject
Internal Marks";
for(i=0;i<5;i++)
cin>>intmar[i];
}
void external::input3()
{
cout<<"\nEnter The
External Marks";
for(i=0;i<5;i++)
cin>>extmar[i];
}
void base::output()
{
cout<<"\nReg
no:"<<rno;
cout<<"\nNmae:"<<name;
cout<<"\nSubject
Code:";
for(i=0;i<5;i++)
cout<<scode[i]<<"
";
cout<<"\n Subject
Names:";
for(i=0;i<5;i++)
cout<<sname[i]<<"
" ;
}
void internal::output2()
{
output();
cout<<"\nInternal
Marks";
for(i=0;i<5;i++)
cout<<"\n"<<intmar[i]<<"
";
}
void external::output3()
{
cout<<"\nExternal
Marks";
for(i=0;i<5;i++)
cout<<"\n"<<extmar[i]<<"
";
}
void result::display()
{
output3();
cout<<"\nTotal
Marks:";
for(i=0;i<5;i++)
cout<<tot[i]<<"
";
cout<<"\nResult :";
for(i=0;i<5;i++)
cout<<rst[i]<<"
";
}
void result::process()
{
int j;
for(j=0;j<5;j++)
tot[j]=0;
for(j=0;j<5;j++)
{
tot[j]=tot[j]+intmar[j]+extmar[j];
if(intmar[j]>11&&extmar[j]>37&&tot[j]>49)
strcpy(rst[j],"pass");
else
strcpy(rst[j],"Fail");
}
}
void main()
{
result ob;
clrscr();
ob.input2();
ob.input3();
ob.process();
clrscr();
cout<<"\nStudent Result Is
Processed";
ob.output2();
ob.display();
getch();
}
Program-7
(Polymorphism)
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
class base
{
public:
virtual void input()=0;
virtual void output()=0;
};
class insert:public base
{
int n,sum1,sum2,sum3;
public:
void input();
void output();
};
class currence:public base
{
float uk,irp,us,ero,pk,chi,quwt,sri;
public:
void input();
void output();
};
class percom:public base
{
int n,r;
long int ncr,npr,fact;
public:
void input();
int facto(int n1);
void output();
};
void insert::input()
{
cout<<"\Enter Value For
n:";
cin>>n;
}
void insert::output()
{
sum1=sum2=sum3=0;
sum1=sum1+n*(n+1)/2;
sum2=sum2+n*(n+1)*(2*n+1)/6;
sum3=sum3+sqrt(n*(n+1));
cout<<"\n\t1+2+3...........+"<<n<<":="<<sum1;
cout<<"\n\t1^2+2^2+3^2...........+"<<n<<"^2:="<<sum2;
cout<<"\n\t1^3+2^3+3^3...........+"<<n<<"^3:="<<sum3;
}
void percom::input()
{
cout<<"\n\tEnter The Value
for n(object) and r(time): ";
cin>>n>>r;
}
int percom:: facto(int n1)
{
int no=n1;
int i;
fact=1;
for(i=1;i<=no;i++)
fact=fact*i;
return fact;
}
void percom::output()
{
int f=facto(n);
npr=facto(n)/facto(n-r);
ncr=facto(n)/(facto(r)*facto(n-r));
cout<<"\n\tFactorial Value
of Given Number
"<<n<<":="<<f<<"\n";
cout<<"\n\tNpr Value is
...."<<n<<"p"<<r<<":="<<npr<<"\n";
cout<<"\n\tNcr Value is
...."<<n<<"c"<<r<<":="<<ncr<<"\n";
}
void currence::input()
{
cout<<"\nENter The amount
Of Indian Currency:";
cin>>irp;
}
void currence::output()
{
uk=irp/99.73;
us=irp/62.17;
ero=irp/84.16;
pk=irp/0.59;
sri=irp/0.47;
quwt=irp/219.36;
chi=irp/10.16;
cout<<"\nIndian Reupees
.........:"<<irp;
cout<<"\nEqulient Uk
Bound: "<<uk;
cout<<"\nEqulient Us
Dollor: "<<us;
cout<<"\nEqulient Europ
Rate: "<<ero;
cout<<"\nEqulient Kuwail
Dinar: "<<quwt;
cout<<"\nEqulient China
Rupee: "<<chi;
cout<<"\nEqulient
Pakisthan Rupee: "<<pk;
cout<<"\nEqulient Sirlank
Rupee: "<<sri;
}
void main()
{
int opt;
base *pt;
for(;;)
{
clrscr();
cout<<"\n\tPolymorphisam
With Virtual Function";
cout<<"\n\t\t1.Integer
Series";
cout<<"\n\t\t2.Permutation
And Combination";
cout<<"\n\t\t3.Contrieses
Currenices:";
cout<<"\n\t\t4.Exit";
cout<<"\nEnter Your
Choice: ";
cin>>opt;
switch(opt)
{
case 1:
cout<<"\n\t Integer
Series";
insert ob1;
pt=&ob1;
pt->input();
pt->output();
getch();
break;
case 2:
cout<<"\nPermulater ANd
Combination";
percom ob2;
pt=&ob2;
pt->input();
pt->output();
getch();
break;
case 3:
cout<<"\nContries and
Currencies";
currence ob3;
pt=&ob3;
pt->input();
pt->output();
getch();
break;
case 4:
exit(0);
break;
default:
cout<<"\nEntered Wrong
value";
}
}
}
Program-8
(Finding Area Of Circle Using Friend Function)
#include<iostream.h>
#include<conio.h>
#define pi 3.4;
class circ;
class rect
{
float l,b;
float ar;
public:
rect(float x,float y);
friend float area(rect r,circ c);
};
class circ
{
float r,ar;
public:
circ(float ra);
friend float area(rect r,circ c);
}
rect::rect(float x,float y)
{
l=x;
b=y;
ar=l*b;
}
circ::circ(float ra)
{
r=ra;
}
float area(rect r,circ c)
{
float a=r.ar-c.ar;
return a;
}
void main()
{
rect obr(12,15);
circ obc(5);
clrscr();
cout<<"\nAre Outside The
Circle: "<<area(obr,obc);
getch();
}
Program-9
(Matrix Using Pointer)
#include<iostream.h>
#include<conio.h>
#include<process.h>
int **malloc(int ro,int col);
void disp(int **a,int raw,int col);
void matmult(int **a,int m,int n,int
**b,int p,int q,int **c);
void matread(int **a,int row,int
col);
void memfree(int **p,int ro);
void main()
{
int **a,**b,**c,m,n,p,q;
clrscr();
cout<<"\nEnter Matrix A
Details:";
cin>>n>>m;
a=malloc(n,m);
matread(a,m,n);
cout<<"\nEnter Matrix B
Details:";
cin>>p>>q;
b=malloc(p,q);
matread(b,p,q);
c=malloc(m,q);
matmult(a,m,n,b,p,q,c);
cout<<"\nMatrix
A("<<n<<"*"<<m<<")";
disp(a,m,n);
cout<<"\nMatrix
B("<<p<<"*"<<q<<")";
disp(b,p,q);
cout<<"\nMatrix
C=A*B";
disp(c,n,q);
getch();
}
void disp(int **a,int row,int col)
{
int i,j;
for(i=0;i<row;i++)
{
cout<<endl;
for(j=0;j<col;j++)
cout<<a[i][j]<<"\t";
}
}
int **malloc(int ro,int col)
{
int **p;
p=new int*[20];
for(int i=0;i<ro;i++)
p[i]=new int[col];
return p;
}
void memfree(int **p,int ro)
{
for(int i=0;i<ro;i++)
delete p[i];
delete p;
}
void matread(int **a,int row,int col)
{
int i,j;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
cout<<"\nMatrix
["<<i<<","<<j<<"]=";
cin>>a[i][j];
}
}
}
void matmult(int **a,int m,int n,int
**b,int p,int q,int **c)
{
int i,j;
if(n!=p)
{
cout<<"\nError Invalid
Matrix Order: ";
exit(1);
getch();
}
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{
c[i][j]=0;
c[i][j]=a[i][j]*b[i][j];
}
}
}
Program-10
(Random Access Files)
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
class stu
{
int rno;
char name[15];
public:
void get()
{
cout<<"\nEnter The
Rno,name:";
cin>>rno>>name;
}
void put()
{
cout<<"\nReg
no:"<<rno<<"\tName:"<<name;
}
};
void main()
{
clrscr();
char opt;
stu s;
fstream f;
f.open("stud.dat",ios::in|ios::out|ios::app);
do
{
clrscr();
s.get();
f.write((char *)&s,sizeof(s));
cout<<"\n Do you Wnat To
Continue(y/n): ";
cin>>opt;
}while(opt=='Y'||opt=='y');
f.seekg(0,ios::cur);
int p=f.tellg();
int nr=p/sizeof(s);
cout<<"\n"<<nr<<"
Record in the file";
cout<<"\nEnter the record
no:";
int n;
cin>>n;
int po=(n-1)*sizeof(s);
f.seekg(po);
f.read((char *)&s,sizeof(s));
s.put();
getch();
}
0 comments:
Post a Comment