From ad185c994ecf5c2fcc6097c3611b363ebe11dfff Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Sat, 24 Dec 2022 14:03:08 +0530 Subject: [PATCH] labs 1-6: init Signed-off-by: Amneesh Singh --- .gitignore | 6 + file.org | 33 ++++++ file.pdf | Bin 0 -> 157029 bytes lab1/1.cpp | 80 ++++++++++++++ lab1/2.cpp | 28 +++++ lab1/3.cpp | 36 ++++++ lab1/file.org | 180 ++++++++++++++++++++++++++++++ lab2/4.cpp | 96 ++++++++++++++++ lab2/5.cpp | 56 ++++++++++ lab2/6.cpp | 72 ++++++++++++ lab2/file.org | 255 ++++++++++++++++++++++++++++++++++++++++++ lab3/7.cpp | 24 ++++ lab3/8.cpp | 45 ++++++++ lab3/9.cpp | 32 ++++++ lab3/file.org | 129 ++++++++++++++++++++++ lab4/10.cpp | 25 +++++ lab4/12.cpp | 33 ++++++ lab4/file.org | 81 ++++++++++++++ lab5/13.cpp | 73 ++++++++++++ lab5/14.cpp | 88 +++++++++++++++ lab5/15.cpp | 68 ++++++++++++ lab5/file.org | 301 ++++++++++++++++++++++++++++++++++++++++++++++++++ lab6/16.cpp | 82 ++++++++++++++ lab6/17.cpp | 73 ++++++++++++ lab6/18.cpp | 59 ++++++++++ lab6/file.org | 295 +++++++++++++++++++++++++++++++++++++++++++++++++ 26 files changed, 2250 insertions(+) create mode 100644 .gitignore create mode 100644 file.org create mode 100644 file.pdf create mode 100644 lab1/1.cpp create mode 100644 lab1/2.cpp create mode 100644 lab1/3.cpp create mode 100644 lab1/file.org create mode 100644 lab2/4.cpp create mode 100644 lab2/5.cpp create mode 100644 lab2/6.cpp create mode 100644 lab2/file.org create mode 100644 lab3/7.cpp create mode 100644 lab3/8.cpp create mode 100644 lab3/9.cpp create mode 100644 lab3/file.org create mode 100644 lab4/10.cpp create mode 100644 lab4/12.cpp create mode 100644 lab4/file.org create mode 100644 lab5/13.cpp create mode 100644 lab5/14.cpp create mode 100644 lab5/15.cpp create mode 100644 lab5/file.org create mode 100644 lab6/16.cpp create mode 100644 lab6/17.cpp create mode 100644 lab6/18.cpp create mode 100644 lab6/file.org diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1111665 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*tex +*~ +\#* +_minted-file/ +.\# +*html \ No newline at end of file diff --git a/file.org b/file.org new file mode 100644 index 0000000..1dc7158 --- /dev/null +++ b/file.org @@ -0,0 +1,33 @@ +#+title: Object Orientated Programming Lab +#+author: Amneesh Singh I6 +#+LATEX_HEADER: \usepackage[margin=0.5in]{geometry} + +#+LATEX: \clearpage + +|----------------------------------------------------------------| +| Programs are followed by their respective outputs (and inputs) | +|----------------------------------------------------------------| + +* Lab 1 +#+INCLUDE: ./lab1/file.org +#+LATEX: \clearpage + +* Lab 2 +#+INCLUDE: ./lab2/file.org +#+LATEX: \clearpage + +* Lab 3 +#+INCLUDE: ./lab3/file.org +#+LATEX: \clearpage + +* Lab 4 +#+INCLUDE: ./lab4/file.org +#+LATEX: \clearpage + +* Lab 5 +#+INCLUDE: ./lab5/file.org +#+LATEX: \clearpage + +* Lab 6 +#+INCLUDE: ./lab6/file.org +#+LATEX: \clearpage diff --git a/file.pdf b/file.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0570c5d3ca69558688601d259c96882488b3d091 GIT binary patch literal 157029 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 +#include + +class Person { +private: + static const std::size_t MAX_NAME = 30; + static const std::size_t MAX_ADDRESS = 30; + char name[MAX_NAME]; + char address[MAX_ADDRESS]; + unsigned int age; + float salary; + +public: + void getName(); + void getAddress(); + void getAge(); + void getSalary(); + void setName(const char[30], size_t); + void setAddress(const char[100], size_t); + void setAge(unsigned int); + void setSalary(float); +}; + +inline void Person::getName() { + std::cout << name << std::endl; +} + +inline void Person::getAddress() { + std::cout << address << std::endl; +} + +inline void Person::getAge() { + std::cout << age << std::endl; +} + +inline void Person::getSalary() { + std::cout << salary << std::endl; +} + +inline void Person::setName(const char name[], size_t size) { + strncpy(this->name, name, (size <= MAX_NAME ? size : MAX_NAME - 1)); + + if (size > MAX_NAME) + this->name[MAX_NAME - 1] = '\0'; +} + +inline void Person::setAddress(const char address[], size_t size) { + strncpy(this->address, address, (size <= MAX_ADDRESS ? size : MAX_ADDRESS - 1)); + + if (size > MAX_NAME) + this->name[MAX_NAME - 1] = '\0'; +} + +inline void Person::setAge(unsigned int age) { + this->age = age; +} + +inline void Person::setSalary(float salary) { + this->salary = salary; +} + +int main() { + Person person; + const char name[] = "Retard Singh"; + const char address[] = "420 RetardVille"; + unsigned int age = 44; + float salary = 4.44; + + person.setName(name, sizeof(name)); + person.setAddress(address, sizeof(address)); + person.setAge(age); + person.setSalary(salary); + + person.getName(); + person.getAddress(); + person.getAge(); + person.getSalary(); + + return 0; +} diff --git a/lab1/2.cpp b/lab1/2.cpp new file mode 100644 index 0000000..aaa7e41 --- /dev/null +++ b/lab1/2.cpp @@ -0,0 +1,28 @@ +#include +#include + +// Triangle +double area(double a, double b, double c) { + double s = (a + b + c) / 2; + return std::sqrt(s * (s - a) * (s - b) * (s - c)); +} + +// Rectangle +double area(double a, double b) { return a * b; } + +// Circle +double area(double a) { return M_PI * a * a; } + +int main() { + + double a = 3, b = 4, c = 5; + + std::cout << "Area of a triangle with sides " << a << ", " << b << " and " + << c << ": " << area(a, b, c) << std::endl + << "Area of rectangle with sides " << a << " and " << b << ": " + << area(a, b) << std::endl + << "Area of circle with radius " << a << ": " << area(a) + << std::endl; + + return 0; +} diff --git a/lab1/3.cpp b/lab1/3.cpp new file mode 100644 index 0000000..4ef0f47 --- /dev/null +++ b/lab1/3.cpp @@ -0,0 +1,36 @@ +#include +#include + +double uexponent(double m, unsigned int n) { + double ret; + + if (!n) + return 1; + + if (n == 1) + return m; + + ret = uexponent(m, n / 2); + ret *= ret; + + if (n % 2) + return ret * m; + else + return ret; +} + +double exponent(double m, int n = 2) { + if (n >= 0) + return uexponent(m, n); + + return 1 / uexponent(m, std::abs(n)); +} + +int main() { + + double m = 4.1; + int n = 4; + + std::cout << m << " raised to " << n << ": " << exponent(m, n) << std::endl + << "When n is omitted: " << exponent(m) << std::endl; +} diff --git a/lab1/file.org b/lab1/file.org new file mode 100644 index 0000000..1c3fc61 --- /dev/null +++ b/lab1/file.org @@ -0,0 +1,180 @@ +* Write a program to take name, address as a character array, age as int , salary as float and contains inline functions to set the values and display it in class named person. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 1.cpp :results output :exports both :wrap src text +#include +#include + +class Person { +private: + static const std::size_t MAX_NAME = 30; + static const std::size_t MAX_ADDRESS = 30; + char name[MAX_NAME]; + char address[MAX_ADDRESS]; + unsigned int age; + float salary; + +public: + void getName(); + void getAddress(); + void getAge(); + void getSalary(); + void setName(const char[30], size_t); + void setAddress(const char[100], size_t); + void setAge(unsigned int); + void setSalary(float); +}; + +inline void Person::getName() { + std::cout << name << std::endl; +} + +inline void Person::getAddress() { + std::cout << address << std::endl; +} + +inline void Person::getAge() { + std::cout << age << std::endl; +} + +inline void Person::getSalary() { + std::cout << salary << std::endl; +} + +inline void Person::setName(const char name[], size_t size) { + strncpy(this->name, name, (size <= MAX_NAME ? size : MAX_NAME - 1)); + + if (size > MAX_NAME) + this->name[MAX_NAME - 1] = '\0'; +} + +inline void Person::setAddress(const char address[], size_t size) { + strncpy(this->address, address, (size <= MAX_ADDRESS ? size : MAX_ADDRESS - 1)); + + if (size > MAX_NAME) + this->name[MAX_NAME - 1] = '\0'; +} + +inline void Person::setAge(unsigned int age) { + this->age = age; +} + +inline void Person::setSalary(float salary) { + this->salary = salary; +} + +int main() { + Person person; + const char name[] = "Retard Singh"; + const char address[] = "420 RetardVille"; + unsigned int age = 44; + float salary = 4.44; + + person.setName(name, sizeof(name)); + person.setAddress(address, sizeof(address)); + person.setAge(age); + person.setSalary(salary); + + person.getName(); + person.getAddress(); + person.getAge(); + person.getSalary(); + + return 0; +} +#+end_src + +#+RESULTS: +#+begin_src text +Retard Singh +420 RetardVille +44 +4.44 +#+end_src +#+LATEX: \clearpage + +* Using the concept of function overloading.Write function for calculating the area of triangle ,circle and rectangle. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 2.cpp :results output :exports both :wrap src text +#include +#include + +// Triangle +double area(double a, double b, double c) { + double s = (a + b + c) / 2; + return std::sqrt(s * (s - a) * (s - b) * (s - c)); +} + +// Rectangle +double area(double a, double b) { return a * b; } + +// Circle +double area(double a) { return M_PI * a * a; } + +int main() { + + double a = 3, b = 4, c = 5; + + std::cout << "Area of a triangle with sides " << a << ", " << b << " and " + << c << ": " << area(a, b, c) << std::endl + << "Area of rectangle with sides " << a << " and " << b << ": " + << area(a, b) << std::endl + << "Area of circle with radius " << a << ": " << area(a) + << std::endl; + + return 0; +} +#+end_src + +#+RESULTS: +: Area of a triangle with sides 3, 4 and 5: 6 +: Area of rectangle with sides 3 and 4: 12 +: Area of circle with radius 3: 28.2743 +#+LATEX: \clearpage + +* Write a program to find number m to power n. The function power takes a double value for m and int value for n. Use default value for n to make the function to calculate squares when this argument is omitted. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 3.cpp :results output :exports both :wrap src text +#include +#include + +double uexponent(double m, unsigned int n) { + double ret; + + if (!n) + return 1; + + if (n == 1) + return m; + + ret = uexponent(m, n / 2); + ret *= ret; + + if (n % 2) + return ret * m; + else + return ret; +} + +double exponent(double m, int n = 2) { + if (n >= 0) + return uexponent(m, n); + + return 1 / uexponent(m, std::abs(n)); +} + +int main() { + + double m = 4.1; + int n = 4; + + std::cout << m << " raised to " << n << ": " << exponent(m, n) << std::endl + << "When n is omitted: " << exponent(m) << std::endl; +} +#+end_src + +#+RESULTS: +: 4.1 raised to 4: 282.576 +: When n is omitted: 16.81 diff --git a/lab2/4.cpp b/lab2/4.cpp new file mode 100644 index 0000000..655e286 --- /dev/null +++ b/lab2/4.cpp @@ -0,0 +1,96 @@ +#include +#include +using namespace std; + +class Matrix { +private: + unsigned int r, c; + vector> matrix; + +public: + Matrix() = default; + Matrix(int, int); + void init(vector>); + unsigned int getRows(); + unsigned int getColumns(); + Matrix operator*(Matrix); + void display(); +}; + +Matrix::Matrix(int r, int c) { + this->r = r, this->c = c; + this->matrix = vector>(r, vector(c)); +} + +void Matrix::init(vector> src) { + unsigned int i, j; + + if (this->r > src.size()) + exit(1); + + for (i = 0; i < this->r; i++) { + if (c > src[i].size()) + exit(1); + + for (int j = 0; j < this->c; j++) + this->matrix[i][j] = src[i][j]; + } +} + +inline unsigned int Matrix::getRows() { return r; } + +inline unsigned int Matrix::getColumns() { return c; } + +Matrix Matrix::operator*(Matrix operand) { + unsigned int i, j, k; + unsigned int r, c; + unsigned int common; + Matrix m; + + if (this->getColumns() != operand.getRows()) + exit(1); + + r = this->getRows(); + c = operand.getColumns(); + + m = Matrix(r, c); + + common = this->getColumns(); + + for (i = 0; i < r; i++) { + for (j = 0; j < c; j++) { + int s = 0; + for (k = 0; k < common; k++) + s += this->matrix[i][k] * operand.matrix[k][j]; + m.matrix[i][j] = s; + } + } + + return m; +} + +void Matrix::display() { + unsigned int i, j; + + for (i = 0; i < this->r; i++) { + for (j = 0; j < this->c; j++) + cout << this->matrix[i][j] << ' '; + cout << endl; + } +} + +int main() { + Matrix a(2, 3), b(3, 4); + Matrix m; + + a.init(vector>{{1, 2, -3}, {3, 2, 1}}); + + b.init( + vector>{{1, -4, -4, 1}, {0, 4, 4, -34}, {3, 1231, 0, -9653}}); + + m = a * b; + + m.display(); + + return 0; +} diff --git a/lab2/5.cpp b/lab2/5.cpp new file mode 100644 index 0000000..c646861 --- /dev/null +++ b/lab2/5.cpp @@ -0,0 +1,56 @@ +#include +using namespace std; + +class Time { +private: + uint h, m, s; + +public: + Time() = default; + Time(uint, uint, uint); + Time operator+(Time); + void display(); +}; + +Time::Time(uint h, uint m, uint s) { + if (m > 59 || s > 59) + exit(1); + + this->h = h; + this->m = m; + this->s = s; +} + +void Time::display() { + cout << "Hours: " << this->h << endl + << "Minutes: " << this->m << endl + << "Seconds: " << this->s << endl; +} + +Time Time::operator+(Time op) { + Time t; + + t.h = this->h + op.h; + t.m = this->m + op.m; + t.s = this->s + op.s; + + t.m += t.s / 60; + t.s %= 60; + + t.h += t.m / 60; + t.m %= 60; + + return t; +} + +int main() { + Time t; + Time a(64, 32, 7); + Time b(3, 59, 53); + + t = a + b; + + t.display(); + + return 0; +} diff --git a/lab2/6.cpp b/lab2/6.cpp new file mode 100644 index 0000000..96fac03 --- /dev/null +++ b/lab2/6.cpp @@ -0,0 +1,72 @@ +#include + +using namespace std; + +const uint NSUBS = 5; +const uint NSTUDENTS = 5; + +class Student { +private: + char name[30]; + char branch[20]; + uint enrollment; + uint age; + char gender; + uint marks[NSUBS]; + double percentage; + +public: + void input(); + char *getName(); + double getPercentage(); +}; + +void Student::input() { + uint s = 0, i; + + cout << "Name: "; + cin >> this->name; + cout << "Branch: "; + cin >> this->branch; + cout << "Enter Enrollment number: "; + cin >> this->enrollment; + cout << "Age: "; + cin >> this->age; + cout << "Gender (m/f): "; + cin >> this->gender; + + if (this->gender != 'm' || this->gender != 'f') + exit(1); + + cout << "Enter Marks for" << endl; + + for (i = 0; i < NSUBS; i++) { + cout << "Subject " << i + 1 << ": "; + cin >> this->marks[i]; + + if (marks[i] > 100) + exit(1); + + s += this->marks[i]; + } + + this->percentage = (double)s / NSUBS; +} + +inline char *Student::getName() { return this->name; } +inline double Student::getPercentage() { return this->percentage; } + +int main() { + int i; + + Student a[NSTUDENTS]; + + for (i = 0; i < NSTUDENTS; i++) + a[i].input(); + + for (i = 0; i < NSTUDENTS; i++) + if (a[i].getPercentage() > 70) + cout << a[i].getName() << endl; + + return 0; +} diff --git a/lab2/file.org b/lab2/file.org new file mode 100644 index 0000000..43d305f --- /dev/null +++ b/lab2/file.org @@ -0,0 +1,255 @@ +* Write a program for multiplication of two matrices using OOP. [Hint: Declare class maths and then define variables and functions inside the class]. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 4.cpp :results output :exports both :wrap src text +#include +#include +using namespace std; + +class Matrix { +private: + unsigned int r, c; + vector> matrix; + +public: + Matrix() = default; + Matrix(int, int); + void init(vector>); + unsigned int getRows(); + unsigned int getColumns(); + Matrix operator*(Matrix); + void display(); +}; + +Matrix::Matrix(int r, int c) { + this->r = r, this->c = c; + this->matrix = vector>(r, vector(c)); +} + +void Matrix::init(vector> src) { + unsigned int i, j; + + if (this->r > src.size()) + exit(1); + + for (i = 0; i < this->r; i++) { + if (c > src[i].size()) + exit(1); + + for (int j = 0; j < this->c; j++) + this->matrix[i][j] = src[i][j]; + } +} + +inline unsigned int Matrix::getRows() { return r; } + +inline unsigned int Matrix::getColumns() { return c; } + +Matrix Matrix::operator*(Matrix operand) { + unsigned int i, j, k; + unsigned int r, c; + unsigned int common; + Matrix m; + + if (this->getColumns() != operand.getRows()) + exit(1); + + r = this->getRows(); + c = operand.getColumns(); + + m = Matrix(r, c); + + common = this->getColumns(); + + for (i = 0; i < r; i++) { + for (j = 0; j < c; j++) { + int s = 0; + for (k = 0; k < common; k++) + s += this->matrix[i][k] * operand.matrix[k][j]; + m.matrix[i][j] = s; + } + } + + return m; +} + +void Matrix::display() { + unsigned int i, j; + + for (i = 0; i < this->r; i++) { + for (j = 0; j < this->c; j++) + cout << this->matrix[i][j] << ' '; + cout << endl; + } +} + +int main() { + Matrix a(2, 3), b(3, 4); + Matrix m; + + a.init(vector>{{1, 2, -3}, {3, 2, 1}}); + + b.init( + vector>{{1, -4, -4, 1}, {0, 4, 4, -34}, {3, 1231, 0, -9653}}); + + m = a * b; + + m.display(); + + return 0; +} +#+end_src + +#+RESULTS: +#+begin_src text +-8 -3689 4 28892 +6 1227 -4 -9718 +#+end_src +#+LATEX: \clearpage + +* Create a class TIME with members hours, minutes, seconds. Take input, add two time objects passing objects to function and display the result. [Hint: use class object as parameter of function add()] + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 5.cpp :results output :exports both :wrap src text +#include +using namespace std; + +class Time { +private: + uint h, m, s; + +public: + Time() = default; + Time(uint, uint, uint); + Time operator+(Time); + void display(); +}; + +Time::Time(uint h, uint m, uint s) { + if (m > 59 || s > 59) + exit(1); + + this->h = h; + this->m = m; + this->s = s; +} + +void Time::display() { + cout << "Hours: " << this->h << endl + << "Minutes: " << this->m << endl + << "Seconds: " << this->s << endl; +} + +Time Time::operator+(Time op) { + Time t; + + t.h = this->h + op.h; + t.m = this->m + op.m; + t.s = this->s + op.s; + + t.m += t.s / 60; + t.s %= 60; + + t.h += t.m / 60; + t.m %= 60; + + return t; +} + +int main() { + Time t; + Time a(64, 32, 7); + Time b(3, 59, 53); + + t = a + b; + + t.display(); + + return 0; +} +#+end_src + +#+RESULTS: +#+begin_src text +Hours: 68 +Minutes: 32 +Seconds: 0 +#+end_src +#+LATEX: \clearpage + +* Create a class Student which has data members as name, branch, roll no, age , gender, marks in five subjects. Display the name of the student and his percentage who has more than 70%.Use array of objects size 5.[Hint: also declare percentage variable and calculate it and then compare all the object of student class to find name of student with percentage > 70] + +#+begin_src cpp :tangle 6.cpp :results output :exports both :wrap src text +#include + +using namespace std; + +const uint NSUBS = 5; +const uint NSTUDENTS = 5; + +class Student { +private: + char name[30]; + char branch[20]; + uint enrollment; + uint age; + char gender; + uint marks[NSUBS]; + double percentage; + +public: + void input(); + char *getName(); + double getPercentage(); +}; + +void Student::input() { + uint s = 0, i; + + cout << "Name: "; + cin >> this->name; + cout << "Branch: "; + cin >> this->branch; + cout << "Enter Enrollment number: "; + cin >> this->enrollment; + cout << "Age: "; + cin >> this->age; + cout << "Gender (m/f): "; + cin >> this->gender; + + if (this->gender != 'm' || this->gender != 'f') + exit(1); + + cout << "Enter Marks for" << endl; + + for (i = 0; i < NSUBS; i++) { + cout << "Subject " << i + 1 << ": "; + cin >> this->marks[i]; + + if (marks[i] > 100) + exit(1); + + s += this->marks[i]; + } + + this->percentage = (double)s / NSUBS; +} + +inline char *Student::getName() { return this->name; } +inline double Student::getPercentage() { return this->percentage; } + +int main() { + int i; + + Student a[NSTUDENTS]; + + for (i = 0; i < NSTUDENTS; i++) + a[i].input(); + + for (i = 0; i < NSTUDENTS; i++) + if (a[i].getPercentage() > 70) + cout << a[i].getName() << endl; + + return 0; +} +#+end_src diff --git a/lab3/7.cpp b/lab3/7.cpp new file mode 100644 index 0000000..8b24663 --- /dev/null +++ b/lab3/7.cpp @@ -0,0 +1,24 @@ +#include +#include +using namespace std; + +uint64_t factorial(uint n) { return (n ? n * factorial(n - 1) : 1); } + +class NumberWithFactorial { +private: + uint n; + uint64_t f; + +public: + NumberWithFactorial(uint); +}; + +NumberWithFactorial::NumberWithFactorial(uint n) { + this->n = n; + this->f = factorial(n); + cout << "Factorial of " << this->n << " is " << this->f << endl; +} + +int main() { + NumberWithFactorial(5); +} diff --git a/lab3/8.cpp b/lab3/8.cpp new file mode 100644 index 0000000..9d1b017 --- /dev/null +++ b/lab3/8.cpp @@ -0,0 +1,45 @@ +#include +using namespace std; + +class Complex { +private: + int r, i; + +public: + Complex() = default; + Complex(int); + Complex(int, int); + Complex operator+(Complex); + void display(); +}; + +Complex::Complex(int a) { this->r = this->i = a; } + +Complex::Complex(int r, int i) { + this->r = r; + this->i = i; +} + +Complex Complex::operator+(Complex op) { + return Complex(this->r + op.r, this->i + op.i); +} + +void Complex::display() { + if (this->r) + cout << this->r; + + if (this-> r && this->i > 0) + cout << '+'; + + if (this->i) + cout << this->i << 'i'; + + cout << endl; +} + +int main() { + Complex c; + Complex a(4), b(34, -2124); + c = a + b; + c.display(); +} diff --git a/lab3/9.cpp b/lab3/9.cpp new file mode 100644 index 0000000..fb2960d --- /dev/null +++ b/lab3/9.cpp @@ -0,0 +1,32 @@ +#include +using namespace std; + +class Fibo { +private: + uint lim; + +public: + Fibo() = default; + Fibo(uint); + Fibo(const Fibo &); +}; + +Fibo::Fibo(uint n) { this->lim = n; } + +Fibo::Fibo(const Fibo &f) { + uint a = 0, b = 1, i; + + cout << a << ' ' << b; + + for (i = 0; i < f.lim - 2; i++) { + cout << ' ' << a + b; + b += a; + a = b - a; + } + cout << endl; +} + +int main() { + Fibo a(10); + Fibo b = a; +} diff --git a/lab3/file.org b/lab3/file.org new file mode 100644 index 0000000..bfaa0ee --- /dev/null +++ b/lab3/file.org @@ -0,0 +1,129 @@ +* Write a program to enter any number and find its factorial using constructor. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 7.cpp :results output :exports both :wrap src text +#include +#include +using namespace std; + +uint64_t factorial(uint n) { return (n ? n * factorial(n - 1) : 1); } + +class NumberWithFactorial { +private: + uint n; + uint64_t f; + +public: + NumberWithFactorial(uint); +}; + +NumberWithFactorial::NumberWithFactorial(uint n) { + this->n = n; + this->f = factorial(n); + cout << "Factorial of " << this->n << " is " << this->f << endl; +} + +int main() { + NumberWithFactorial(5); +} +#+end_src + +#+RESULTS: +#+begin_src text +Factorial of 5 is 120 +#+end_src +#+LATEX: \clearpage + +* Write a program to perform addition of two complex numbers using constructor overloading. The first constructor which takes no argument is used to create objects which are not initialized, second which takes one argument is used to initialize real and imag parts to equal values and third which takes two arguments is used to initialize real and imag to two different values. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 8.cpp :results output :exports both :wrap src text +#include +using namespace std; + +class Complex { +private: + int r, i; + +public: + Complex() = default; + Complex(int); + Complex(int, int); + Complex operator+(Complex); + void display(); +}; + +Complex::Complex(int a) { this->r = this->i = a; } + +Complex::Complex(int r, int i) { + this->r = r; + this->i = i; +} + +Complex Complex::operator+(Complex op) { + return Complex(this->r + op.r, this->i + op.i); +} + +void Complex::display() { + if (this->r) + cout << this->r; + + if (this-> r && this->i > 0) + cout << '+'; + + if (this->i) + cout << this->i << 'i'; + + cout << endl; +} + +int main() { + Complex c; + Complex a(4), b(34, -2124); + c = a + b; + c.display(); +} +#+end_src + +#+RESULTS: +#+begin_src text +38-2120i +#+end_src +#+LATEX: \clearpage + +* Write a program to generate a Fibonacci series using a copy constructor. + +#+begin_src cpp :tangle 9.cpp :results output :exports both :wrap src text +#include +using namespace std; + +class Fibo { +private: + uint lim; + +public: + Fibo() = default; + Fibo(uint); + Fibo(const Fibo &); +}; + +Fibo::Fibo(uint n) { this->lim = n; } + +Fibo::Fibo(const Fibo &f) { + uint a = 0, b = 1, i; + + cout << a << ' ' << b; + + for (i = 0; i < f.lim - 2; i++) { + cout << ' ' << a + b; + b += a; + a = b - a; + } + cout << endl; +} + +int main() { + Fibo a(10); + Fibo b = a; +} +#+end_src diff --git a/lab4/10.cpp b/lab4/10.cpp new file mode 100644 index 0000000..30f7259 --- /dev/null +++ b/lab4/10.cpp @@ -0,0 +1,25 @@ +#include +#include +using namespace std; + +class Trio { +private: + int a, b, c; + +public: + Trio(int, int, int); + friend int biggest(Trio); +}; + +Trio::Trio(int a, int b, int c) { + this->a = a; + this->b = b; + this->c = c; +} + +int biggest(Trio t) { return (max({t.a, t.b, t.c})); } + +int main() { + Trio t(444, 4, -44); + cout << biggest(t); +} diff --git a/lab4/12.cpp b/lab4/12.cpp new file mode 100644 index 0000000..d38315c --- /dev/null +++ b/lab4/12.cpp @@ -0,0 +1,33 @@ +#include +#include +using namespace std; + +class Foo; +class Bar; + +class Foo { +private: + int foo; + +public: + Foo(int n) { foo = n; } + friend int bigger(Foo, Bar); +}; + +class Bar { +private: + int bar; + +public: + Bar(int n) { bar = n; } + friend int bigger(Foo, Bar); +}; + +int bigger(Foo a, Bar b) { return max(a.foo, b.bar); } + +int main() { + Foo a(5); + Bar b(55); + + cout << bigger(a, b); +} diff --git a/lab4/file.org b/lab4/file.org new file mode 100644 index 0000000..5492c3b --- /dev/null +++ b/lab4/file.org @@ -0,0 +1,81 @@ +* Write a program to find the biggest of three numbers using friend function. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 10.cpp :results output :exports both :wrap src text +#include +#include +using namespace std; + +class Trio { +private: + int a, b, c; + +public: + Trio(int, int, int); + friend int biggest(Trio); +}; + +Trio::Trio(int a, int b, int c) { + this->a = a; + this->b = b; + this->c = c; +} + +int biggest(Trio t) { return (max({t.a, t.b, t.c})); } + +int main() { + Trio t(444, 4, -44); + cout << biggest(t); +} +#+end_src + +#+RESULTS: +#+begin_src text +444 +#+end_src +#+LATEX: \clearpage + +* Write a program to demonstrate the use of friend function with Inline assignment. +All friend functions are inline functions. + +* Write a program to find the greatest of two given numbers in two different classes using friend function. +#+begin_src cpp :tangle 12.cpp :results output :exports both :wrap src text +#include +#include +using namespace std; + +class Foo; +class Bar; + +class Foo { +private: + int foo; + +public: + Foo(int n) { foo = n; } + friend int bigger(Foo, Bar); +}; + +class Bar { +private: + int bar; + +public: + Bar(int n) { bar = n; } + friend int bigger(Foo, Bar); +}; + +int bigger(Foo a, Bar b) { return max(a.foo, b.bar); } + +int main() { + Foo a(5); + Bar b(55); + + cout << bigger(a, b); +} +#+end_src + +#+RESULTS: +#+begin_src text +55 +#+end_src diff --git a/lab5/13.cpp b/lab5/13.cpp new file mode 100644 index 0000000..fd67f8b --- /dev/null +++ b/lab5/13.cpp @@ -0,0 +1,73 @@ +#include +using namespace std; + +class Work { +private: + char title[50]; + uint price; + +public: + void getData(); + void putData(); +}; + +void Work::getData() { + cout << "Title of publication: "; + cin >> title; + cout << "Price of publication: "; + cin >> price; +} + +void Work::putData() { + cout << "Title of publication: " << title << endl + << "Price of publication: " << price << endl; +} + +class Book : public Work { +private: + uint pageCount; + +public: + void getData(); + void putData(); +}; + +void Book::getData() { + Work::getData(); + cout << "Number of pages: "; + cin >> pageCount; +} + +void Book::putData() { + Work::putData(); + cout << "Number of pages: " << pageCount << endl; +} + +class Tape : public Work { +private: + uint lengthMin; + +public: + void getData(); + void putData(); +}; + +void Tape::getData() { + Work::getData(); + cout << "Length in minutes: "; + cin >> lengthMin; +} + +void Tape::putData() { + Work::putData(); + cout << "Length in minutes: " << lengthMin << endl; +} + +int main() { + Tape t; + Book b; + t.getData(); + t.putData(); + b.getData(); + b.putData(); +} diff --git a/lab5/14.cpp b/lab5/14.cpp new file mode 100644 index 0000000..ab48ee9 --- /dev/null +++ b/lab5/14.cpp @@ -0,0 +1,88 @@ +#include +using namespace std; + +class BasicInfo { +private: + char name[30]; + int empId; + char gender; + +public: + void getData(); + void putData(); +}; + +void BasicInfo::getData() { + cout << "Name: "; + cin >> name; + cout << "Employee ID: "; + cin >> empId; + cout << "Gender: "; + cin >> gender; +} + +void BasicInfo::putData() { + cout << "Name: " << name << endl + << "Employee ID: " << empId << endl + << "Gender: " << gender << endl; +} + +class DeptInfo : public BasicInfo { +private: + char deptName[30]; + char assignWork[30]; + int timeToComplete; + +public: + void getData(); + void putData(); +}; + +void DeptInfo::getData() { + BasicInfo::getData(); + cout << "Name of Department: "; + cin >> deptName; + cout << "Assigned Work: "; + cin >> assignWork; + cout << "Time to complete: "; + cin >> timeToComplete; +} + +void DeptInfo::putData() { + BasicInfo::putData(); + cout << "Name of Department: " << deptName << endl + << "Assigned Work: " << assignWork << endl + << "Time to complete: " << timeToComplete << endl; +} + +class EmployeeInfo : public DeptInfo { +private: + int salary; + int age; + +public: + void getData(); + void putData(); +}; + +void EmployeeInfo::getData() { + DeptInfo::getData(); + cout << "Salary of employee: "; + cin >> salary; + cout << "Age of employee: "; + cin >> age; +} + +void EmployeeInfo::putData() { + DeptInfo::putData(); + cout << "Salary of employee: " << salary << endl + << "Age of employee: " << age << endl; +} + +int main() { + EmployeeInfo e; + e.getData(); + e.putData(); + + return 0; +} diff --git a/lab5/15.cpp b/lab5/15.cpp new file mode 100644 index 0000000..f3406ec --- /dev/null +++ b/lab5/15.cpp @@ -0,0 +1,68 @@ +#include +using namespace std; + +class Student { +private: + char name[30]; + int enrollment; + +public: + void getData(); +}; + +void Student::getData() { + cout << "Name: "; + cin >> name; + cout << "Enrollment: "; + cin >> enrollment; +} + +class Exam : public Student { +protected: + const static uint NSUBS = 6; + uint marks[NSUBS]; + +public: + void getData(); +}; + +void Exam::getData() { + uint i; + + Student::getData(); + + cout << "Enter marks for " << endl; + + for (i = 0; i < NSUBS; i++) { + cout << "Subject " << i + 1 << ": "; + cin >> marks[i]; + } +} + +class Result : private Exam { +private: + uint totalMarks; + +public: + void getData(); + uint getTotal(); +}; + +void Result::getData() { + uint i; + + Exam::getData(); + this->totalMarks = 0; + + for (i = 0; i < Exam::NSUBS; i++) + this->totalMarks += Exam::marks[i]; +} + +uint Result::getTotal() { return this->totalMarks; } + +int main() { + Result r; + r.getData(); + cout << "Total Marks: " << r.getTotal(); + return 0; +} diff --git a/lab5/file.org b/lab5/file.org new file mode 100644 index 0000000..2128290 --- /dev/null +++ b/lab5/file.org @@ -0,0 +1,301 @@ +* Imagine a publishing company that markets both book and audiocassette versions of its works. Create a class publication that stores the title (a string) and price (type float) of a publication. 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). Each of these three classes should have a getdata() function to get its data from the user at the keyboard, and a putdata() function to display its data. (Simple inheritance & method overriding) + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 13.cpp :results output :wrap src text +#include +using namespace std; + +class Work { +private: + char title[50]; + uint price; + +public: + void getData(); + void putData(); +}; + +void Work::getData() { + cout << "Title of publication: "; + cin >> title; + cout << "Price of publication: "; + cin >> price; +} + +void Work::putData() { + cout << "Title of publication: " << title << endl + << "Price of publication: " << price << endl; +} + +class Book : public Work { +private: + uint pageCount; + +public: + void getData(); + void putData(); +}; + +void Book::getData() { + Work::getData(); + cout << "Number of pages: "; + cin >> pageCount; +} + +void Book::putData() { + Work::putData(); + cout << "Number of pages: " << pageCount << endl; +} + +class Tape : public Work { +private: + uint lengthMin; + +public: + void getData(); + void putData(); +}; + +void Tape::getData() { + Work::getData(); + cout << "Length in minutes: "; + cin >> lengthMin; +} + +void Tape::putData() { + Work::putData(); + cout << "Length in minutes: " << lengthMin << endl; +} + +int main() { + Tape t; + Book b; + t.getData(); + t.putData(); + b.getData(); + b.putData(); +} +#+end_src + +#+begin_src text +Title of publication: alo +Price of publication: 4 +Length in minutes: 4 +Title of publication: alo +Price of publication: 4 +Length in minutes: 4 +Title of publication: cope +Price of publication: 44 +Number of pages: 444 +Title of publication: cope +Price of publication: 44 +Number of pages: 444 +#+end_src +#+LATEX: \clearpage + +* C++ program to read and print employee information using multiple inheritance. The program has following classes: +** basicInfo +- Data: name[char,30],empId[int], gender[char] +- Functions: getData(), putData(); +** deptInfo +- Data: deptName[char,30], assignWork[char,30], timeToComplete(int) +- Functions: getData(), putData(); +** employeeInfo +- Data: salary[int], age[int] +- Functions: getData(), putData(); +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 14.cpp :results output :wrap src text +#include +using namespace std; + +class BasicInfo { +private: + char name[30]; + int empId; + char gender; + +public: + void getData(); + void putData(); +}; + +void BasicInfo::getData() { + cout << "Name: "; + cin >> name; + cout << "Employee ID: "; + cin >> empId; + cout << "Gender: "; + cin >> gender; +} + +void BasicInfo::putData() { + cout << "Name: " << name << endl + << "Employee ID: " << empId << endl + << "Gender: " << gender << endl; +} + +class DeptInfo : public BasicInfo { +private: + char deptName[30]; + char assignWork[30]; + int timeToComplete; + +public: + void getData(); + void putData(); +}; + +void DeptInfo::getData() { + BasicInfo::getData(); + cout << "Name of Department: "; + cin >> deptName; + cout << "Assigned Work: "; + cin >> assignWork; + cout << "Time to complete: "; + cin >> timeToComplete; +} + +void DeptInfo::putData() { + BasicInfo::putData(); + cout << "Name of Department: " << deptName << endl + << "Assigned Work: " << assignWork << endl + << "Time to complete: " << timeToComplete << endl; +} + +class EmployeeInfo : public DeptInfo { +private: + int salary; + int age; + +public: + void getData(); + void putData(); +}; + +void EmployeeInfo::getData() { + DeptInfo::getData(); + cout << "Salary of employee: "; + cin >> salary; + cout << "Age of employee: "; + cin >> age; +} + +void EmployeeInfo::putData() { + DeptInfo::putData(); + cout << "Salary of employee: " << salary << endl + << "Age of employee: " << age << endl; +} + +int main() { + EmployeeInfo e; + e.getData(); + e.putData(); + + return 0; +} +#+end_src + +#+begin_src +Name: QuantaviousQuandaleIII +Employee ID: 4 +Gender: f +Name of Department: BasedDepartment +Assigned Work: DiscordModeration +Time to complete: 4 +Salary of employee: 444444 +Age of employee: 44 +Name: QuantaviousQuandaleIII +Employee ID: 4 +Gender: f +Name of Department: BasedDepartment +Assigned Work: DiscordModeration +Time to complete: 4 +Salary of employee: 444444 +Age of employee: 44 +#+end_src +#+LATEX: \clearpage + +* Design three classes STUDENT ,EXAM and RESULT. The STUDENT class has data members such as rollno, name. create a class EXAM by inheriting the STUDENT class. The EXAM class adds data members representing the marks scored in six subjects. Derive the RESULT from the EXAM class and has its own data members such as total marks. Write a program to model this relationship. +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 15.cpp :results output :wrap src text +#include +using namespace std; + +class Student { +private: + char name[30]; + int enrollment; + +public: + void getData(); +}; + +void Student::getData() { + cout << "Name: "; + cin >> name; + cout << "Enrollment: "; + cin >> enrollment; +} + +class Exam : public Student { +protected: + const static uint NSUBS = 6; + uint marks[NSUBS]; + +public: + void getData(); +}; + +void Exam::getData() { + uint i; + + Student::getData(); + + cout << "Enter marks for " << endl; + + for (i = 0; i < NSUBS; i++) { + cout << "Subject " << i + 1 << ": "; + cin >> marks[i]; + } +} + +class Result : private Exam { +private: + uint totalMarks; + +public: + void getData(); + uint getTotal(); +}; + +void Result::getData() { + uint i; + + Exam::getData(); + this->totalMarks = 0; + + for (i = 0; i < Exam::NSUBS; i++) + this->totalMarks += Exam::marks[i]; +} + +uint Result::getTotal() { return this->totalMarks; } + +int main() { + Result r; + r.getData(); + cout << "Total Marks: " << r.getTotal(); + return 0; +} +#+end_src + +#+begin_src +Name: RetardSingh +Enrollment: 4 +Enter marks for +Subject 1: 44 +Subject 2: 4 +Subject 3: 30 +Subject 4: 99 +Subject 5: 26 +Subject 6: 84 +#+end_src diff --git a/lab6/16.cpp b/lab6/16.cpp new file mode 100644 index 0000000..211f2e0 --- /dev/null +++ b/lab6/16.cpp @@ -0,0 +1,82 @@ +#include +using namespace std; + +class Book { +private: + char name[50]; + uint id; + +public: + void getData(); + void putData(); +}; + +void Book::getData() { + cout << "Name of book: "; + cin >> name; + cout << "ID of book: "; + cin >> id; +} + +void Book::putData() { + cout << "Name of book: " << name << endl << "ID of book: " << id << endl; +} + +class Authorities : public Book { +private: + char author[50]; + char publisher[50]; + +public: + void getData(); + void putData(); +}; + +void Authorities::getData() { + cout << "Name of author: "; + cin >> author; + cout << "Name of publisher: "; + cin >> publisher; +} + +void Authorities::putData() { + cout << "Name of author: " << author << endl + << "Name of publisher: " << publisher << endl; +} + +class Publication : public Authorities { +private: + uint pageCount; + uint year; + +public: + void getData(); + void putData(); +}; + +void Publication::getData() { + cout << "Number of pages: "; + cin >> pageCount; + cout << "Year (YYYY): "; + cin >> year; +} + +void Publication::putData() { + cout << "Number of pages: " << pageCount << endl << "Year: " << year << endl; +} + +int main() { + Publication p[3]; + + for (auto &x: p) { + x.Book::getData(); + x.Authorities::getData(); + x.getData(); + } + + for (auto &x: p) { + x.Book::putData(); + x.Authorities::putData(); + x.putData(); + } +} diff --git a/lab6/17.cpp b/lab6/17.cpp new file mode 100644 index 0000000..233f9ea --- /dev/null +++ b/lab6/17.cpp @@ -0,0 +1,73 @@ +#include +#include +using namespace std; + +class Shape { + int stub; + +public: + virtual void getData() { cout << "stub"; } + + virtual double area() { + cout << "stub"; + return 0; + } +}; + +class Triangle : public Shape { +private: + double sides[3]; + +public: + void getData(); + double area(); +}; + +void Triangle::getData() { + cout << "Enter 3 integers for the sides of triangle: \n"; + + for (int i = 0; i < 3; i++) + cin >> sides[i]; +} + +double Triangle::area() { + double s = (sides[0] + sides[1] + sides[2]) / 2; + + return sqrt(s * (s - sides[0]) * (s - sides[1]) * (s - sides[2])); +} + +class Rectangle : public Shape { +private: + double l; + double b; + +public: + void getData(); + double area(); +}; + +void Rectangle::getData() { + cout << "Enter length of rectangle: "; + cin >> l; + cout << "Enter breadh of rectangle: "; + cin >> b; +} + +double Rectangle::area() { return l * b; } + +int main() { + Shape *s; + Triangle t; + Rectangle r; + + s = &t; + + s->getData(); + cout << "Area of the Shape: " << s->area() << endl; + + s = &r; + + s->getData(); + cout << "Area of the Shape: " << s->area() << endl; + +} diff --git a/lab6/18.cpp b/lab6/18.cpp new file mode 100644 index 0000000..18d9fcf --- /dev/null +++ b/lab6/18.cpp @@ -0,0 +1,59 @@ +#include +using namespace std; + +class BasicInfo { +private: + char name[30]; + uint enrollment; + char gender; + +public: + void getData(); + void putData(); +}; + +void BasicInfo::getData() { + cout << "Name: "; + cin >> name; + cout << "Enrollment: "; + cin >> enrollment; + cout << "Gender: "; + cin >> gender; +} +void BasicInfo::putData() { + cout << "Name: " << name << endl + << "Enrollment: " << enrollment << endl + << "Gender: " << gender << endl; +} + +class PhysicalFit : public BasicInfo { + uint height; + uint weight; + +public: + void getData(); + void putData(); +}; + +void PhysicalFit::getData() { + cout << "Weight (in kg): "; + cin >> weight; + cout << "Height (in cm): "; + cin >> height; +} + +void PhysicalFit::putData() { + cout << "Weight (in kg): " << weight << endl + << "Height (in cm): " << height << endl; +} + +int main() { + PhysicalFit x; + x.BasicInfo::getData(); + x.getData(); + + x.BasicInfo::putData(); + x.putData(); + + return 0; +} diff --git a/lab6/file.org b/lab6/file.org new file mode 100644 index 0000000..1ec7934 --- /dev/null +++ b/lab6/file.org @@ -0,0 +1,295 @@ +* Create class first with data members book no, book name and member function getdata and putdata. Create a class second with data members author name ,publisher and members getdata and showdata. Derive a class third from first and second with data member no of pages and year of publication. Display all these information using an array of objects of third class. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 16.cpp :wrap src text +#include +using namespace std; + +class Book { +private: + char name[50]; + uint id; + +public: + void getData(); + void putData(); +}; + +void Book::getData() { + cout << "Name of book: "; + cin >> name; + cout << "ID of book: "; + cin >> id; +} + +void Book::putData() { + cout << "Name of book: " << name << endl << "ID of book: " << id << endl; +} + +class Authorities : public Book { +private: + char author[50]; + char publisher[50]; + +public: + void getData(); + void putData(); +}; + +void Authorities::getData() { + cout << "Name of author: "; + cin >> author; + cout << "Name of publisher: "; + cin >> publisher; +} + +void Authorities::putData() { + cout << "Name of author: " << author << endl + << "Name of publisher: " << publisher << endl; +} + +class Publication : public Authorities { +private: + uint pageCount; + uint year; + +public: + void getData(); + void putData(); +}; + +void Publication::getData() { + cout << "Number of pages: "; + cin >> pageCount; + cout << "Year (YYYY): "; + cin >> year; +} + +void Publication::putData() { + cout << "Number of pages: " << pageCount << endl << "Year: " << year << endl; +} + +int main() { + Publication p[3]; + + for (auto &x: p) { + x.Book::getData(); + x.Authorities::getData(); + x.getData(); + } + + for (auto &x: p) { + x.Book::putData(); + x.Authorities::putData(); + x.putData(); + } +} +#+end_src + +#+begin_src +ID of book: 4 +Name of author: a. +Name of publisher: a. +Number of pages: 4 +Year (YYYY): 4044 +Name of book: sahi +ID of book: 5 +Name of author: baat +Name of publisher: hai +Number of pages: 555555 +Year (YYYY): 192 +Name of book: how +ID of book: 349234 +Name of author: ok +Name of publisher: test +Number of pages: 99991293 +Year (YYYY): 2022 +Name of book: Allu +ID of book: 4 +Name of author: a. +Name of publisher: a. +Number of pages: 4 +Year: 4044 +Name of book: sahi +ID of book: 5 +Name of author: baat +Name of publisher: hai +Number of pages: 555555 +Year: 192 +Name of book: how +ID of book: 349234 +Name of author: ok +Name of publisher: test +Number of pages: 99991293 +Year: 2022 +#+end_src +#+LATEX: \clearpage + +* Create a base class called SHAPE. Use this class to store two double type values. Derive two specific classes called TRIANGLE and RECTANGLE from the base class. Add to the base class, a member function getdata to initialize base class data members and another member function display to compute and display the area of figures. Make display a virtual function and redefine this function in the derived classes to suit their requirements. Using these three classes design a program that will accept driven of a TRIANGLE or RECTANGLE interactively and display the area. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 17.cpp :results output :wrap src text +#include +#include +using namespace std; + +class Shape { + int stub; + +public: + virtual void getData() { cout << "stub"; } + + virtual double area() { + cout << "stub"; + return 0; + } +}; + +class Triangle : public Shape { +private: + double sides[3]; + +public: + void getData(); + double area(); +}; + +void Triangle::getData() { + cout << "Enter 3 integers for the sides of triangle: \n"; + + for (int i = 0; i < 3; i++) + cin >> sides[i]; +} + +double Triangle::area() { + double s = (sides[0] + sides[1] + sides[2]) / 2; + + return sqrt(s * (s - sides[0]) * (s - sides[1]) * (s - sides[2])); +} + +class Rectangle : public Shape { +private: + double l; + double b; + +public: + void getData(); + double area(); +}; + +void Rectangle::getData() { + cout << "Enter length of rectangle: "; + cin >> l; + cout << "Enter breadh of rectangle: "; + cin >> b; +} + +double Rectangle::area() { return l * b; } + +int main() { + Shape *s; + Triangle t; + Rectangle r; + + s = &t; + + s->getData(); + cout << "Area of the Shape: " << s->area() << endl; + + s = &r; + + s->getData(); + cout << "Area of the Shape: " << s->area() << endl; + +} +#+end_src + +#+begin_src +Enter 3 integers for the sides of triangle: +4 +4 +4 +Area of the Shape: 6.9282 +Enter length of rectangle: 4 +Enter breadh of rectangle: 4 +Area of the Shape: 16 +#+end_src +#+LATEX: \clearpage + +* Create a base class basic_info with data members name ,roll no, gender and two member functions getdata and display. Derive a class physical_fit from basic_info which has data members height and weight and member functions getdata and display. Display all the information using object of derived class. + +#+ATTR_LATEX: :options frame=single,breaklines=true +#+begin_src cpp :tangle 18.cpp :results output :wrap src text +#include +using namespace std; + +class BasicInfo { +private: + char name[30]; + uint enrollment; + char gender; + +public: + void getData(); + void putData(); +}; + +void BasicInfo::getData() { + cout << "Name: "; + cin >> name; + cout << "Enrollment: "; + cin >> enrollment; + cout << "Gender: "; + cin >> gender; +} +void BasicInfo::putData() { + cout << "Name: " << name << endl + << "Enrollment: " << enrollment << endl + << "Gender: " << gender << endl; +} + +class PhysicalFit : public BasicInfo { + uint height; + uint weight; + +public: + void getData(); + void putData(); +}; + +void PhysicalFit::getData() { + cout << "Weight (in kg): "; + cin >> weight; + cout << "Height (in cm): "; + cin >> height; +} + +void PhysicalFit::putData() { + cout << "Weight (in kg): " << weight << endl + << "Height (in cm): " << height << endl; +} + +int main() { + PhysicalFit x; + x.BasicInfo::getData(); + x.getData(); + + x.BasicInfo::putData(); + x.putData(); + + return 0; +} +#+end_src + +#+begin_src +Name: acha +Enrollment: 4 +Gender: f +Weight (in kg): 999 +Height (in cm): 2 +Name: acha +Enrollment: 4 +Gender: f +Weight (in kg): 999 +Height (in cm): 2 +#+end_src