forked from natto1784/ooplab
		
	
							
								
								
									
										82
									
								
								lab6/16.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								lab6/16.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
#include <iostream>
 | 
			
		||||
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();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										73
									
								
								lab6/17.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								lab6/17.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
#include <iostream>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										59
									
								
								lab6/18.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								lab6/18.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
#include <iostream>
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										295
									
								
								lab6/file.org
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										295
									
								
								lab6/file.org
									
									
									
									
									
										Normal file
									
								
							@@ -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 <iostream>
 | 
			
		||||
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 <iostream>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
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 <iostream>
 | 
			
		||||
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
 | 
			
		||||
		Reference in New Issue
	
	Block a user