Exp1 Oop
Exp1 Oop
Class: SY (CSE) C
Roll: 63
                                      Experiment No.1
Q1. Write a program to find size of fundamental datatype?
#include<iostream>
    using namespace std;
    int main(){
       cout<<"Size of integer is:"<<sizeof(int)<<" bytes"<<endl;
       cout<<"Size of float is:"<<sizeof(float)<<" bytes"<<endl;
       cout<<"Size of double is:"<<sizeof(double)<<" bytes"<<endl;
       cout<<"Size of long double is:"<<sizeof(long double)<<" bytes"<<endl;
       cout<<"Size of char is:"<<sizeof(char)<<" bytes"<<endl;
     return 0;
}
                                             Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2.Write a program to show the base of numeric value of the variable using hex, oct and dec
manipulator functions.
 #include <iostream>
     #include <iomanip>
     using namespace std;
     int main() {
     int number = 255; // Example number
     cout << "Number in decimal: " << dec << number << endl;
     cout << "Number in hexadecimal: " << hex << number << endl;
     cout << "Number in octal: " << oct << number << endl;
     return 0;
 }
                                            Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3. Write a program to convert temperature from Celsius to Fahrenheit and Fahrenheit to
Celsius
 #include <iostream>
  using namespace std;
  int main() {
      int choice;
      float temp, convertedTemp;
      cout << "Temperature Conversion Program\n";
      cout << "1. Convert Celsius to Fahrenheit\n";
      cout << "2. Convert Fahrenheit to Celsius\n";
      cout << "Enter your choice: ";
      cin >> choice;
      if (choice == 1) {
        cout << "Enter temperature in Celsius: ";
        cin >> temp;
        convertedTemp = (temp * 9 / 5) + 32;
        cout << temp << " Celsius is equal to " << convertedTemp << " Fahrenheit." << endl;
  }
        else if (choice == 2) {
        cout << "Enter temperature in Fahrenheit: ";
        cin >> temp;
        convertedTemp = (temp - 32) * 5 / 9;
        cout << temp << " Fahrenheit is equal to " << convertedTemp << " Celsius." << endl;
  }
        else {
          cout << "Invalid choice!" << endl;
    }
        return 0;
}
                                               Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                        Experiment No.2
Q1. Write a program to display n terms of natural numbers and their sum.
 #include <iostream>
   using namespace std;
   int main() {
       int n, sum = 0;
       cout << "Enter the number of terms: ";
       cin >> n;
       cout << "The first " << n << " natural numbers are: " << endl;
       for (int i = 1; i <= n; i++) {
           cout << i << " ";
           sum += i;
       }
       cout << "\nThe sum of the first " << n << " natural numbers is: " << sum << endl;
       return 0;
   }
                                              Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2. Write a program to read matrix of size m*n using function.
 #include <iostream>
   using namespace std;
   int main() {
        int m, n;
        cout << "Enter the number of rows (m): ";
        cin >> m;
        cout << "Enter the number of columns (n): ";
        cin >> n;
        int matrix[m][n];
        cout << "Enter the elements of the matrix:" << endl;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                cout << "Element at position [" << i << "][" << j << "]: ";
                cin >> matrix[i][j];
            }
        }
        cout << "\nThe matrix is:" << endl;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                cout << matrix[i][j] << " ";
            }
                Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3.Write a program to count all the vowels in the given string.
 #include <iostream>
      #include <cstring>
      using namespace std;
      int main() {
          char str[100];
          int vowelCount = 0;
          cout << "Enter a string: ";
          cin.getline(str, 100);
      for (int i = 0; i < strlen(str); i++) {
          char ch = tolower(str[i]);
          if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
              vowelCount++;
          }
      }
      cout << "Total number of vowels in the string: " << vowelCount << endl;
      return 0;
  }
                                                     Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                        Experiment No.3
Q1.Write a program to swap two numbers using call by value and call by reference using class
and object
#include<iostream>
using namespace std;
void swapByValue(int a, int b) {
    int temp = a;
    a = b;
    b = temp;
    cout << "Inside swapByValue function: a = " << a << ", b = " << b << endl;
}
void swapByReference(int &a, int &b) {
    int temp = a;
    a = b;
    b = temp;
    cout << "Inside swapByReference function: a = " << a << ", b = " << b << endl;
}
int main() {
    int x = 5, y = 10;
    cout << "Before swap (Call by Value): x = " << x << ", y = " << y << endl;
    swapByValue(x, y);
    cout << "After swap (Call by Value): x = " << x << ", y = " << y << endl;
    cout << "Before swap (Call by Reference): x = " << x << ", y = " << y << endl;
    swapByReference(x, y);
    cout << "After swap (Call by Reference): x = " << x << ", y = " << y << endl;
    return 0;
}
                                               Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2.Write a program to calculate square and cube of a number using inline function.
 #include<iostream>
using namespace std;
int square(int num) {
    return num * num;
}
int cube(int num) {
    return num * num * num;
}
int main() {
    int number;
    cout << "Enter a number: ";
    cin >> number;
    cout << "Square of " << number << " is: " << square(number) << endl;
    cout << "Cube of " << number << " is: " << cube(number) << endl;
    return 0;
}
                                            Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3.Write a program to find area of rectangle, area of triangle and surface area of sphere
using function overloading.
 #include<iostream>
using namespace std;
double area(double length, double width) {
    return length * width;
}
double area(double base, double height, int triangle) {
    return 0.5 * base * height;
}
double area(double radius) {
    return 4 * 3.1416 * radius * radius;
}
int main() {
    double length, width, base, height, radius;
    cout << "Enter length and width of the rectangle: ";
    cin >> length >> width;
    cout << "Area of Rectangle: " << area(length, width) << endl;
    cout << "Enter base and height of the triangle: ";
    cin >> base >> height;
    cout << "Area of Triangle: " << area(base, height, 1) << endl;
    cout << "Enter radius of the sphere: ";
                Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                  Experiment No.4
Q1.Write a program to implement student class having data members as name, roll number
and PRN number, implement methods to enter details of a single student(data members
must be private)
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
    string name;
    string roll_number;
    string PRN_number;
public:
    void enterDetails() {
        cout << "Enter student's name: ";
        getline(cin, name);
        cout << "Enter student's roll number: ";
        getline(cin, roll_number);
        cout << "Enter student's PRN number: ";
        getline(cin, PRN_number);
    }
    void displayDetails() const {
        cout << "Student's Name: " << name << endl;
        cout << "Roll Number: " << roll_number << endl;
        cout << "PRN Number: " << PRN_number << endl;
    }
};
int main() {
    Student student;
    student.enterDetails();
    student.displayDetails();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2.Write a program to calculate gross salary of an employee using class. Few member
functions must be defined outside the class using scope resolution operator. (Gross
salary=basic+TA+DA, TA=15% of the basic salary, DA=30% of basic salary)
#include <iostream>
using namespace std;
class Employee{
private:
    float basicSalary;
    float grossSalary;
public:
    void setBasicSalary(float basic);
    void calculateGrossSalary();
    void displayGrossSalary();
};
void Employee::setBasicSalary(float basic){
    basicSalary = basic;
}
void Employee::calculateGrossSalary(){
    float TA = 0.15 * basicSalary;
    float DA = 0.30 * basicSalary;
    grossSalary = basicSalary + TA + DA;
}
void Employee::displayGrossSalary(){
    cout << "Gross Salary: " << grossSalary << endl;
}
int main(){
    float basic;
    cout << "Enter Basic Salary: ";
    cin >> basic;
    Employee emp;
    emp.setBasicSalary(basic);
    emp.calculateGrossSalary();
    emp.displayGrossSalary();
    return 0;
}
Output.
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3. WAP to find the number and sum of all integers between 100 and 200 which are divisible
by 9 using friend function.
#include <iostream>
using namespace std;
class DivisibleByNine {
private:
    int sum;
    int count;
public:
    DivisibleByNine() : sum(0), count(0) {}
    friend void findDivisible(DivisibleByNine& obj);
    void display() const {
        cout << "Number of integers divisible by 9 between 100 and 200: " <<
count << endl;
        cout << "Sum of integers divisible by 9 between 100 and 200: " << sum <<
endl;
    }
};
void findDivisible(DivisibleByNine& obj) {
    for (int i = 100; i <= 200; i++) {
        if (i % 9 == 0) {
            obj.count++;
            obj.sum += i;
        }
    }
}
int main() {
    DivisibleByNine obj;
    findDivisible(obj);
    obj.display();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                   Experiment No.5
Q1.Write a Program to display square and cube of a number using default constructor.
#include <iostream>
using namespace std;
class Number {
private:
    int num;
public:
    Number() {
        num = 0;
    }
    void setNumber(int n) {
        num = n;
    }
    void displaySquareAndCube() {
        cout << "Square of " << num << " is: " << num * num << endl;
        cout << "Cube of " << num << " is: " << num * num * num << endl;
    }
};
int main() {
    Number n;
    int value;
    cout << "Enter a number: ";
    cin >> value;
    n.setNumber(value);
    n.displaySquareAndCube();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2. Write a program to implement details of student having data members as roll no. , name,
PRN, and total marks using parameterized constructor. Implement methods to calculate
result/percentage.
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
    int rollNo;
    string name;
    string PRN;
    float totalMarks;
    float percentage;
public:
    Student(int r, string n, string p, float marks) {
        rollNo = r;
        name = n;
        PRN = p;
        totalMarks = marks;
        percentage = 0.0;
    }
    void calculatePercentage() {
        percentage = (totalMarks / 500) * 100;
    }
    void displayDetails() {
        cout << "Student Details:" << endl;
        cout << "Roll No.: " << rollNo << endl;
        cout << "Name: " << name << endl;
        cout << "PRN: " << PRN << endl;
        cout << "Total Marks: " << totalMarks << endl;
        cout << "Percentage: " << percentage << "%" << endl;
    }
};
int main() {
    int roll;
    string name, prn;
    float marks;
    cout << "Enter Roll No.: ";
    cin >> roll;
    cout << "Enter Name: ";
    cin.ignore();
    getline(cin, name);
    cout << "Enter PRN: ";
    cin >> prn;
    cout << "Enter Total Marks (out of 500): ";
    cin >> marks;
    Student student(roll, name, prn, marks);
    student.calculatePercentage();
    student.displayDetails();
    return 0;
}
                                     Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3. Write a program to create Book class having data members as Book name, author name,
price and ISBN. Implement details of a book. Use copy constructor to copy the details of book
from one object to other.
#include <iostream>
#include <string>
using namespace std;
class Book {
private:
    string bookName;
    string authorName;
    float price;
    string ISBN;
public:
    Book(string bName, string aName, float p, string isbn) {
        bookName = bName;
        authorName = aName;
        price = p;
        ISBN = isbn;
    }
    Book(const Book &obj) {
        bookName = obj.bookName;
        authorName = obj.authorName;
        price = obj.price;
        ISBN = obj.ISBN;
    }
    void displayDetails() {
        cout << "Book Name: " << bookName << endl;
        cout << "Author Name: " << authorName << endl;
        cout << "Price: $" << price << endl;
        cout << "ISBN: " << ISBN << endl;
    }
};
int main() {
    Book book1("The C++ Programming Language", "Bjarne Stroustrup", 45.99, "978-
0321563842");
    cout << "Details of Book 1:" << endl;
    book1.displayDetails();
    Book book2 = book1;
    cout << "\nDetails of Book 2 (Copied from Book 1):" << endl;
    book2.displayDetails();
    return 0;
}
                                     Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                  Experiment No.6
Q1.write a program to implement constructor overloading for employee class having data
members emp_id, name, designation and salary release the object using destructor.
#include <iostream>
#include <string>
using namespace std;
class Employee {
private:
    int emp_id;
    string name;
    string designation;
    float salary;
public:
    Employee() {
        emp_id = 0;
        name = "Not assigned";
        designation = "Not assigned";
        salary = 0.0;
        cout << "Default constructor called!" << endl;
    }
    Employee(int id, string empName) {
        emp_id = id;
        name = empName;
        designation = "Not assigned";
        salary = 0.0;
        cout << "Constructor with emp_id and name called!" << endl;
    }
    Employee(int id, string empName, string empDesignation, float empSalary) {
        emp_id = id;
        name = empName;
        designation = empDesignation;
        salary = empSalary;
        cout << "Constructor with all details called!" << endl;
    }
    void displayDetails() {
        cout << "Employee ID: " << emp_id << endl;
        cout << "Name: " << name << endl;
        cout << "Designation: " << designation << endl;
        cout << "Salary: $" << salary << endl;
    }
    ~Employee() {
        cout << "Destructor called for Employee ID: " << emp_id << endl;
    }
};
int main() {
    Employee emp1; // Using default constructor
    cout << "\nDetails of Employee 1:" << endl;
    emp1.displayDetails();
    Employee emp2(101, "John Doe");
    cout << "\nDetails of Employee 2:" << endl;
    emp2.displayDetails();
    Employee emp3(102, "Alice Smith", "Software Engineer", 75000);
    cout << "\nDetails of Employee 3:" << endl;
    emp3.displayDetails();
    return 0;
}
                                     Output
Q2.Write a program to overload unary and binary operator.
#include <iostream>
using namespace std;
class OperatorOverload {
private:
    int value;
public:
    OperatorOverload(int v = 0) {
        value = v;
    }
    OperatorOverload operator-() {
        return OperatorOverload(-value);
    }
    OperatorOverload operator+(const OperatorOverload &obj) {
        return OperatorOverload(value + obj.value);
    }
    void display() const {
        cout << "Value: " << value << endl;
    }
};
int main() {
    OperatorOverload obj1(10);
    OperatorOverload obj2(20);
    cout << "Initial values:" << endl;
    obj1.display();
    obj2.display();
    OperatorOverload negObj = -obj1;
    cout << "\nAfter unary '-' operator on obj1:" << endl;
    negObj.display();
    OperatorOverload sumObj = obj1 + obj2;
    cout << "\nAfter binary '+' operator on obj1 and obj2:" << endl;
    sumObj.display();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                   Experiment No.7
Q1.write a program to read and print student information using two classes and simple
inheritance.
#include <iostream>
#include <string>
using namespace std;
class Person {
protected:
    string name;
    int age;
public:
    void getPersonalDetails() {
        cout << "Enter name: ";
        getline(cin, name);
        cout << "Enter age: ";
        cin >> age;
        cin.ignore();
    }
    void displayPersonalDetails() {
        cout << "Name: " << name << endl;
        cout << "Age: " << age << endl;
    }
};
class Student : public Person {
private:
    int rollNo;
    string course;
public:
    void getStudentDetails() {
        getPersonalDetails();
        cout << "Enter Roll No.: ";
        cin >> rollNo;
        cin.ignore();
        cout << "Enter Course: ";
        getline(cin, course);
    }
    void displayStudentDetails() {
        displayPersonalDetails();
        cout << "Roll No.: " << rollNo << endl;
        cout << "Course: " << course << endl;
    }
};
int main() {
    Student student;
    cout << "Enter student information:" << endl;
    student.getStudentDetails();
    cout << "\nStudent Information:" << endl;
    student.displayStudentDetails();
    return 0;
}
                                     Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2. Write a program to read and print employee information using multiple inheritance and
multilevel inheritance
1) Multiple Inheritance
#include <iostream>
#include <string>
using namespace std;
class Person {
protected:
    string name;
    int age;
public:
    void getPersonalDetails() {
        cout << "Enter Name: ";
        getline(cin, name);
        cout << "Enter Age: ";
        cin >> age;
        cin.ignore();
    }
    void displayPersonalDetails() {
        cout << "Name: " << name << endl;
        cout << "Age: " << age << endl;
    }
};
class JobDetails {
protected:
    string jobTitle;
    float salary;
public:
    void getJobDetails() {
        cout << "Enter Job Title: ";
        getline(cin, jobTitle);
        cout << "Enter Salary: ";
        cin >> salary;
        cin.ignore();
    }
    void displayJobDetails() {
        cout << "Job Title: " << jobTitle << endl;
        cout << "Salary: $" << salary << endl;
    }
};
class Employee : public Person, public JobDetails {
private:
    int empID;
public:
    void getEmployeeDetails() {
        getPersonalDetails();
        getJobDetails();
        cout << "Enter Employee ID: ";
        cin >> empID;
        cin.ignore();
    }
    void displayEmployeeDetails() {
        displayPersonalDetails();
        displayJobDetails();
        cout << "Employee ID: " << empID << endl;
    }
};
int main() {
    Employee emp;
    cout << "Enter Employee Information:" << endl;
    emp.getEmployeeDetails();
    cout << "\nEmployee Information:" << endl;
    emp.displayEmployeeDetails();
    return 0;
}
                                     Output
2) Multilevel Inheritance
#include <iostream>
#include <string>
using namespace std;
class Person {
protected:
    string name;
    int age;
public:
    void getPersonalDetails() {
        cout << "Enter Name: ";
        getline(cin, name);
        cout << "Enter Age: ";
        cin >> age;
        cin.ignore();
    }
    void displayPersonalDetails() {
        cout << "Name: " << name << endl;
        cout << "Age: " << age << endl;
    }
};
class EmployeeBase : public Person {
protected:
    int empID;
public:
    void getEmployeeID() {
        cout << "Enter Employee ID: ";
        cin >> empID;
        cin.ignore();
    }
    void displayEmployeeID() {
        cout << "Employee ID: " << empID << endl;
    }
};
class Employee : public EmployeeBase {
private:
    string jobTitle;
    float salary;
public:
    void getJobDetails() {
        getPersonalDetails();
        getEmployeeID();
        cout << "Enter Job Title: ";
        getline(cin, jobTitle);
        cout << "Enter Salary: ";
        cin >> salary;
        cin.ignore();
    }
    void displayJobDetails() {
        displayPersonalDetails();
        displayEmployeeID();
        cout << "Job Title: " << jobTitle << endl;
        cout << "Salary: $" << salary << endl;
    }
};
int main() {
    Employee emp;
    cout << "Enter Employee Information:" << endl;
    emp.getJobDetails();
    cout << "\nEmployee Information:" << endl;
    emp.displayJobDetails();
    return 0;
}
                                     Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3 Write a program to implement hybrid and hierarchical implementation.
1) Hybrid Inheritance
#include <iostream>
using namespace std;
class A {
public:
    void showA() {
        cout << "This is class    A" << endl;
    }
};
class B {
public:
    void showB() {
        cout << "This is class    B" << endl;
    }
};
class C : public A, public B {
public:
    void showC() {
        cout << "This is class    C" << endl;
    }
};
class D : public C {
public:
    void showD() {
        cout << "This is class    D" << endl;
    }
};
int main() {
    D obj;
    obj.showA();
    obj.showB();
    obj.showC();
    obj.showD();
    return 0;
}
                                     Output
2) Hierarchical Inheritance
#include <iostream>
using namespace std;
class A {
public:
    void showA() {
        cout << "This is class A" << endl;
    }
};
class B : public A {
public:
    void showB() {
        cout << "This is class B" << endl;
    }
};
class C : public A {
public:
    void showC() {
        cout << "This is class C" << endl;
    }
};
int main() {
    B objB;
    C objC;
    objB.showA();
    objB.showB();
    objC.showA();
    objC.showC();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                    Experiment No.8
Q1. Write a program to display reverse of number using virtual base class.
#include <iostream>
using namespace std;
class Number {
protected:
    int num;
public:
    Number(int n) : num(n) {}
    virtual void reverseNumber() = 0;
};
class Reverse : public virtual Number {
public:
    Reverse(int n) : Number(n) {}
    void reverseNumber() override {
        int rev = 0, remainder;
        int temp = num;
        while (temp != 0) {
            remainder = temp % 10;
            rev = rev * 10 + remainder;
            temp /= 10;
        }
        cout << "Reversed Number: " << rev << endl;
    }
};
int main() {
    int n;
    cout << "Enter a number: ";
    cin >> n;
    Reverse obj(n);
    obj.reverseNumber();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2.Write a program to implement concept of function overriding.
#include <iostream>
using namespace std;
class Animal {
public:
    virtual void sound() {
        cout << "Animals make sound" << endl;
    }
};
class Dog : public Animal {
public:
    void sound() override {
        cout << "Dog barks" << endl;
    }
};
class Cat : public Animal {
public:
    void sound() override {
        cout << "Cat meows" << endl;
    }
};
class Cow : public Animal {
public:
    void sound() override {
        cout << "Cow moos" << endl;
    }
};
int main() {
    Animal *animal;
    Dog dog;
    Cat cat;
    Cow cow;
    animal = &dog;
    animal->sound();
    animal = &cat;
    animal->sound();
    animal = &cow;
    animal->sound();
    return 0;
}
                       Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3.Write a program to implement virtual function.
#include <iostream>
using namespace std;
class Shape {
public:
    virtual void display() {
        cout << "This is a generic shape." << endl;
    }
};
                                    Experiment No.9
Q1. Write a program to open a file for writing and reading purpose use open function () in c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
    fstream file;
    string content;
    file.open("example.txt", ios::out | ios::in | ios::trunc);
    if (!file) {
        cout << "Error: File could not be opened!" << endl;
        return 1;
    }
    file << "Hello, this is a test file." << endl;
    file.seekg(0);
    getline(file, content);
    cout << "Content of the file: " << content << endl;
    file.close();
    return 0;
}
                                          Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2. Write a program to write text in a file, read the text from file from EOF(). Display the
content in reverse order.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
    // Write text to a file
    ofstream outfile("example.txt");
    outfile << "This is an example of reversing text from a file.";
    outfile.close();
    ifstream infile("example.txt");
    string content, line;
    while (getline(infile, line)) {
        content += line;
    }
    infile.close();
    for (int i = 0, j = content.length() - 1; i < j; i++, j--) {
        swap(content[i], content[j]);
    }
    cout << "Reversed Content: " << content << endl;
    return 0;
}
                                            Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
                                   Experiment No.10
Q1. Write a program to demonstrate that the data is read from file using ASCII format
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
int main() {
    ofstream outfile("example.txt");
    outfile << "Hello, ASCII!";
    outfile.close();
    ifstream infile("example.txt");
    char ch;
    cout << "Character - ASCII Code - Binary Representation" << endl;
    while (infile.get(ch)) {
        int asciiValue = static_cast<int>(ch);
        cout << ch << "          - " << asciiValue << "         - " <<
bitset<8>(asciiValue) << endl;
    }
    infile.close();
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q2. Write a program to find the factorial of a number throw multiple exception and define
multiple catch statement to handle exception.
#include <iostream>
using namespace std;
long factorial(int n) {
    if (n < 0) {
        throw invalid_argument("Factorial is not defined for negative numbers.");
    }
    if (n > 20) {
        throw overflow_error("Input is too large; may cause overflow.");
    }
    long long result = 1;
    for (int i = 1; i <= n; ++i) {
        result *= i;
    }
    return result;
}
int main() {
    int num;
    cout << "Enter a number to find its factorial: ";
    cin >> num;
    try {
        long long result = factorial(num);
        cout << "Factorial of " << num << " is: " << result << endl;
    }
    catch (const invalid_argument& e) {
        cout << "Error: " << e.what() << endl;
    }
    catch (const overflow_error& e) {
        cout << "Error: " << e.what() << endl;
    }
    catch (...) {
        cout << "An unknown error occurred." << endl;
    }
    return 0;
}
Output
Name: Manur Sami Mujeeb
Class: SY (CSE) C
Roll: 63
Q3. Write a program to illustrate template class.
#include <iostream>
using namespace std;
template <typename T>
class Calculator {
    T num1, num2;
public:
    Calculator(T n1, T n2) : num1(n1), num2(n2) {}
    T add() {
        return num1 + num2;
    }
    T subtract() {
        return num1 - num2;
    }
    T multiply() {
        return num1 * num2;
    }
    T divide() {
        if (num2 != 0)
            return num1 / num2;
        else {
            cout << "Error: Division by zero!" << endl;
            return 0;
        }
    }
};
int main() {
    Calculator<int> intCalc(10, 5);
    cout << "Integer Calculations:" << endl;
    cout << "10 + 5 = " << intCalc.add() << endl;
    cout << "10 - 5 = " << intCalc.subtract() << endl;
    cout << "10 * 5 = " << intCalc.multiply() << endl;
    cout << "10 / 5 = " << intCalc.divide() << endl;
    Calculator<double> doubleCalc(5.5, 2.2);
    cout << "\nDouble Calculations:" << endl;
    cout << "5.5 + 2.2 = " << doubleCalc.add() << endl;
    cout << "5.5 - 2.2 = " << doubleCalc.subtract() << endl;
    cout << "5.5 * 2.2 = " << doubleCalc.multiply() << endl;
    cout << "5.5 / 2.2 = " << doubleCalc.divide() << endl;
    return 0;
}
Output