Skip to main content

OOP 1

 Implement a class Complex which represents the Complex Number data type. Implement the following 

1. Constructor (including a default constructor which creates the complex number 0+0i). 

2. Overload operator+ to add two complex numbers.

3. Overload operator* to multiply two complex numbers.

4. Overload operators << and >> to print and read Complex Numbers.

   
 /*Implement a class Complex which represents the Complex Number data type.   
 Implement the following operations:   
 1. Constructor (including a default constructor which creates the complex number 0+0i).   
 2. Overloaded operator+ to add two complex numbers.   
 3. Overloaded operator* to multiply two complex numbers.   
 4. Overloaded << and >> to print and read Complex Numbers.*/  
   
   
 //@author: SPPU CSE GURU  
   
 #include<iostream>  
 using namespace std;  
   
 class complex  
 {  
      float real;  
      float img;  
      public:  
      friend complex operator+(complex,complex);  
      friend complex operator-(complex,complex);  
      friend complex operator*(complex,complex);  
      friend complex operator/(complex,complex);  
      friend ostream & operator<<(ostream&,complex&);  
      friend istream & operator>>(istream&,complex&);  
   
      complex()  
      {  
           real=0;  
           img=0;  
      }  
      ~complex(){}  
 };  
   
 complex operator+(complex c,complex d)  
 {  
      complex temp;  
      temp.real=d.real+c.real;  
      temp.img=d.img+c.img;  
      return temp;  
 }  
   
 complex operator-(complex c,complex d)  
 {  
      complex temp;  
      temp.real=c.real-d.real;  
      temp.img=c.img-d.img;  
      return temp;  
 }  
   
 complex operator*(complex c,complex d)  
 {  
      complex temp;  
      temp.real=c.real*d.real-c.img*d.img;  
      temp.img=c.real*d.img+c.img*d.real;  
      return temp;  
 }  
   
 complex operator/(complex c,complex d)  
 {  
      complex temp;  
      int mod=d.real*d.real+d.img*d.img;  
      d.img= -1*d.img;  
      temp=c*d;  
      temp.real/=mod;  
      temp.img/=mod;  
      return temp;  
 }  
   
 ostream & operator << (ostream &out, complex &c)  
 {  
   if(c.img>=0)  
        out<<c.real<<"+"<<c.img<<"i\n";  
   else  
        out<<c.real<<c.img<<"i\n";          //noted  
   return out;  
 }  
   
 istream & operator >> (istream &in, complex &c)  
 {  
   cout << "Enter Real Part ";  
   in >> c.real;                              //noted  
   cout << "Enter Imaginary Part ";  
   in >> c.img;  
   return in;  
 }  
   
 int main()  
 {  
      complex c1,c2,c3;  
      int ch;  
        
      cout<<c1;               //default constructor  
      cout<<c2;  
        
      cin>>c1;          //calling of operator overloading function  
      cin>>c2;  
      do  
      {  
           cout<<"Enter\n1.Addition\n2.Subtraction\n3.Multiplication\n4.Division\n0.Exit\n";  
           cout<<"Enter your choice: ";  
           cin>>ch;  
           switch(ch)  
           {  
                case 0:  
                break;  
                case 1:  
                     c3=c1+c2;  
                     cout<<"Addition: ";  
                     cout<<c3;  
                break;  
                case 2:  
                     c3=c1-c2;  
                     cout<<"Subtraction: ";  
                     cout<<c3;  
                break;  
                case 3:  
                     c3=c1*c2;  
                     cout<<"Multiplication: ";  
                     cout<<c3;  
                break;  
                case 4:  
                     c3=c1/c2;  
                     cout<<"Division: ";  
                     cout<<c3;  
                break;  
                default:  
                     cout<<"Invalid choice\n";  
           }  
      }while(ch!=0);  
      return 0;  
 }  

Comments

Popular posts from this blog

OOP 2

Object Oriented Programming Group A - Practical : 2 Problem Statement :  Develop a program in C++ to create a database of student’s information system containing the following information: Name, Roll number, Class, Division, Date of Birth, Blood group, Contact address, Telephone number, Driving license no. and other. Construct the database with suitable member functions. Make use of constructor, default constructor, copy constructor, destructor, static member functions, friend class, this pointer, inline code and dynamic memory allocation operators-new and delete as well as exception handling. Check Out Code Here  ðŸ‘‡ Code can get updated so also come back later to see if there is any changes. Also if there is any problem with code you can comment below. If you like it, do share with your friends.😊

OOP 3

  Imagine a publishing company which does marketing for book and audio cassette versions. Create a class publication that stores the title (a string) and price (type float) of publications. From this class derive two classes: book which adds a page count (type int) and tape which adds a playing time in minutes (type float). Write a program that instantiates the book and tape class, allows user to enter data and displays the data members. If an exception is caught, replace all the data member values with zero values. The code for above problem is as follows: //@author: SPPU CSE GURU #include <iostream> using namespace std; class Publication { private: string title; float price; public: Publication() //constructor { title=""; price=0.0; } Publication(string title, float price) { this->title=title; ...

3D Cube Transformations

  Group C   Practical 6 b   Problem Statement :     Write C++ program to draw 3-D cube and perform following transformations on it using OpenGL i) Scaling ii) Translation iii) Rotation about an axis (X/Y/Z). Check Out Code Here  ðŸ‘‡ Code can get updated so also come back later to see if there is any changes. Also if there is any problem with code you can comment below. If you like it, do share with your friends.😊