-
Notifications
You must be signed in to change notification settings - Fork 1
/
a4oops.cpp
108 lines (108 loc) · 2.46 KB
/
a4oops.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
using namespace std;
class Marketing{
public:
Marketing(){
title="";
price=0.0;
}
Marketing(string title, float price){
this->title=title;
this->price=price;
}
void getData(){
cout<<"\nEnter title and price\n";
cin>>title>>price;
}
void putData(){
try{
if(title.length()<3)
throw title;
if(price<=0.0)
throw price;
}
catch(string){
cout<<"\nError: Title below 3 characters is not allowed";
title="";
}
catch(float f){
cout<<"\nError: Price not valid: \t"<<f;
price=0.0;
}
cout<<"\nTitle is :"<<title;
cout<<"\nPrice is :"<<price;
}
private:
string title;
float price;
};
class Book: public Marketing{
public:
Book():Marketing(){
pages=0;
}
Book(string title, float price, int pages):Marketing(title,price){
this->pages=pages;
}
void getData(){
Marketing::getData();
cout<<"\nEnter no. of pages in book\n";
cin>>pages;
}
void putData(){
Marketing::putData();
try{
if(pages<0)
throw pages;
}
catch(int f){
cout<<"\nError: Pages not valid: \t"<<f;
pages=0;
}
cout<<"\nPages are :"<<pages;
}
private:
int pages;
};
class Cassette: public Marketing{
public:
Cassette():Marketing(){
playtime=0.0;
}
Cassette(string title, float price, float playtime):Marketing(title,price){
this->playtime=playtime;
}
void getData(){
Marketing::getData();
cout<<"\nEnter play time of cassette\n";
cin>>playtime;
}
void putData(){
Marketing::putData();
try{
if(playtime<0.0)throw playtime;
}
catch(float f)
{
cout<<"\nError: Playtime not valid: \t"<<f;
playtime=0.0;
}
cout<<"\nPlaytime is :"<<playtime;
}
private:
float playtime;
};
int main(){
Book book;
cout<<"\n***************BOOK**************\n";
book.getData();
cout<<"\n***************CASSETTE**************\n";
Cassette cassette;
cassette.getData();
cout<<"\n***************BOOK**************\n";
book.putData();
cout<<"\n***************CASSETTE**************\n";
cassette.putData();
cout<<"\n";
return 0;
}