Top Banner
C++ Class Assignments 1 C++ Class Assignments
71
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: a19

C++ Class Assignments

1

C++ Class Assignments

Page 2: a19

C++ Class Assignments

2

Lecture No- 1 Assignment No- 1

Objectives:

Write a simple program in C++ to display “Hello World”. Command to be Used 1. Cout<< Output:

#include<iostream.h> #include<conio.h> void main() {

cout<<“Hello World.”; getch();

}

Page 3: a19

C++ Class Assignments

3

Lecture No- 2 Assignment No- 1

Objective

Write a program to accept the radius of circle and display area of the circle as output Command to be Used 1. Cin>> 2. Cout<< Output:

#include<iostream.h> #include<conio.h> #define PI 3.14 //define a constant //program to calculate area of circle void main() { float radius; clrscr(); cout<<"Enter radius of circle"<<endl; cin>>radius; cout<<"Area of circle is "<< 2 * PI * radius; //calulate the area of //circle getch(); }

Page 4: a19

C++ Class Assignments

4

Lecture No- 2 Assignment No- 2

Objective

Write a program to process an order of pants, shirts, dresses, tie and display the invoice.

Command to be Used

1. Cin.getline() 2. Variables 3. Operators

Output:

Page 5: a19

C++ Class Assignments

5

#include <iostream.h> #include <conio.h> int main() { char customerName[60], customerPhone[20]; unsigned short shirts; unsigned short pants; unsigned short dresses; unsigned short ties; unsigned short totalItems; double priceShirts = 1.25; double pricePants = 2.75; double priceDresses = 3.25; double priceTies = 1.65; double taxRate = 5.75; // 5.75% double totalCostShirts, totalCostPants, totalCostDresses, totalCostTies; double totalCostCleaning; double amountTended, difference; double taxAmount, netPrice; int orderDay; int orderMonth; int orderYear; clrscr(); cout << " -=- Georgetown Cleaning Services -=-\n"; cout << "Enter Customer Name: "; cin >> ws; cin.getline(customerName, 60); cout << "Enter Customer Phone: "; cin.getline(customerPhone, 20); cout << "Enter the date this order was placed(dd mm yyyy)\n"; cin >> orderDay >> orderMonth >> orderYear; cout << "Enter number of shirts: "; cin >> shirts; cout << "Enter number of pants: "; cin >> pants; cout << "Enter number of dresses: "; cin >> dresses; cout << "Enter number of ties: "; cin >> ties; totalItems = shirts + pants + dresses + ties; totalCostShirts = shirts * priceShirts; totalCostPants = pants * pricePants; totalCostDresses = dresses * priceDresses; totalCostTies = ties * priceTies; totalCostCleaning = totalCostShirts + totalCostPants +

Page 6: a19

C++ Class Assignments

6

totalCostDresses + totalCostTies; taxAmount = totalCostCleaning * taxRate / 100; netPrice = totalCostCleaning + taxAmount; cout << "The total order is: " << netPrice << "\n"; cout << "Amount Tended: "; cin >> amountTended; difference = amountTended - netPrice; cout << "\n===================================="; cout << "\n-=- Georgetown Cleaning Services -=-"; cout << "\n===================================="; cout << "\nCustomer Order"; cout << "\nCustomer Name: " << customerName; cout << "\nCustomer Phone: " << customerPhone; cout << "\nOrder Date: " << orderMonth << '/' << orderDay << '/' << orderYear; cout << "\n------------------------------------" << "\nItem Type Unit Price Qty Sub-Total"; cout << "\n------------------------------------" << "\nShirts: " << priceShirts << " " << shirts << " " << totalCostShirts << "\nPants: " << pricePants << " " << pants << " " << totalCostPants << "\nDresses: " << priceDresses << " " << dresses << " " << totalCostDresses << "\nTies: " << priceTies << " " << ties << " " << totalCostTies; cout << "\n------------------------------------" << "\nTotal Number of Items: " << totalItems << "\nTotal Cleaning of Items: " << totalCostCleaning << "\nTax Rate: " << taxRate << "%" << "\nTax Amount: " << taxAmount << "\nNet Price: " << netPrice << "\nAmount Tended: " << amountTended << "\nDifference: " << difference << "\n"; getch(); return 0; }

Page 7: a19

C++ Class Assignments

7

Lecture No- 3 Assignment No- 1

Objective:

Write a program take input for transaction type as Deposit, Withdraw, Transfer and amount and display the message according to the Transaction type using Nested If Else. Command to be Used

1. If…else if

Output:

Page 8: a19

C++ Class Assignments

8

/* PROGRAM TO USE NESTED IF STATEMENT IN C++*/ #include <iostream.h> #include<conio.h> void main() { float amount; char transaction_code; clrscr(); cout<<"D - Cash Deposit, W - Cash Withdrawal, T - Cash Transfer\n"; cout<<"\nEnter the transaction code(D, W, T); "; cin>>transaction_code; if (transaction_code == 'D') { cout<<"\nDeposit transaction"; cout<<"\nEnter amount: "; cin>>amount; cout<<"\nPROCESSING....Please Wait"; cout<<"\nAmount deposited: "<<amount; cout<<"\n---THANK YOU!---"; } else if (transaction_code == 'W') { cout<<"\nWithdrawal transaction"; cout<<"\nEnter amount: "; cin>>amount; cout<<"\nPROCESSING....Please Wait"; cout<<"\nAmount withdrawn: "<<amount;

Page 9: a19

C++ Class Assignments

9

cout<<"\n---THANK YOU!---"; } else if (transaction_code == 'T') { cout<<"\nTransfer transaction"; cout<<"\nEnter amount: "; cin>>amount; cout<<"\nPROCESSING....Please Wait"; cout<<"\nAmount transferred: "<<amount; cout<<"\n---THANK YOU!---"; } else { cout<<"\nInvalid transaction!!"; cout<<"D = Deposit, W = Withdrawal, T = Transfer"; cout<<"\nPlease enters the correct transaction code: "; } cout<<"\n"; getche(); }

Page 10: a19

C++ Class Assignments

10

Lecture No- 3 Assignment No- 2

Objective:

Write a program for creating the multiplication table for the entered number Command to be Used

1. For…Loop Output:

#include<iostream.h> #include<conio.h> //loops //for loop void main() { int a,n; clrscr(); cout<<"enter a number for multiplication table"<<endl; cin>>n; for(a=1;a<=10;a++) { cout<<n<<" x "<<a<<" = "<<n*a<<endl; } getch(); }

Page 11: a19

C++ Class Assignments

11

Lecture No- 3 Assignment No- 3

Objective:

Write a program using nested…for loop. Command to be Used

1. Nested For…Loop Output:

#include<iostream.h> #include<conio.h> //loops //for loop void main() { int i,j; cout<<"Number Triangle \n"; for(i=1;i<=7;i++) { for(j=1;j<=i;j++) { cout<<j; } cout<<"\n"; } }

Page 12: a19

C++ Class Assignments

12

Lecture No. 3 Assignment No.4

Objective Write a program to accept a month in number and display name of month Commands to be used

1. switch case Output

#include<conio.h> #include<stdio.h> #include<iostream.h> void main<<) { int month; clrscr<<); cout<<“Enter any month in number\n”; Cin >>month; Switch<<month) { case 1: cout<<“January”; break; case 2: cout<<“February”; break; case 3: cout<<“March”; break; case 4: cout<<“April”; break; case 5: cout<<“May”; break; case 6: cout<<“June”; break; case 7: cout<<“July”; break; case 8: cout<<“August”; break; case 9: cout<<“September”; break; case 10: cout<<“October”; break; case 11: cout<<“November”; break; case 12: cout<<“December”; break; default: cout<<“Invalid month.”;break; } getch(); }

Page 13: a19

C++ Class Assignments

13

Lecture No- 4 Assignment No-1

Objective:

Write a program for finding the maximum member of an array Command to be Used

1. For 2. If 3. Single Dimensional Array

Output:

// Example of finding the maximum member of an array #include <iostream.h> #include <conio.h> int main() { // The members of the array int numbers[] = {8, 25, 36, 44, 52, 60, 75, 89}; int maximum = numbers[0]; int a = 8; // Compare the members for (int i = 1; i < a; ++i) { if (numbers[i] > maximum) maximum = numbers[i]; } // Announce the result cout << "The highest member value of the array is " << maximum << "." << endl; getch(); return 0; }

Page 14: a19

C++ Class Assignments

14

Lecture No- 4 Assignment No- 2

Objective:

Write a program for printing data Command to be Used

1. For 2. Single Dimensional Array 3. Double Dimensional Array

Output:

// Example of finding the maximum member of an array #include <iostream.h> #include <conio.h> int main() { // The members of the array int bk_id[4]={1,2,3,4}; char title[4][20]={"Jungle book","Twinkle","Little Stars","Dog and The Bone"}; cout<<"----------------------------------"; cout<<"\nBook Id"<<"\t\t"<<"Title"; cout<<"\n----------------------------------\n"; for(int i=0;i<4;i++) { cout<<bk_id[i]<<"\t\t"<<title[i]<<endl; } cout<<"\n----------------------------------"; getch(); return 0; }

Page 15: a19

C++ Class Assignments

15

Lecture No- 5 Assignment No- 1

Objective

Create program where Date of Birth stored in variable of user defined data type using structure Output:

#include<iostream.h> #include<conio.h> #include<string.h> //structures struct Date { int Dt; char month[5]; int year; char day[5]; }; void main() { struct Date Nittin_DOB; Nittin_DOB.Dt=25; strcpy(Nittin_DOB.month,"Jan"); Nittin_DOB.year=1978; strcpy(Nittin_DOB.day,"Wed"); clrscr(); cout<<"Nittin's Date of birth is "<<Nittin_DOB.Dt<<"/"<<Nittin_DOB.month<<"/"<<Nittin_DOB.year<<", "<<Nittin_DOB.day; getch(); }

Page 16: a19

C++ Class Assignments

16

Lecture No- 5 Assignment No- 2

Objective:

Write a program with enum data type. Command to be Used

1. enum Output:

#include<iostream.h> #include<conio.h> enum e_acompany { Audi=4, BMW=5, Cadillac=11, Ford=44, Jaguar=45, Lexus, Maybach=55, RollsRoyce=65, Saab=111 }; void main() { clrscr(); e_acompany my_car; my_car = Ford; if (my_car == Ford) cout << "Hello, Ford-car owner!" << endl; else cout<< "Oh! No!"; getch(); }

Page 17: a19

C++ Class Assignments

17

Lecture No- 6 Assignment No- 1

Objective:

Write a program to display the String in Upper Case, Lower Case, in reveres order, copy one string into another also calculate its length and compare two String. Command to be Used 1. String functions Output:

#include<stdio.h> #include<conio.h> #include<string.h> void main() { char s1[20],s2[20]; int l; clrscr(); printf("enter a string\n"); scanf("%s",&s1); l=strlen(s1);//length of string printf("\nLength of the string is %d",l); strupr(s1);//capital letters printf("\ns1 in Upper Case is %s",s1); strlwr(s1);//lower case printf("\ns1 in lower case is %s",s1);

Page 18: a19

C++ Class Assignments

18

strcpy(s2,s1);//copy s1 into s2 printf("\nCopy Strinf s1 into s2 is %s",s2); strcat(s1," patel");// or strcpy(s1,s2) --> add s2 to s1 printf("\nConcated String s1 with Patel is %s",s1); strrev(s1);//reverse the string printf("\nreversed order of s1 is %s",s1); getch(); }

Page 19: a19

C++ Class Assignments

19

Lecture No- 6 Assignment No- 2

Objective: Write a program to print system Date and Time.

Command to be Used Time functions

Output:

#include <dos.h> #include <stdio.h> #include<conio.h> #include<iostream.h> int main(void) { struct date d; clrscr(); getdate(&d); cout<<"The current year is:\t"<<(int)d.da_year; cout<<"\nThe current day is:\t"<<(int)d.da_day; cout<<"\nThe current month is:\t"<<(int)d.da_mon; getch(); return 0; }

Page 20: a19

C++ Class Assignments

20

Lecture No- 6 Assignment No- 3

Objective: This example demonstrates how to use some mathematics function like [acos(), asin(), atan(), atan2(), cos(), sin(), tan(), log(), log10(), pow(), sqrt(), ceil(), floor(), fmod(), abs(), labs()].

Command to be Used 1. acos() 2. asin() 3. atan() 4. atan2() 5. cos() 6. sin() 7. tan() 8. log() 9. log10() 10. pow() 11. sqrt() 12. ceil() 13. floor() 14. fmod() 15. abs() 16. labs()

Output:

Page 21: a19

C++ Class Assignments

21

#include<stdio.h> #include<conio.h> #include<math.h> void main() { int non_abs=-1230; long result; long x = -12345678L; double d1 = 5.0, d2 = 2.0; double number = 123.54; double down, up; double at1, at2; clrscr(); printf(" Absolute value of %d = %d",non_abs, abs(non_abs)); result= labs(x); printf("\n Number: %ld Absolute value of long number: %ld\n", x, result); printf("\n The remainder of (%lf / %lf) is %lf", d1, d2, fmod(d1,d2)); down = floor(number); up = ceil(number); printf("\n Number rounded down: %5.2lf", down); printf("\n Number rounded up: %5.2lf", up); printf("\n Square root of 16 = %lf", sqrt(9)); printf("\n Power of 9 = %lf", pow(9,2)); printf("\n The natural log of 800.6872 is: %lf", log(800.6872)); printf("\n The common log of 800.6872 is: %lf\n", log10(800.6872)); printf("\n The sin() of 0.5 is %lf", sin(0.5)); printf("\n The cosine of 0.5 is %lf", cos(0.5)); printf("\n The tan of 0.5 is %lf\n", tan(0.5)); printf("\n The arc sin of 0.5 is %lf", asin(0.5)); printf("\n The arc cosine of 0.5 is %lf", acos(0.5)); printf("\n The arc tangent of 0.5 is %lf", atan(0.5)); at1 = 90.0; at2 = 45.0; printf("\n The arc tangent ratio of %lf is %lf", (at2 / at1), atan2(at2, at1)); getch(); }

Page 22: a19

C++ Class Assignments

22

Lecture No- 7 Assignment No- 1

Objective

Create a function taking an integer parameter and return the value by incrementing it by 10 demonstrating the function call by value

Command to be Used

1. Functions Output:

#include <iostream> using namespace std; int incr10(int num); // Function prototype int main(void) { int num = 3; cout << endl << "incr10(num) = " << incr10(num) << endl << "num = " << num; cout << endl; return 0; } // Function to increment a variable by 10 int incr10(int num) // Using the same name might help... { num += 10; // Increment the caller argument - hopefully return num; // Return the incremented value }

Page 23: a19

C++ Class Assignments

23

Lecture No- 7 Assignment No- 2

Objective

Create a function taking an integer parameter as pointer and modify caller argument value by +10 demonstrating the function call by value

Command to be Used

1. Functions 2. Pointers

Output:

#include <iostream.h> #include <conio.h> int incr10(int* num); // Function prototype int main(void) { int num = 3; int* pnum = &num; // Pointer to num clrscr(); cout << endl << "Address passed = " << pnum; cout << endl << "incr10(pnum) = " << incr10(pnum); cout << endl << "num = " << num; cout << endl; getch(); return 0; } // Function to increment a variable by 10 int incr10(int* num) // Function with pointer argument {

Page 24: a19

C++ Class Assignments

24

cout << endl << "Address received = " << num; *num += 10; // Increment the caller argument - confidently return *num; // Return the incremented value }

Page 25: a19

C++ Class Assignments

25

Lecture No- 8 Assignment No- 1

Objective: Create a simple class for representing student and add attributes like name, rollno, address, marks and create a method to calculate the grade and display the details of student Command to be Used

1. Class 2. Object 3. Access specifier

Output:

#include<conio.h> #include<iostream.h> #include<string.h> class Student { private: int Rollno; char name[10]; char Grade; public: char div; int std;

Page 26: a19

C++ Class Assignments

26

Student() { Rollno=1; strcpy(name,"Ajay"); Grade='B'; div='C'; std=11; } Student(int r,char n[10]) { Rollno=r; strcpy(name,n); Grade='B'; div='C'; std=11; } Student(int r,char n[10],char g,char d,int s) { Rollno=r; strcpy(name,n); Grade=g; div=d; std=s; } void display() { cout<<"\nRoll Number:"<<Rollno<<endl; cout<<"name:"<<name<<endl; cout<<"Grade:"<<Grade<<endl; cout<<"Division:"<<div<<endl; cout<<"Standard:"<<std<<endl; } }; void main() { Student std1(1,"prachi",'A','A',14),std2(2,"raju"),std3; clrscr(); std1.display(); std2.display(); std3.display(); getch(); }

Page 27: a19

C++ Class Assignments

27

Lecture No- 8 Assignment No- 2

Objective: Write a Program for defining member functions outside the class using scope resolution operator

Command Used/Concept:

1. Constructor Overloading 2. Private ,Public 3. Scope Resolution Operator

Output:

#include<conio.h> #include<iostream.h> #include<string.h> class Student { private: int Rollno; char name[10]; char Grade; public: char div; int std; Student() {

Page 28: a19

C++ Class Assignments

28

Rollno=1; strcpy(name,"Ajay"); Grade='B'; div='C'; std=11; } Student(int r,char n[10]) { Rollno=r; strcpy(name,n); Grade='B'; div='C'; std=11; } Student(int r,char n[10],char g,char d,int s) { Rollno=r; strcpy(name,n); Grade=g; div=d; std=s; } void display(); }; void Student::display() { cout<<"\nRoll Number:"<<Rollno<<endl; cout<<"name:"<<name<<endl; cout<<"Grade:"<<Grade<<endl; cout<<"Division:"<<div<<endl; cout<<"Standard:"<<std<<endl; } void main() { Student std1(1,"prachi",'A','A',14),std2(2,"raju"),std3; clrscr(); std1.display(); std2.display(); std3.display(); getch(); }

Page 29: a19

C++ Class Assignments

29

Lecture No- 9 Assignment No- 1

Objective:

Create a class where each object is a message of some description, for example, a text string. The class to be as memory efficient as possible, so, rather than defining a data member as a char array big enough to hold the maximum length string that might require, allocate memory on the free store for a message when an object is created

Command to be Used

1. Pointers 2. Reference operators

Output:

// Class with an explicit destructor #include <iostream.h> #include <conio.h> class Box // Class definition at global scope { public: // Destructor definition ~Box() { cout << "Destructor called." << endl; } // Constructor definition Box(double lv=1.0, double bv=1.0, double hv=1.0) { cout << endl << "Constructor called."; length = lv; // Set values of breadth = bv; // data members height = hv; } // Function to calculate the volume of a box double Volume() {

Page 30: a19

C++ Class Assignments

30

return length * breadth * height; } // Function to compare two boxes which // returns true if the first is greater // than the second, and false otherwise int compare(Box* pBox) { return this->Volume() > pBox->Volume(); } private: double length; // Length of a box in inches double breadth; // Breadth of a box in inches double height; // Height of a box in inches }; int main() { Box Boxes[5]; // Array of Box objects declared Box Cigar(8.0, 5.0, 1.0); // Declare Cigar box Box Match(2.2, 1.1, 0.5); // Declare Match box // Initialize pointer to Cigar object address Box* pB1 = &Cigar; Box* pB2 = 0; // Pointer to Box initialized to null clrscr(); cout << endl << "Volume of Cigar is " << pB1->Volume(); // Volume of obj. pointed to pB2 = Boxes; // Set to address of array Boxes[2] = Match; // Set 3rd element to Match cout << endl // Now access thru pointer << "Volume of Boxes[2] is " << (pB2 + 2)->Volume(); cout << endl; getch(); return 0; }

Page 31: a19

C++ Class Assignments

31

Lecture No- 9 Assignment No- 2

Objective: Write a program to perform the addition of two numbers using friend function Command Used:

1. Friend function Output:

#include<iostream.h> #include<conio.h> class exforsys { private: int a,b; public: void test() { a=100; b=200; } friend int compute(exforsys e1); }; int compute(exforsys e1) { //Friend Function Definition which has access to private data return int(e1.a+e1.b)-5; } void main() { clrscr(); exforsys e; e.test(); cout<<"The result is:"<<compute(e); getch(); //Calling of Friend Function with object as argument. }

Page 32: a19

C++ Class Assignments

32

Lecture No- 9 Assignment No- 3

Objective: Write a program to add two time values using friend function and scope resolution operator Command Used:

1. Scope resolution operator Output:

#include<iostream.h> #include<conio.h> class time { int min,sec; public: void gettime(int m,int s); void disptime(); void addtime(time,time); }; void time::gettime(int m,int s) { min=m; sec=s; } void time::disptime() { cout<<"\n\nMinutes :"<<min<<"\nSeconds :"<<sec; } void time::addtime(time t1,time t2) { min=t1.min+t2.min;

Page 33: a19

C++ Class Assignments

33

sec=t1.sec+t2.sec; while(sec>60) { min=min+1; sec=sec-60; } } void main() { clrscr(); time t3,t4,t5; t3.gettime(23,45); t4.gettime(12,45); t3.disptime(); t4.disptime(); t5.addtime(t3,t4); t5.disptime(); getch(); }

Page 34: a19

C++ Class Assignments

34

Lecture No- 10 Assignment No- 1

Objective Create a student class having attributes rollno, std, division, result and a constructor to initial Std and Division. Create two objects of this class and copy the std & division from first object into second using copy constructor. Command to be Used

1. Copy Constructor

Output:

#include<iostream.h> #include<conio.h> #include<string.h> //example of copy constructor class student { private: char division; int standard; public: char name[10]; int rollno; char result[10]; //constructor student(int std,char div) { standard=std; division=div; } void setvalues(int roll,char n[10],char r[10])

Page 35: a19

C++ Class Assignments

35

{ rollno=roll; strcpy(name,n); strcpy(result,r); } void showresult() { cout<<"\nstanndard:"<<standard; cout<<"\ndivision:"<<division; cout<<"\nrollno:"<<rollno; cout<<"\nName:"<<name; cout<<"\nResult:"<<result; } }; void main() { student std1(12,'D'); std1.setvalues(1,"krishan","pass"); clrscr(); std1.showresult(); student std2(std1); std2.setvalues(2,"raja","pass"); std2.showresult(); getch(); }

Page 36: a19

C++ Class Assignments

36

Lecture No- 10 Assignment No- 2

Objective: Create a rectangle class having constructor to initialize square and rectangle using constructor overloading Command to be Used

1. Constructor Overloading Output:

#include<iostream.h> #include<conio.h> #include<math.h> class rectangle { public: float l,b; //constructor for square rectangle(int x) { l=x; b=x; } //constructor for normal rectangle

Page 37: a19

C++ Class Assignments

37

rectangle(int x,int y) { l=x; b=y; } void length() { cout<<endl<<"l="<<l; } void breadth() { cout<<endl<<"b="<<b; } float area() { return(l*b); } float perimeter() { return(2*(l+b)); } float diagonal() { return sqrt((l*l)+(b*b)); } }; void main() { rectangle rect(5,4); rectangle square(5); clrscr(); cout<<"\n\n========RENTANGLE========"<<endl; rect.length(); rect.breadth(); cout<<endl<<"diagonal="<<rect.diagonal()<<endl; cout<<"Area of rectangle="<<rect.area()<<endl; cout<<"perimeter of rectangle="<<rect.perimeter(); cout<<"\n\n========SQUARE========"<<endl; square.length(); square.breadth(); cout<<endl<<"diagonal square="<<square.diagonal()<<endl;

Page 38: a19

C++ Class Assignments

38

cout<<"Area of square="<<square.area()<<endl; cout<<"perimeter of square="<<square.perimeter(); getch(); }

Page 39: a19

C++ Class Assignments

39

Lecture No- 11 Assignment No- 1

Objective Write a program to calculate product and division using inline function Command to be Used

1. Inline Function

Output:

/* PROGRAM ON INLINE FUNCTION*/ #include<iostream.h> #include<conio.h> inline float mul(float x, float y) { return (x*y); } inline double div(double p,double q) { return (p/q); } void main() { clrscr(); float a=12.345; float b=9.82; cout <<"product:"<< mul(a,b) << endl; cout <<"division:"<< div(a,b) << endl; getch(); }

Page 40: a19

C++ Class Assignments

40

Lecture No- 11 Assignment No- 2

Objective: Create a class MyClass, declare a variable x and methods get_x(), set_x(int), then create the array of objects for this class and set the values for object & display it Command to be Used

1. Object Array Output

/* Arrays of objects*/ #include<iostream> #include<conio.h> using namespace std; class MyClass { int x; public: void set_x(int i){x=i;} int get_x() {return x;} }; int main() { MyClass obs[4];//creating object array int i; for(i=0;i<4;i++) { obs[i].set_x(i); } for(i=0;i<4;i++) { cout<<"obs["<<i<<"].get_x():"<<obs[i].get_x()<<"\n"; } getch(); return 0; }

Page 41: a19

C++ Class Assignments

41

Lecture No- 12 Assignment No- 1

Objective: Write a program for overloading unary operator for finding the coordinates of point in space of mirror image Command to be Used

1. Operator Overloading Output:

#include<iostream.h> #include<conio.h> class space { int x; int y; int z; public: void getdata(int a,int b,int c); void display(); void operator-(); }; void space::getdata(int a,int b,int c) { x=a;y=b;z=c; } void space::display() { cout<<"x="<<x<<", y="<<y<<", z="<<z; } void space::operator-() { x=-x; y=-y; z=-z;

Page 42: a19

C++ Class Assignments

42

} void main() { space s; s.getdata(10,-20,30); clrscr(); cout<<"\ncoordinate of a point in space:\n"; s.display(); -s; cout<<"\ncoordinate of a point in space of mirror image:\n"; s.display(); getch(); }

Page 43: a19

C++ Class Assignments

43

Lecture No- 12 Assignment No- 2

Objective: Write a program for adding two complex numbers using binary operator overloading. Command to be Used

1. Operator overloading. Output:

#include<iostream.h> #include<conio.h> class complex { float x,y; public: complex(){} complex(float r,float i) { x=r; y=i; } complex operator+(complex); void display() { cout<<x<<"+"<<y<<"i"<<endl; } }; complex complex::operator+(complex c) { complex temp; temp.x=x+c.x; temp.y=y+c.y; return(temp); } void main() {

Page 44: a19

C++ Class Assignments

44

complex c1,c2,c3; c1=complex(10,20); c2=complex(3,54); c3=c1+c2; clrscr(); cout<<" ";c1.display(); cout<<"+ ";c2.display(); cout<<"-----------"<<endl; cout<<" ";c3.display(); getch(); }

Page 45: a19

C++ Class Assignments

45

Lecture No- 13 Assignment No- 1

Objective Write a program to define class student with constructor taking id & name as parameter. Also derived class CommerceStudent taking parameter paramter id, name, result (marks) and pass it to base class Command to be Used

2. Inheritance

Output:

#include<iostream.h> #include<conio.h> #include<string.h> class student { int id; char name[20]; public: student(int i,char nm[]) { id=i; strcpy(name,nm); } void dispDetails() { cout<<"\nId :"<<id; cout<<"\nName :"<<name; } }; class CommerceStudent:public student { int res;

Page 46: a19

C++ Class Assignments

46

public: CommerceStudent(int i,char nm[],int r):student(i,nm) { res=r; } void DisplayResult() { cout<<"\nResult: "<<res; } }; void main() { clrscr(); CommerceStudent C1(1,"Magesh",67); C1.dispDetails(); C1.DisplayResult(); getch(); }

Page 47: a19

C++ Class Assignments

47

Lecture No- 13 Assignment No- 2

Objective Create a class Cycle and another class bike and derive the characteristic of cycle into bike using inheritance Command to be Used

1. Inheritance

Output:

#include<iostream.h> #include<conio.h> #include<string.h> //single inheritance class Cycle { protected: int tyres; char tyreThickness[20]; char color[10];

Page 48: a19

C++ Class Assignments

48

char handle[20]; char mechanism[10]; char alert[10]; public: Cycle() { tyres=2; strcpy(tyreThickness,"thin"); strcpy(color,"black"); strcpy(handle,"with brakes"); strcpy(mechanism,"Paddel"); strcpy(alert,"bell"); } void display() { cout<<endl<<"===============Cycle======================"<<endl; cout<<"Tyres:"<<tyres<<endl; cout<<"Tyres width:"<<tyreThickness<<endl; cout<<"Handle:"<<handle<<endl; cout<<"Riding Mechanism:"<<mechanism<<endl; cout<<"Alert:"<<alert<<endl; cout<<"Color:"<<color<<endl; cout<<endl<<"========================================="<<endl; } }; class Bike:Cycle { char engine[20]; char powersupply[10]; public: Bike(char c[10]) { strcpy(color,c); strcpy(handle,"with brakes & accelarator"); strcpy(mechanism,"motor"); strcpy(engine,"4 stroke"); strcpy(tyreThickness,"broad"); strcpy(alert,"Horn"); strcpy(powersupply,"Petrol"); } void display() { cout<<endl<<"===============Bike======================="<<endl; cout<<"Tyres:"<<tyres<<endl; cout<<"Tyres width:"<<tyreThickness<<endl; cout<<"Handle:"<<handle<<endl; cout<<"Riding Mechanism:"<<mechanism<<endl; cout<<"Alert:"<<alert<<endl; cout<<"Color:"<<color<<endl; cout<<"Engine:"<<engine<<endl; cout<<"Power supply:"<<powersupply<<endl; cout<<endl<<"==================================="<<endl;

Page 49: a19

C++ Class Assignments

49

} }; void main() { Cycle c; clrscr(); c.display(); Bike b("red"); b.display(); getch(); }

Page 50: a19

C++ Class Assignments

50

Lecture No- 13 Assignment No- 3

Objective Write a program to define a class student and a derived class EnggStudent of student Command to be Used

1. Inheritance Output:

#include<iostream.h> #include<conio.h> #include<string.h> class student { int id; char name[20]; public: void getDetails(int i,char nm[]) { id=i; strcpy(name,nm); } void dispDetails() { cout<<"\nId :"<<id; cout<<"\nName :"<<name; } }; class EnggStudent:public student { int sub1,sub2,sub3,res; public: void getMarks(int s1,int s2,int s3) { sub1=s1; sub2=s2; sub3=s3;

Page 51: a19

C++ Class Assignments

51

} char DisplayResult() { res=(sub1+sub2+sub3)/3; if(res>=50) return 'P'; else return 'F'; } }; void main() { clrscr(); EnggStudent E1; E1.getDetails(1,"Meena"); E1.dispDetails(); E1.getMarks(78,78,97); char R; R=E1.DisplayResult(); if(R=='P') cout<<"\tPassed"; else if(R=='F') cout<<"\tFail "; else cout<<"\tAbsent"; getch(); }

Page 52: a19

C++ Class Assignments

52

Lecture No- 13 Assignment No- 4

Objective To write a program for, Hierarchical Inheritance Command to be Used

1. Inheritance

Output:

#include<iostream.h> #include<conio.h> #include<string.h> class student { int id; char name[20]; public: void getDetails(int i,char nm[]) { id=i; strcpy(name,nm); } void dispDetails() { cout<<"\nId :"<<id; cout<<"\nName :"<<name; } }; class EnggStudent:public student { int sub1,sub2,sub3,res; public: void getMarks(int s1,int s2,int s3)

Page 53: a19

C++ Class Assignments

53

{ sub1=s1; sub2=s2; sub3=s3; } char DisplayResult() { res=(sub1+sub2+sub3)/3; if(res>=50) return 'P'; else return 'F'; } }; class ScienceStudent:public student { int sub1,sub2,sub3,sub4,res; public: void getMarks(int s1,int s2,int s3,int s4) { sub1=s1; sub2=s2; sub3=s3; sub4=s4; } char DisplayResult() { res=(sub1+sub2+sub3+sub4)/4; if(res>=50) return 'P'; else return 'F'; } }; void main() { clrscr(); EnggStudent E1; E1.getDetails(11,"Meena"); E1.dispDetails(); E1.getMarks(78,78,97); char R; R=E1.DisplayResult(); if(R=='P') cout<<"\tPassed"; else if(R=='F') cout<<"\tFail "; else cout<<"\tAbsent"; ScienceStudent S1;

Page 54: a19

C++ Class Assignments

54

S1.getDetails(12,"Vani"); S1.dispDetails(); S1.getMarks(78,68,77,81); char R1; R1=S1.DisplayResult(); if(R1=='P') cout<<"\tPassed"; else if(R1=='F') cout<<"\tFail "; else cout<<"\tAbsent"; getch(); }

Page 55: a19

C++ Class Assignments

55

Lecture No- 14 Assignment No- 1

Objective Write a program for to illustrate virtual functions Command to be Used 1. Virtual functions 2. Pointer 3. Reference Operator

Output:

#include <iostream.h> #include<conio.h> class CPolygon { protected: int width, height; public: void set_values (int a, int b) { width=a; height=b; } virtual int area ()=0; }; class CRectangle: public CPolygon { public: int area () { return (width * height); } }; class CTriangle: public CPolygon { public: int area () { return (width * height / 2); } };

Page 56: a19

C++ Class Assignments

56

void main () { clrscr(); CRectangle rect; CTriangle trgl; CPolygon * ppoly1 = &rect; CPolygon * ppoly2 = &trgl; ppoly1->set_values (4,5); ppoly2->set_values (4,5); cout<<"Area of Rectangle :"; cout << ppoly1->area() << endl; cout<<"Area of Triangel :"; cout << ppoly2->area() << endl; getch(); }

Page 57: a19

C++ Class Assignments

57

Lecture No- 14 Assignment No- 2

Objective Write a program for to illustrate virtual functions Command to be Used 1. Virtual Keyword Output:

#include <iostream.h> #include<conio.h> #include<string.h> class ABC { protected: public: virtual void abc() { cout<<"\nABC class function called..."; } }; class XYZ: public ABC { public: void abc() { cout <<"\nXYZ class function called..."; } }; void main() { clrscr(); ABC *p;

Page 58: a19

C++ Class Assignments

58

XYZ obj; obj.abc(); p=&obj; p->abc(); getch();

}

Page 59: a19

C++ Class Assignments

59

Lecture No- 14 Assignment No- 3

Objective Create a user-defined type AddsTwoIntegers which is a pointer to a function that can take two integers and perform addition Command to be Used

1. type def

Output:

#include <iostream.h> #include <conio.h> int Addition(int a, int b) { return a + b; } int main() { // Creating a programmer-defined type typedef int (*AddTwoIntegers)(int x, int y); AddTwoIntegers TwoNumbers; int x = 128, y = 5055; TwoNumbers = Addition; // Call the pointer to function as if it had been defined already clrscr(); cout << x << " + " << y << " = " << TwoNumbers(x, y); getch(); return 0; }

Page 60: a19

C++ Class Assignments

60

Lecture No- 15 Assignment No- 1

Objective: Write a program to align the text with equal spacing using manipulators Command to be Used

1. iomanip.h 2. setw()

Output:

#include <iostream.h> #include <iomanip.h> #include<stdlib.h> #include<conio.h> void main( ) { clrscr(); int x1=12345,x2= 23456, x3=7892; cout << setw(8) << "Exforsys" << setw(20) << "Values" << endl; cout<< setw(8) << "E1234567" << setw(20)<< x1 << endl; cout<< setw(8) << "S1234567" << setw(20)<< x2 << endl; cout<< setw(8) << "A1234567" << setw(20)<< x3 << endl; getch(); }

Page 61: a19

C++ Class Assignments

61

Lecture No- 15 Assignment No- 2

Objective Write a program to set number of decimal to display using setprecision() Command to be Used 1. iomanip.h 2. setprecision()

Output:

#include <iostream.h> #include <iomanip.h> #include<conio.h> void main( ) { clrscr(); float x = 345.9961; cout << "fixed " << setprecision(3) << x << endl; cout << "sceintific "<< x << endl; getch(); }

Page 62: a19

C++ Class Assignments

62

Lecture No- 16 Assignment No- 1

Objective Write a program to add elements in a Linked List and to Display. Command to be Used

1. Pointers

Output:

#include <iostream.h> #include<conio.h> class linklist { private: struct node { int data; node *link; }*p; public: linklist(); void append( int num );

Page 63: a19

C++ Class Assignments

63

void add_as_first( int num ); void addafter( int c, int num ); void del( int num ); void display(); int count(); ~linklist(); }; linklist::linklist() { p=NULL; } void linklist::append(int num) { node *q,*t; if( p == NULL ) { p = new node; p->data = num; p->link = NULL; } else { q = p; while( q->link != NULL ) q = q->link; t = new node; t->data = num; t->link = NULL; q->link = t; } } void linklist::add_as_first(int num) { node *q; q = new node; q->data = num; q->link = p; p = q; } void linklist::addafter( int c, int num) { node *q,*t; int i; for(i=0,q=p;i<c;i++) { q = q->link; if( q == NULL )

Page 64: a19

C++ Class Assignments

64

{ cout<<"\nThere are less than "<<c<<" elements."; return; } } t = new node; t->data = num; t->link = q->link; q->link = t; } void linklist::del( int num ) { node *q,*r; q = p; if( q->data == num ) { p = q->link; delete q; return; } r = q; while( q!=NULL ) { if( q->data == num ) { r->link = q->link; delete q; return; } r = q; q = q->link; } cout<<"\nElement "<<num<<" not Found."; } void linklist::display() { node *q; cout<<endl; for( q = p ; q != NULL ; q = q->link ) cout<<endl<<q->data; } int linklist::count() { node *q; int c=0; for( q=p ; q != NULL ; q = q->link )

Page 65: a19

C++ Class Assignments

65

c++; return c; } linklist::~linklist() { node *q; if( p == NULL ) return; while( p != NULL ) { q = p->link; delete p; p = q; } } void main() { clrscr(); linklist ll; cout<<"No. of elements = "<<ll.count(); ll.append(12); ll.append(13); ll.append(23); ll.append(43); ll.append(44); ll.append(50); ll.add_as_first(2); ll.add_as_first(1); ll.addafter(3,333); ll.addafter(6,666); ll.display(); cout<<"\nNo. of elements = "<<ll.count(); ll.del(333); ll.del(12); ll.del(98); cout<<"\nNo. of elements = "<<ll.count(); getch(); }

Page 66: a19

C++ Class Assignments

66

Lecture No- 17 Assignment No- 1

Objective:

Write a program to add text into a File.

Command to be Used

1. ofstream

Output:

/*program on file stream*/ #include<iostream.h> #include<fstream.h> #include<string.h> #include<stdio.h> #include<conio.h> void main() { clrscr(); char string[80]; cout << "Enter a String \n"; gets(string); int len = strlen(string); fstream file; file.open("Test.txt",ios::out | ios::in); for(int i=0; i<len; i++) file.put(string[i]); file.seekg(0); //Moves get pointer(input)to a specified location. char ch; while(file) { file.get(ch); cout << ch; } file.close(); cout << "\nData stored Successfully";

Page 67: a19

C++ Class Assignments

67

getch();}

Page 68: a19

C++ Class Assignments

68

Lecture No- 17 Assignment No- 2

Objective Write a program to accept the no of items and cost and save it in file and read the content of the file to display the no of items and cost. Commands to be used

1. ifstream 2. ofstream

Output

#include<iostream.h> #include<fstream.h> #include<conio.h> void main() { ofstream outf("Items.txt");//connect items file to outf clrscr(); cout<<"Enter item name\n"; char name[30]; cin>>name; outf<<name<<"\n";//write to file cout<<"enter item cost:"; float cost; cin>>cost; outf<<cost<<"\n"; outf.close(); ifstream inf("items.txt"); inf>>name; inf>>cost; cout<<"\n"; cout<<"items name:"<<name<<endl; cout<<"item cost:"<<cost; inf.close(); getch(); }

Page 69: a19

C++ Class Assignments

69

Lecture No- 18 Assignment No- 1

Objective Write a program, using template to Display Values Command to be Used Template class Output:

/* PROGRAME RELATED TO TEMPLATE*/ #include<iostream.h> #include<conio.h> template <class T1, class T2> void Function(T1 x, T2 y) { cout << x << "\t" << y << endl; } void main() { clrscr(); Function(10,20); Function(10.5,12.5); Function('I','J'); getch(); }

Page 70: a19

C++ Class Assignments

70

Lecture No- 18 Assignment No- 2

Objective Write a program sorting using Template Function Command to be Used

1. Template Output:

/*PROGRAME RELATED TO TEMPLATE */ #include<iostream.h> #include<conio.h> template<class T1, class T2> class MyClass { private: T1 i; T2 j,c; public: void Put(); void Get(); T2 Multi(); }; template<class T1, class T2> void MyClass<T1,T2>::Put() { cout << "The Product is : " << c << endl; } template<class T1, class T2> void MyClass<T1,T2>::Get() { cout << "Enter the value of x : ";

Page 71: a19

C++ Class Assignments

71

cin >> i; cout << "Enter the value of y : "; cin >> j; } template<class T1, class T2> T2 MyClass<T1,T2>::Multi() { c = i*j; return c; } void main() { clrscr(); MyClass<int,int> a; MyClass<int,double> b; a.Get(); a.Multi(); a.Put(); b.Get(); b.Multi(); b.Put(); getch(); }