0% found this document useful (0 votes)
165 views

Institute of Aeronautical Engineering Dundigal: Oops Through C++ Lab Course File For Mca I/I Sem

This document contains 9 C++ programs to perform various tasks: 1. Find the largest and smallest number in a list. 2. Find the sum of digits in a positive integer. 3. Generate prime numbers between 1 and a user-input value. 4. Sort a list of numbers in ascending order. 5. Demonstrate swapping of integers, floats, and characters. 6. Check if a number is an Armstrong number. 7. Generate the first n terms of the Fibonacci sequence. 8. Implement matrix operations like addition, subtraction, and multiplication using a class. 9. Generate Pascal's triangle.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
165 views

Institute of Aeronautical Engineering Dundigal: Oops Through C++ Lab Course File For Mca I/I Sem

This document contains 9 C++ programs to perform various tasks: 1. Find the largest and smallest number in a list. 2. Find the sum of digits in a positive integer. 3. Generate prime numbers between 1 and a user-input value. 4. Sort a list of numbers in ascending order. 5. Demonstrate swapping of integers, floats, and characters. 6. Check if a number is an Armstrong number. 7. Generate the first n terms of the Fibonacci sequence. 8. Implement matrix operations like addition, subtraction, and multiplication using a class. 9. Generate Pascal's triangle.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 37

INSTITUTE OF AERONAUTICAL ENGINEERING

DUNDIGAL

Oops through c++

LAB COURSE FILE

FOR MCA I/I SEM

PREPARED BY,

V.SREE KANTHA BABU,

ASST. PROF (MCA DEPT)

1
1.Write a C++ program to find both the largest and smallest number in
a list of integers.

#include<iostream.h>
#include<conio.h>

int main()
{
clrscr();
int *a,n;
cout<<"Enter how many number are there ?\t";
cin>>n;
a=new int[n];
cout<<"Enter Numbers"<<endl;
for(int i=0;i<n;i++)
cin>>a[i];
int temp;
for(i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}

cout<<"The Minimum Number is \t"<<a[0]<<endl;


cout<<"The Maximum Number is \t"<<a[n-1]<<endl;
getch();
return 0;
}

Output:
Enter how many number are there:
5
Enter Numbers
15 2 34 56 78
The Minimum Number is 2
The Maximum Number is 78

2
2. Write a C++ program to find the sum of individual digits of a positive
integer.

#include<iostream.h>
#include<conio.h>

void main()
{
clrscr();
cout<<"Enter The Number\t";
long signed n,temp,sum=0;
cin>>n;

while(n>0)
{
temp=n%10;
sum=temp+sum;
n=n/10;
}
cout<<"The sum of individuval digits" <<"of a entered positive integer is\t"<<sum;
getch();
}

Output:

Enter The Number23

The sum of individuval digits a entered positive integer is 5

3
3. Write a C++ program to generate all the prime numbers between 1
and n , where n is a value supplied by the user.

#include<iostream.h>
#include<conio.h>

int prime(unsigned long int );

int main()
{
clrscr();
cout<<"Prime numbers between 1 to \t";
unigned long int n;
cin>>n;
for(unsigned long int i=2;i<=n;i++)
if(prime(i)==1)
cout<<i<<" ";
getch();
return 0;
}

int prime(unsigned long int x)


{
for(unsigned long int i=2;i<=x;i++)
{
if(x%i==0&&i<x)
{
return 0;
}
}
return 1;
}

Output:
Prime numbers between 1 to
10
1357

4
4. Write a C++ program to sort a list of numbers in ascending order.
#include<iostream.h>
#include<conio.h>
int order(int &,int &);
int main()
{
clrscr();
int *a,k;
cout<<"How many number are there\t";
cin>>k;
a=new int[k];
cout<<"Enter numbers"<<endl;
for(int i=0;i<k;i++)
cin>>a[i];
for(i=0;i<k;i++)
{cout<<" ";
for(int j=i+1;j<k;j++)
{if(a[i]>a[j])
swap(a[i],a[j]);}
cout<<a[i];}
getch();
return 0;
}

int order(int &a,int &b)


{
int temp;
temp=a;
a=b;
b=temp;
return a,b;
}

Output:
How many number are there
5
Enter numbers
12 45 79 06 90

The order of sorting array is:


06 12 45 79 90

5
5. Write a C++ program to find out swapping of two integers.
#include<iostream.h>
#include<conio.h>
void swap(int ,int );
void swap(float ,float );
void swap(char ,char );
int main()
{
clrscr();
swap(2,5);
float a=20.5,b=30.26;
swap(a,b);
swap('a','x');
getch();
return 0;
}

void swap(int a,int b)


{
int temp;
cout<<"Before swaping\t"<<a<<" "<<b<<endl;
temp=a;
a=b;
b=temp;
cout<<"After swaping\t"<<a<<" "<<b<<endl;
}

void swap(float a,float b)


{
float temp;
cout<<"Before swaping\t"<<a<<" "<<b<<endl;
temp=a;
a=b;
b=temp;
cout<<"After swaping\t"<<a<<" "<<b<<endl;
}

Output:
Before swaping 2,5
After swaping 5,2
Before swaping 20.5 30.26
After swaping 30.26 20.5

6
6.Write a c++ program to find number is Armstrong Number or not

#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()
{
    int no,dig,temp,sum=0;

    clrscr();

    printf("Enter no : ");
    scanf("%d",&no);

    temp=no;

    while(temp>0)
  {
        dig=temp%10;

        sum=sum+dig*dig*dig;

        temp=temp/10;
  }

    if (no==sum)
        printf("\n %d is an Armstrong Number",no);
    else
        printf("\n %d is not an Armstrong Number",no);

    getch();

Output:

Enter no: 153


153 is an Armstrong Number

7
7. Write a C++ program to generate the first n terms of the fiboncci
sequence.

#include<iostream.h>
#include<conio.h>

void main()
{

clrscr();
cout<<"How many terms to be generated ?\t";
double k;
cin>>k;

double f1=0,f2=1,f3;

cout<<f1<<" "<<f2;
f3=f1+f2;
for(double i=1;i<=k-2;i++)
{
cout<<" "<<f3;
f1=f2;
f2=f3;
f3=f1+f2;
}
getch();
}

Output:

How many terms to be generated


10
0 1 1 2 3 5 8 13 21 34

8
8.Write a C++ program to implement the matrix ADT using a class. The
operations supported by this ADT are:
a) Reading a matrix. c) Addition of matrices.
b) Printing a matrix. d) Subtraction of matrices.
e) Multiplication of matrices.
#include<iostream.h>
#include<conio.h>

struct mo
{
signed p,q,r,s,b,choice;
};

int matrixr(int,struct mo);


mo order(int);
class matrix
{
int **a;
signed m,n;
public:
matrix (){};
matrix(int,int);
void readmatrix();
void printmatrix();
matrix addmatrix(matrix a,matrix b);
matrix submatrix(matrix a,matrix b);
matrix mulmatrix(matrix a,matrix b);
~matrix(){};
};

matrix::matrix(int x,int y)
{
m=x;n=y;
a=new int*[m];
for(int i=0;i<m;i++)
a[i]=new int[n];
}
void matrix::readmatrix()
{
cout<<"Enter Matrix elements"<<endl;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
cin>>a[i][j];

9
}
void matrix::printmatrix()
{
cout<<"The result Matrix is "<<endl;
for(int i=0;i<m;i++)
{ { for(int j=0;j<n;j++)
{ cout.width(3);
cout<<a[i][j];}
} cout<<endl;}}

matrix matrix::addmatrix(matrix a,matrix b)


{
matrix c(a.m,a.n);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
c.a[i][j]=a.a[i][j]+b.a[i][j];
return c;
}

matrix matrix::submatrix(matrix a,matrix b)


{

matrix c(a.m,a.n);
for(int i=0;i<a.m;i++)
for(int j=0;j<a.n;j++)
c.a[i][j]=a.a[i][j]-b.a[i][j];
return c;
}

matrix matrix::mulmatrix(matrix a,matrix b)


{

matrix c(a.m,b.n);
for(int i=0;i<a.m;i++)
for(int j=0;j<b.n;j++)
{c.a[i][j]=0;
{ for(int k=0;k<a.n;k++)
c.a[i][j]+=a.a[i][k]*b.a[k][j];}}
return c;
}
int main()
{
clrscr();
int a;
struct mo k;

10
do
{
cout<<"1.Addition of two Matrices"<<endl;
cout<<"2.Subtraction of two Matrices"<<endl;
cout<<"3.Multiplication of two Matrices"<<endl;
cout<<"Enter your chioice\t";
cin>>a;
if(a>=0&&a<4)
{k=order(a);
if(!k.b==0)
{if(k.choice==(1||2))
a=matrixr(a,k);
else
a=matrixr(a,k);
}} }while(a>=0&&a<4);
return 0;
}

int matrixr(int f,mo k)


{
matrix a(k.p,k.q),b(k.r,k.s),c;
a.readmatrix();
b.readmatrix();
switch(f)
{
case 1:
{
c=a.addmatrix(a,b);
c.printmatrix();
}
break;
case 2:
{c=a.submatrix(a,b);
c.printmatrix();
}
break;
case 3:
{ c=a.mulmatrix(a,b);
c.printmatrix();
}

}return 0;
}

mo order(int a)
{

11
struct mo s;
s.choice=a;
cout<<"Enter 1st Matirx order";
cin>>s.p>>s.q;
cout<<"Enter 2nd Matrix order";
cin>>s.r>>s.s;
if(a==1||a==2)
{
if(s.p==s.r&&s.q==s.s)
return s;
else
s.b=0;
cout<<"Matrix addition/subtraction is not possible"<<endl;
return s;
}
if(s.q==s.r||(s.p==s.r&&s.q==s.s))
return s;
else
s.b=0;
cout<<"Matrix Multiplicatin is not possible"<<endl;
return s;
}

12
9. Write a C++ program to generate Pascal’s triangle.
#include<iostream.h>
#include<conio.h>

long unsigned fact(long unsigned);


long unsigned ncr(long unsigned ,long unsigned );

int main()
{
clrscr();
for(long unsigned i=0,k=35;i<12;i++,k=k-3)
{
for(long unsigned j=0,l=k;j<=i;j++,l=l+6)
{
gotoxy(l,i+1);
cout.width(3);
cout<<ncr(i,j);
}cout<<endl<<endl; }
getch();
return 0;
}

long unsigned ncr(long unsigned n,long unsigned r)


{
long unsigned x=(fact(n)/(fact(r)*fact(n-r)));
return x;
}

long unsigned fact(long unsigned n)


{
long unsigned x=1;
if(n==1||n==0)
return x;
else
x=n*fact(n-1);
return x;
}
Output:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

13
10. Write a C++ program that uses a recursive function for solving
Towers of Hanoi problem.

#include<iostream.h>
#include<conio.h>

void diskchange(char l,char r,char c,int n)


{
if(n>0)
{
diskchange(l,c,r,n-1);
cout<<"\nMove "<<n<<" from "<<l<<" to "<<r;
diskchange(c,r,l,n-1);
}
}

int main()
{
int n;
cout<<"\nEnter the number of disks\n";
cin>>n;

diskchange('L','R','C',n);
cout<<"\nPress any key to exit\n";
getch();

return 0;
}

Output:
Enter the number of disks
3
Move disk1 from A to C
Move disk2 from A to B
Move disk1 from C to B
Move disk3 from A to C
Move disk1 from B to A
Move disk2 fromB to C
Move disk1 from A to C

14
11. Write a C++ program to determine if the given string is a
palindrome or not.
#include<iostream.h>
#include<conio.h>
#include<string.h>

int main()
{
clrscr();
char *p=new char[20];
cout<<"enter string\t";
cin>>p;
char *q=new char[20];
strcpy(q,p);
char *r=new char[20];
r=strrev(q);
if(!strcmp(r,p))
cout<<p<<"\t The given string is palindrome";
else
cout<<p<<"\ t The given string is not palindrome";
getch();
return 0;
}

Output:

Enter the name of string


Pop
The given string is palindrome

15
12. write a c++ program to find out string ascending order.

#include<iostream.h>
int i,j, min, min_pos;
char min_name[5], temp[5];

for(i=0;i<3;i++)
{
strcpy(min_name, letters[i]); //takes the first letter as the index
min_pos=i;
for(j=i;j<3;j++)
{
if ((strcmp(min_name, letters[j])>0))
{
strcpy(min_name,letters[j]);
min_pos=j; / rember position
}
}
strcpy(temp,letters[i]);
strcpy(letters[i],letters[min_pos]);
strcpy(letters[min_pos],temp);
}

Output:

Enter no of strings
3
Ravi venu sudheer

Sorted names:
ravi sudheer venu

16
13. Write a C++ program to perform single inheritance

#include <iostream>
using namespace std;
class base
{
int i, j;
public:
void set(int a, int b) { i=a; j=b; }
void show()
{
cout << “This is base class”;
}
};
class derived : public base
{
int k;
public:
derived(int x) { k=x; }
void showk() { cout <<"This is derived class”;
}
};
int main()
{
derived ob(3);
ob.set(1, 2); // access member of base
ob.show(); // access member of base
ob.showk(); // uses member of derived class
return 0;
}

Output:
This is base class
This is derived class

17
14. Write a C++ program to perform multiple inheritance
#include <iostream>
using namespace std;
class base1
{
protected:
int x;
public:
void showx() { cout << x << "\n"; }
};
class base2
{
protected:
int y;
public:
void showy() {cout << y << "\n";}
};
// Inherit multiple base classes.
class derived: public base1, public base2
{
public:
void set(int i, int j) { x=i; y=j; }
};
int main()
{
derived ob;
ob.set(10, 20); // provided by derived
ob.showx(); // from base1
ob.showy(); // from base2
return 0;
}

18
15. Write a C++ program to perform multi-level inheritance
#include< iostream.h>
#include< conio.h>

class student // Base Class


{
protected:
int rollno;
char *name;
public:
void getdata(int b,char *n)
{
rollno = b;
name = n;
}
void putdata(void)
{
cout< < " The Name Of Student \t: "< < name< < endl;
cout< < " The Roll No. Is \t: "< < rollno< < endl;
}
};

class test:public student // Derieved Class 1


{
protected:
float m1,m2;
public:
void gettest(float b,float c)
{
m1 = b;
m2 = c;
}
void puttest(void)
{
cout< < " Marks In CP Is \t: "< < m1< < endl;
cout< < " Marks In Drawing Is \t: "< < m2< < endl;
}
};

class result:public test // Derieved Class 2


{
protected:
float total;
public:

19
void displayresult(void)
{
total = m1 + m2;
putdata();
puttest();
cout< < " Total Of The Two \t: "< < total< < endl;
}
};

void main()
{
clrscr();
int x;
float y,z;
char n[20];
cout< < "Enter Your Name:";
cin>>n;
cout< < "Enter The Roll Number:";
cin>>x;
result r1;
r1.getdata(x,n);
cout< < "ENTER COMPUTER PROGRAMMING MARKS:";
cin>>y;
cout< < "ENTER DRAWING MARKS:";
cin>>z;
r1.gettest(y,z);
cout< < endl< < endl< < "************ RESULT **************"< < endl;
r1.displayresult();
cout< < "**********************************"< < endl;
getch();

OUTPUT
Enter Your Name: Lionel
Enter The Roll Number:44
ENTER COMPUTER PROGRAMMING MARKS:95
ENTER DRAWING MARKS:90

"************ RESULT **************


The Name of Student: Lionel
The Roll No. Is : 44
Marks In CP Is : 95
Marks In Drawing Is : 90
Total Of The Two : 185

20
16. Write a C++ program to perform hierarichial inheritance

#include <iostream.h>

class vehicle
{
protected:
int wheels;
float weight;
public:
void initialize(int in_wheels, float in_weight);
int get_wheels(void) {return wheels;}
float get_weight(void) {return weight;}
float wheel_loading(void) {return weight/wheels;}
};

class car : public vehicle


{
int passenger_load;
public:
void initialize(int in_wheels, float in_weight, int people = 4);
int passengers(void) {return passenger_load;}
};

class truck : public vehicle


{
int passenger_load;
float payload;
public:
void init_truck(int how_many = 2, float max_load = 24000.0);
float efficiency(void);
int passengers(void) {return passenger_load;}
};

Void main()
{
vehicle unicycle;

unicycle.initialize(1, 12.5);
cout << "The unicycle has " <<
unicycle.get_wheels() << " wheel.n";
cout << "The unicycle's wheel loading is " <<
unicycle.wheel_loading() << " pounds on the single tire.n";

21
cout << "The unicycle weighs " <<
unicycle.get_weight() << " pounds.nn";

car sedan;

sedan.initialize(4, 3500.0, 5);


cout << "The sedan carries " << sedan.passengers() <<" passengers.n";
cout << "The sedan weighs " << sedan.get_weight() << " pounds.n";
cout << "The sedan's wheel loading is " <<
sedan.wheel_loading() << " pounds per tire.nn";

truck semi;

semi.initialize(18, 12500.0);
semi.init_truck(1, 33675.0);
cout << "The semi weighs " << semi.get_weight() << " pounds.n";
cout << "The semi's efficiency is " <<100.0 * semi.efficiency() << " percent.n";
}

// initialize to any data desired


Void vehicle::initialize(int in_wheels, float in_weight)
{
wheels = in_wheels;
weight = in_weight;
}

Void car::initialize(int in_wheels, float in_weight, int people)


{
passenger_load = people;
wheels = in_wheels;
weight = in_weight;
}

Void truck::init_truck(int how_many, float max_load)


{
passenger_load = how_many;
payload = max_load;
}

Float truck::efficiency(void)
{
return payload / (payload + weight);
}

22
17. Write a C++ program to perform hybraid inheritance

#include<iostream.h>
class a
{
public:
void f()
{
cout<<"base class\n";
}
};
class b:private a //visibility mode private
{
public:
void f1()
{
cout<<"inheritance\n";
}
};
class c:public a //visibility mode public
{
public:
void f2()
{
cout<<"hybrid\n";
}
};
class d:public b,public c
void main()
{
d w;
w.f(); //giving ambiguity error
}

23
18. Write a C++ program to perform parameterized constructor.

#include <iostream>
using namespace std;
class myclass {
  int a, b;
public:
  myclass(int i, int j)
 {
     a=i; 
     b=j;
  }
     
  void show()
 {
     cout << a << " " << b;
  }
};
int main()
{
  myclass ob(3, 5);
  ob.show();
  return 0;
}

Output:

3 5

24
19. Write a C++ program that illustrates virtual functions.
#include<iostream.h>
#include<conio.h>
#include<string.h>

class media
{
protected:
char title[50];
float price;
public:
media(char *s,float a)
{
strcpy(title,s);
price=a;
}
virtual void display(){};
};

class book: public media


{
int pages;
public:
book(char *s,float a,int p):media(s,a)
{ pages=p;
}
void display();
};

class tape:public media


{
float time;
public:
tape(char *s,float a,float t):media(s,a)
{
time=t;
}
void display();
};
void book::display()
{
cout<<"\nTitle"<<title;

25
cout<<"\nPages"<<pages;
cout<<"\nPrice"<<price;
}
void tape::display()
{
cout<<"\nTitle"<<title;
cout<<"\nTime"<<time;
cout<<"\nPrice"<<price;
}

int main()
{
clrscr();
char *title=new char[30];
float price,time;
int pages;
cout<<"Enter book details"<<endl;
cout<<"Title\t:";cin>>title;
cout<<"Price\t:";cin>>price;
cout<<"Pages\t:";cin>>pages;
book b1(title,price,pages);
cout<<"Enter tape ditails"<<endl;
cout<<"Title\t:";cin>>title;
cout<<"Price\t:";cin>>price;
cout<<"Time\t:";cin>>time;
tape t1(title,price,time);

media* list[2];
list[0]=&b1;
list[1]=&t1;
cout<<"_______Book_______"<<endl;
list[0]->display();
cout<<"_______Tape_______"<<endl;
list[1]->display();
getch();
return 0;
}

26
20. Write a C++ program to perform virtual destructors.

#include <iostream.h>
class Base
{
       public:
          Base(){ cout<<"Constructor: Base"<<endl;}
          virtual ~Base(){ cout<<"Destructor : Base"<<endl;}
};
class Derived: public Base
{
     //Doing a lot of jobs by extending the functionality
       public:
           Derived(){ cout<<"Constructor: Derived"<<endl;}
           ~Derived(){ cout<<"Destructor : Derived"<<endl;}
};
void main()
{
        Base *Var = new Derived();
        delete Var;
}

Output:

Constructor: Derived
Constructor: Base
Destructor : Derived
Destructor : Base

27
21. Write a C++ program that uses
(A) function templates. (B)class templates

(A) Function templates


#include<iostream.h>
#include<conio.h>

template <class T>


void ascen(T a[],int n);
int main()
{
clrscr();
int a[10]={25,14,1,58,47,65,14,25,10,54};
float b[10]={25.25,14.21,1.36,58.54,47.24,65.74,14.58,25.147,10.10,54.68};
char c[10]={'a','f','e','a','u','c','h','i','x','p'};
int n=10;

cout<<endl;
ascen(a,n);
cout<<endl;
ascen(b,n);
cout<<endl;
ascen(c,n);
getch();
return 0;
}

template <class T>

void ascen(T a[],int n)


{
T temp;
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
cout<<"Minimum of the data is \t"<<a[0]<<endl;
cout<<"Maximum of the data is \t"<<a[9]<<endl;
cout<<"Data in ascending order "<<endl;
for(i=0;i<n;i++)

28
{cout.precision(2);
cout<<a[i]<<"\t";}
}

(B)class templates

#include &ltiostream>
using namespace std ;

template &ltclass T>


class stream
{
public:
void f() { cout << "stream&ltT>::f()"<< endl ;}
};

template <>
class stream&ltchar>
{
public:
void f() { cout << "stream&ltchar>::f()"<< endl ;}
};

int main()
{
stream&ltint> si ;
stream&ltchar> sc ;

si.f() ;
sc.f() ;

return 0 ;
}

Output:

stream&ltT>::f()
stream&ltchar>::f()

29
25. write a c++ program to find out friend class.
#include <iostream>
using namespace std;

class MyClass
{
friend class MyFriend; // Declare a friend class...

public MyClass()
{
m_private = true;
cout << "m_private = " << m_private << endl;
}

private bool m_private;


};

class MyFriend
{

public:

void change( MyClass myClass )


{
myClass.m_private = false; // A friend can access private data...
cout << "m_private = " << myClass.m_private << endl;
}
};

void main()
{
MyClass myClass;
MyFriend myFriend;

myFriend.change( myClass );

return 0;
}

30
26. write a c++ program to find out pure virtual functions.
#include <iostream>
using namespace std;

class A
{

public:

virtual void display () = 0; // A pure virutal function


};

class B: public A
{

public:

virtual void display()


{
cout << " This is Class B's display() function ..." << endl;
}
};

Void main( )
{
//A obj1; // Can't create an object of class type A, but...

B obj2; // class type B is fine becuase it implements foo()

Obj2.display();

return 0;
}

Output:

This is Class B's display() function .

31
27. Write a c++ program to perform Implement the complex number
ADT in C++ using a class. The complex ADT is used to represent
complex numbers of the form c=a+ib, where a and b are real numbers.
The operations supported by this ADT are:

a) Reading a complex number. d) Subtraction of complex numbers.


b) Writing a complex number. e) Multiplication of complex numbers.
c) Addition of Complex numbers. f) Division of complex numbers.

Note: 1. overload << and >> operators in part a and part b.


2. overload +, - , * , / operators in parts c, d, e and f.

#include<iostream.h>
#include<conio.h>

class complex
{
float r,im;
public:
complex(){}
friend ostream & operator <<(ostream &,complex &);
friend istream & operator >>(istream &,complex &);
complex operator +(complex &);
complex operator -(complex &);
complex operator *(complex &);
complex operator /(complex &);

~complex(){}
};

istream & operator >>(istream &read,complex &b)


{
cout<<"Enter Real part of complex number\t";
read>>b.r;
cout<<"Enter Imaginary part of complex number\t";
read>>b.im;

return read;
}

32
ostream & operator<<(ostream &out,complex &b)
{
out<<b.r;
if(b.im>=0)
cout<<"+";
cout<<b.im<<"i";

return out;
}

complex complex::operator +(complex &b)


{
complex c;
c.r=r+b.r;
c.im=im+b.im;
return c;
}

complex complex::operator -(complex &b)


{
complex c;
c.r=r-b.r;
c.im=r-b.im;
return c;
}
complex complex::operator *(complex &b)
{
complex c;
c.r=(r*b.r)+(-1*(im*b.im));
c.im=(r*b.im)+(im*b.r);
return c;
}
complex complex::operator /(complex &b)
{
int d,n,m;
complex c;
d=(b.r*b.r)+(b.im*b.im);
n=(r*b.r)-(-1*(im*b.im));
m=(r*(-1*b.im))+(im*b.r);
c.r=n;
c.im=m;
cout<<"("<<n<<"/"<<d<<")";
if(m>=0)
cout<<"+";
cout<<"("<<m<<"/"<<d<<")i";

33
return c;

int main()
{
clrscr();
complex a,b,c;
cin>>a;
cin>>b;
c=a+b;
cout<<endl<<"Addition result"<<endl;
cout<<c;
cout<<endl<<"Subtraction result"<<endl;
c=a-b;
cout<<c;
c=a*b;
cout<<endl<<"Multiplication result"<<endl;
cout<<c;
cout<<endl<<"Division result"<<endl;
c=a/b;
getch();
return 0;
}

34
29. write a c++ program to find out exception handling by multilple
catch statements.
#include <iostream>
using namespace std;
.
void Xhandler(int test)
{
Try
{
if(test) throw test;
else throw "Value is zero";
}
catch(int i)
{
cout << "Caught Exception #: " << i << '\n';
}
Catch(const char *str) {
Cout << "Caught a string: ";
Cout << str << '\n';
}
}
void main()
{
cout << "Start\n";
Xhandler(1);
Xhandler(2);
Xhandler(0);
Xhandler(3);
cout << "End";
}

output:

Caught Exception #: 1
Caught Exception #: 2
Caught a string: Value is zero
Caught Exception #: 3
End

35
30. Write a C++ program for rethrowing an exception.

#include <iostream>
using namespace std;
void Xhandler()
{
try {
throw "hello"; // throw a char *
}
catch(const char *) { // catch a char *
cout << "Caught char * inside Xhandler\n";
throw ; // rethrow char * out of function
}
}
Note
void main()
{
cout << "Start\n";
try{
Xhandler();
}
catch(const char *) {
cout << "Caught char * inside main\n";
}
cout << "End";
return 0;
}
output:

Caught char * inside Xhandler


Caught char * inside main
End

36
32. Write a C++ program which copies one file to another.
#include<iostream.h>
#include<fstream.h>

int main(int argc,char *argv[])


{
if(argc!=3)
{
cout<<"Arguments must be Theree";
return 1;
}
ifstream fin;
fin.open(argv[1],ios::nocreate);
if(!fin)
{
cout<<"File does not exits";
return 1;
}
ofstream fout;
fout.open(argv[2],ios::out);
char ch;
while(!fin)
{
fin.get(ch);
fout.put(ch);
}
fin.close();
fout.close();
return 0;
}

Output:

File does not exists

37

You might also like