VISVESVARAYA TECHNOLOGICAL UNIVERSITY
BELAGAVI
LAB MANUAL
OBJECT ORIENTED PROGRAMMING USING C+
+
(BCS306B)
NAME: LAXMI B
MAGADUM
USN : 2VX22CBO23
SEM : III
PROGRAMME: COMPUTER SCIENCE AND
BUSSINESS SYSTEM
Certificate
This is certify that Mr./Mrs.
with USN has satisfactorily completed all the
Laboratory Assignment of Subject Object-Oriented Programming with
C++ having Subject Code BCS306B during the academic year 2023-24.
Faculty in-charge Programme co-ordinator
Signature of the Examiners
1. Develop a C++ program to find the largest of three numbers
Aim: Finding the largest of three numbers
Algorithm:
Start.
Read three numbers (num1, num2, num3) from the user.
Assume the first number (num1) is the largest.
Compare num2 with the current largest. If num2 is greater, update
the largest to num2.
Compare num3 with the current largest. If num3 is greater, update
the largest to num3.
Print the largest number.
Stop.
Source code:
#include<iostream>
using namespace std;
int main()
double x1,x2,x3;
cout<<"Enter any three numbers";
cin>>x1>>x2>>x3;
if(x1>=x2 && x1>=x3)
cout<<"Largest number is:"<<x1;
else if(x2>=x1 && x2>=x3)
cout<<"Largest number is:"<<x2;
else
cout<<"Largest number is:"<<x3;
return 0;
}
OUTPUT 1:
Enter any three numbers: 45
24
56
Largest number is: 56
OUTPUT 2:
Enter any three numbers: 67
99
78
Largest number is: 99
2. Develop a C++ program to sort the elements in ascending and
descending order.
Aim: Sorting the elements in ascending and
descending order.
Algorithm:
Here are the steps to find the largest of three
numbers:
Start.
Read three numbers (num1, num2, num3)
from the user.
Assume the first number (num1) is the largest.
Compare num2 with the current largest. If
num2 is greater, update the largest to num2.
Compare num3 with the current largest. If
num3 is greater, update the largest to num3.
Print the largest number.
Stop.
Here are the steps to sort three numbers in
ascending order:
Start.
Read three numbers (num1, num2, num3)
from the user.
Compare num1 with num2. If num1 is greater
than num2, swap them.
Compare the new num1 (which could be the
original num1 or num2) with num3. If num1 is
greater than num3, swap them.
Compare num2 with num3. If num2 is greater
than num3, swap them.
Print the numbers in ascending order (num1,
num2, num3).
Stop.
Source code:
#include<iostream>
using namespace std;
int main()
int num[100],n;
int i,j,temp;
cout<<"Enter n for the numbers you want to sort:"<<endl<<endl;
cin>>n;
for(i=0;i<n;i++){
cout<<"Enter number"<<endl;
cin>>num[i];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(num[i]<num[j]){
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
cout<<"Ascending: "<<endl;
for(i=0;i<n;i++){
cout<<" "<<num[i]<<endl;;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(num[i]>num[j]){
temp=num[i];
num[i]=num[j];
num[j]=temp;
cout<<" Descending:"<<endl;
for(i=0;i<n;i++){
cout<<" "<<num[i]<<endl;
return 0;
OUTPUT 1:
Enter number of values you want to sort: 4
Enter value
67
Enter value
19
Enter value
88
Enter value
98
Ascending:
19
67
88
98
Descending:
98
88
67
19
OUTPUT 2:
Enter number of values you want to sort: 3
Enter value
98
Enter value
Enter value
23
Ascending:
23
98
Descending:
98
23
5
3. Develop a C++ program using classes to display student name, roll
number, marks obtained in two subjects and total score of student
Aim: Display student name, roll number, marks obtained
in two subject and total score of student using classes.
Algorithm:
Start
Define a class Student
Declare private member variables for name,
roll number, marks of two subjects, and total
score
Define public member functions to set and get
values for name, roll number, marks, and
calculate total score
Read student details (name, roll number,
marks of two subjects) from user input
Create an object of the Student class
Set the values for name, roll number, and
marks using the public member functions
Calculate the total score
Print student details (name, roll number,
marks, total score)
Stop
Source code:
#include<iostream>
using namespace std;
class Student
{
public:
string name;
int roll_no;
int marks1;
int marks2;
int total_score()
{
return marks1 + marks2;
};
int main()
{
Student s1;
cout<<"Enter the name of the student:";
cin>>s1.name;
cout<<"Enter the roll number of student:";
cin>>s1.rno;
cout<<"Enter the marks of the student in subject 1:";
cin>>s1.marks1;
cout<<"Enter the marks of the student in subject 2:";
cin>>s1.marks2;
cout<<"The name of the student is:"<<s1.name<<endl;
cout<<"The roll number of the student is:"<<s1.roll_no<<endl;
cout<<"The marks of the student in subject 1
are:"<<s1.marks1<<endl;
cout<<"The marks of the student in subject 2
are:”<<s1.marks2<<endl;
cout<<"The total score of the student is:"<<s1.total_score()<<endl;
return 0;
}
OUTPUT 1:
Enter the name of the student :Abc
Enter the roll number of the student : 23
Enter the marks of the student in subject 1:87
Enter the marks of the student in subject 2: 89
The name of the student is :Abc
The roll number of the student is: 23
The marks of the student in subject 1 are:87
The marks of the student in subject 2 are: 89
The total score of the student is : 176
OUTPUT 2:
Enter the name of the student :Laxmi
Enter the roll number of the student : 76
Enter the marks of the student in subject 1:34
Enter the marks of the student in subject 2: 87
The name of the student is :Laxmi
The roll number of the student is: 76
The marks of the student in subject 1 are:34
The marks of the student in subject 2 are: 87
The total score of the student is : 121
4. Develop a C++ program for a bank empolyee to print name of the employee,
account_no. & balance.Print invalid balance if amount<500, Display the same,
also display the balance after withdraw and deposit.
Aim: Display the information about bank employee.
Algorithm:
Start
Read employee's name, account number, and initial
balance from user input
If initial balance is less than 500, print "Invalid balance"
and stop
Print employee's name, account number, and initial
balance
Read withdrawal amount from user input
If withdrawal amount is less than or equal to balance,
subtract withdrawal amount from balance and print new
balance
Else, print "Insufficient balance" and stop
Read deposit amount from user input
Add deposit amount to balance and print new balance
Stop
Source code:
#include <iostream>
#include <string>
using namespace std;
class BankEmployee {
private:
string name;
int accountNo;
double balance;
public:
BankEmployee() {}
void setDetails() {
cout << "Enter name: ";
cin>>name;
cout << "Enter account number: ";
cin >> accountNo;
cout << "Enter balance: ";
cin >> balance;
}
void printDetails() {
cout << "Name: " << name << endl;
cout << "Account No.: " << accountNo << endl;
cout << "Balance: " << balance << endl;
}
void withdraw(double amount) {
if (balance - amount < 500) {
cout << "Invalid balance!" << endl;
return;
}
balance -= amount;
cout << "Withdrawal successful. Balance after withdrawal: " << balance
<< endl;
}
void deposit(double amount) {
balance += amount;
cout << "Deposit successful. Balance after deposit: " << balance << endl;
}
};
int main() {
BankEmployee employee;
employee.setDetails();
employee.printDetails();
cout << "Enter withdrawal amount: ";
double withdrawAmount;
cin >> withdrawAmount;
employee.withdraw(withdrawAmount);
cout << "Enter deposit amount: ";
double depositAmount;
cin >> depositAmount;
employee.deposit(depositAmount);
return 0;
}
OUTPUT 1:
Enter name: xyz
Enter account number: 666554
Enter balance: 7000
Name: xyz
Account No.: 666554
Balance: 7000
Enter withdrawal amount: 500
Withdrawal successful. Balance after withdrawal: 6500
Enter deposit amount: 600
Deposit successful. Balance after deposit: 7100
OUTPUT 2:
Enter name: ABC
Enter account number: 666754
Enter balance: 700
Name: ABC
Account No.: 666754
Balance: 700
Enter withdrawal amount: 500
Withdrawal successful. Balance after withdrawal: 200
Enter deposit amount: 600
Deposit successful. Balance after deposit: 1300
5. Develop a C++ program to demonstrate function overloading for the
following prototypes.
Add(int a, int b)
add(double a, double b)
Aim: Demonstrate function overloading.
Algorithm:
Start. Define a function Add with parameters (int a,
int b) that returns the sum of a and b
Define another function Double with parameters
(double a, double b) that returns the product of a
and b
Call Add with integer arguments and store the
result
Call Double with double arguments and store the
result
Print the results and stop.
Source code:
#include <iostream>
using namespace std;
void add(int a, int b)
{
cout << "sum = " << (a + b);
}
void add(double a, double b)
{
cout << endl << "sum = " << (a + b);
}
int main()
{
add(10, 2);
add(5.3, 6.2);
return 0;
}
Output :
sum = 12
sum = 11.5
6. Develop a C++ program using Operator Overloading for overloading Unary
minus operator.
Aim: Overloading Unary minus operator
Algorithm:
Start
Define a Class: Create a class named MyNumber with a
private member variable value.
Unary Minus Overloading: Overload the unary minus
operator (operator-) to return a new MyNumber object with
the negated value.
Display Method: Implement a method named display to
display the
value of the object.
Main Function: In the main function, create instances of
MyNumber,
apply unary minus overloading, and display the original
and modified
numbers.
Stop
Source code:
#include<iostream>
class MyNumber
{
private:
int value;
public:
MyNumber(int val) : value(val) {}
MyNumber operator-() {
return MyNumber(-value);
}
void display() {
std::cout << "Value: " << value << std::endl;
}
};
int main() {
MyNumber num1(5);
MyNumber num2 = -num1;
std::cout << "Original Number:" << std::endl;
num1.display();
std::cout << "Number after Unary Minus Overloading:" << std::endl;
num2.display();
return 0;
}
OUTPUT 1:
Original Number:
Value: 5
Number after Unary Minus Overloading:
Value: -5
OUTPUT 2:
Original Number:
Value: 8
Number after Unary Minus Overloading:
Value: -8
7. Develop a C++ program to implement Multiple inheritance for
performing arithmetic operation of two numbers
Aim : Multiple inheritance for arithmetic operation
Algorithm :
Start
Numbers is the base class which contains two protected data members
num1 and num2.
Addition is a derived class from Numbers which performs addition.
Multiplication is another derived class from Numbers which performs
multiplication.
Stop
Source code:
#include <iostream>
class Addition
{
public:
int add(int a, int b)
{
return a + b;
}
};
class Subtraction
{
public:
int subtract(int a, int b)
{
return a - b;
}
};
class Arithmetic : public Addition, public Subtraction
{
public:
int multiply(int a, int b)
{
return a * b;
}
int divide(int a, int b)
{
if (b != 0)
{
return a / b;
}
else
{
cout << "Error: Division by zero" << endl;
return 0;
}
}
};
int main()
{
Arithmetic calculator;
int num1 = 9;
int num2 = 5;
int sum = calculator.add(num1, num2); s
cout << "Sum: " << sum << endl;
int difference = calculator.subtract(num1, num2);
cout << "Difference: " << difference << endl;
int product = calculator.multiply(num1, num2);
cout << "Product: " << product << endl;
int quotient = calculator.divide(num1, num2);
cout << "Quotient: " << quotient << endl;
return 0;
}
OUTPUT:
Sum: 14
Difference: 4
Product: 45
Quotient: 1
8. Develop a C++ program using Constructor in Derived classes to
initialize alpha, beta and gamma and display corresponding values.
Aim: Constructor in Derived classes to initialize alpha, beta and gamma and
display corresponding values.
Algorithm:
Start
Base class has a member variable alpha and a constructor to initialize it.
Derived A is derived from Base and has an additional member variable beta.
It initializes both alpha and beta using its constructor.
Derived B is derived from Derived A and introduces one more member
variable gamma. It initializes alpha, beta, and gamma using its constructor.
Each constructor prints a message to the console when called.
display() function in both Derived A and Derived B classes is used to display
the values of alpha, beta, and gamma. Note that the function in Derived B
overrides the one in Derived A.
Stop
Source code:
#include <iostream>
class Alpha
{
protected:
int alpha;
public:
Alpha(int a) : alpha(a)
{
}
void displayAlpha()
{
cout << "Alpha: " << alpha << endl;
}
};
class Beta : public Alpha
{
private:
int beta;
public:
Beta(int a, int b) : Alpha(a), beta(b)
{
}
void displayBeta()
{
displayAlpha();
cout << "Beta: " << beta << endl;
}
};
class Gamma : public Alpha
{
private:
int gamma;
public:
Gamma(int a, int g) : Alpha(a), gamma(g)
{
}
void displayGamma()
{
displayAlpha();
cout << "Gamma: " << gamma << endl;
}
};
int main() {
Beta objBeta(11, 12);
objBeta.displayBeta();
Gamma objGamma(13, 14);
objGamma.displayGamma();
return 0;
OUTPUT:
Alpha: 11
Beta: 12
Alpha: 13
Gamma: 14
9.Develop a C++ program to create a text file, check file created or not, if
created it will write some text into the file and then read the text from the file.
Aim : creating a textfile check if it is created or not
Algorithm:
Include necessary header files like iostream, fstream.
Define a function to create a text file and write some text into
it.
Define another function to read the text from the file.
In the main() function, call the function to create and write text
into the file.
Then call the function to read text from the file.
Print the text read from the file onto the console.
Source code:
#include <iostream>
#include <fstream>
#include <string>
int main() {
ofstream outputFile("sample.txt");
if (!outputFile.is_open())
cerr << "Error: File could not be created." << endl; return
1;
}
string textToWrite = "There is some text written in the file.";
outputFile << textToWrite << endl;
outputFile.close();
ifstream inputFile("sample.txt");
if (!inputFile.is_open())
cerr << "Error: File could not be opened for reading." << endl;
return 1;
string textRead;
while (getline(inputFile, textRead))
cout << "Text from the file: " << textRead << endl;
inputFile.close();
return 0;
}
OUTPUT:
Text from the file: There is some text written in the file.
10.Develop a C++ program to write and read time in/from binary file using
fstream
Aim: to write and read time in/from binary file using fstream
Algorithm:
Start
Include necessary header files like iostream, fstream, and
ctime for time-related functions.
Define a structure to hold the time information. In this
case, we can use the tm structure from ctime.
Define a function to write the current time to a binary file.
Define another function to read the time from the binary
file.
In the main() function, call the function to write the
current time to the file.
Then call the function to read the time from the file.
Print the time read from the file onto the console.
End
Source code:
#include <iostream>
#include <fstream>
#include <ctime>
int main()
time_t currentTime = time(0);
tm* timeInfo = localtime(¤tTime);
std::ofstream outFile("time_data.bin",
std::ios::binary); if (!outFile) {
std::cerr << "Failed to open the file for writing." << std::endl;
return 1;
outFile.write(reinterpret_cast<char*>(timeInfo), sizeof(tm));
outFile.close();
std::ifstream inFile("time_data.bin", std::ios::binary);
if (!inFile) {
cerr << "Failed to open the file for reading." << endl; return 1;
tm readTimeInfo;
inFile.read(reinterpret_cast<char*>(&readTimeInfo), sizeof(tm));
inFile.close();
cout << "Original Time: " << asctime(timeInfo);
cout << "Read Time: " << asctime(&readTimeInfo);
return 0;
OUPUT:
Original Time: Wed Nov 8 14:07:24 2023
Read Time: Wed Nov 8 14:07:24 2023
11.Develop a function which throws a division by zero exception and catch
it in catch block. Write a C++ program to demonstrate usage of try, catch
and throw to handle exception.
Aim: demonstrate usage of try, catch and throw to handle exception.
Algorithm:
Start
The divide() function takes two double values as parameters,
performs division, and throws an exception if the divisor is
zero.
In the main() function, the user is prompted to enter the
dividend and divisor.
Inside the try block, the division operation is attempted by
calling the divide() function.
If a division by zero occurs, the program throws an exception
of type const char* with the message "Division by zero error".
The catch block catches this exception and handles it by
printing an error message to the standard error stream (cerr).
Stop
Source code:
#include <iostream>
int divide(int numerator, int denominator)
if (denominator == 0)
{
throw std::runtime_error("Division by zero is not allowed.");
}
return numerator / denominator;
}
int main() {
int numerator, denominator;
cout << "Enter numerator: ";
cin >> numerator;
cout << "Enter denominator: ";
cin >> denominator;
try {
int result = divide(numerator, denominator);
cout << "Result of division: " << result << endl;
} catch (const std::runtime_error &ex) {
cerr << "Exception caught: " << ex.what() << endl;
}
return 0;
}
OUTPUT 1:
Enter numerator: 88
Enter denominator: 2
Result of division: 44
OUTPUT 2:
Enter numerator: 77
Enter denominator: 11
Result of division: 7
12. Develop a C++ program that handles array out of bounds exception using
C++.
Aim: program that handles array out of bounds exception using C++.
Algorithm:
Start
Declare an array of size n
Declare a variable index
Read the value of index from user input
If index is within the bounds of the array (0 <= index < n)
Access arr[index]
Print arr[index]
Else
Print "Array index out of bounds"
Stop
Source code:
#include<iostream>
#include <vector>
#include <stdexcept>
int main()
try {
vector<int> numbers = {1, 2, 3, 4, 5}; nt
index;
cout << "Enter an index to access an element in the array: ";
cin >> index;
if (index < 0 || index >= numbers.size()) {
throw std::out_of_range("Index is out of bounds.");
int element = numbers.at(index);
cout << "Element at index " << index << " is: " << element << endl;
} catch (const std::out_of_range &ex) {
cerr << "Exception caught: " << ex.what() << endl;
return 0;
OUTPUT:
Enter an index to access an element in the array: 3
Element at index 3 is: 4
Enter an index to access an element in the array: 7
Exception caught: Index is out of bounds.