-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPerson.cpp
More file actions
156 lines (130 loc) · 3.18 KB
/
Person.cpp
File metadata and controls
156 lines (130 loc) · 3.18 KB
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <iostream>
#include <fstream>
#include <limits>
#include <algorithm>
#include <string>
#include "Person.h"
using namespace std;
// Constructor:
Person::Person(){}
Person::Person(string fullName, string id, string nationality, int age, float height, float weight)
{
this->fullName = fullName;
this->id = id;
this->nationality = nationality;
this->age = age;
this->height = height;
this->weight = weight;
}
// Deconstructor:
Person::~Person(){}
// Function to set all the values of Person:
void Person::setAll(string fullName, string id, string nationality, int age, float height, float weight)
{
this->fullName = fullName;
this->id = id;
this->nationality = nationality;
this->age = age;
this->height = height;
this->weight = weight;
}
// Function for displaying all the values of Person:
void Person::displayInfo() const
{
cout << "Full Name: " << fullName << endl;
cout << "ID: " << id << endl;
cout << "Nationality: " << nationality << endl;
cout << "Age: " << age << endl;
cout << "Height: " << height << endl;
cout << "Weight: " << weight << endl;
}
// Initialize Setters:
void Person::setFullName(string fullName)
{
this->fullName = fullName;
}
void Person::setId(string id)
{
this->id = id;
}
void Person::setNationality(string nationality)
{
this->nationality = nationality;
}
void Person::setAge(int age)
{
this->age = age;
}
void Person::setHeight(float height){
this->height=height;
}
void Person::setWeight(float weight){
this->weight=weight;
}
// Initialize Getters:
string Person::getFullName()
{
return fullName;
}
string Person::getNationality()
{
return nationality;
}
int Person::getAge()
{
return age;
}
float Person::getHeight(){
return height;
}
float Person::getWeight(){
return weight;
}
// Function for adding new Person:
void Person::addPerson()
{
cout << "Enter full name: ";
cin.ignore(); //clear the line before calling getline
getline(cin,fullName); //reads the entire line
cout << "Enter Nationality: ";
cin >> nationality;
age = inputInteger("Enter age: ");
height = inputInteger("Enter height: ");
weight = inputInteger("Enter weight: ");
}
// Function for prompt the user for an integer input:
int Person::inputInteger(const string& prompt) {
int value;
cout << prompt;
while (!(cin >> value)) {
cin.clear(); // Clear error flag
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // Ignore wrong input
cout << "Please enter an integer value: "; // Prompt the user again
}
return value;
}
// Helper function to trim whitespace from both ends of a string:
string Person::trim(const string& str) {
size_t first = str.find_first_not_of(" \t\n\r");
size_t last = str.find_last_not_of(" \t\n\r");
if (first == string::npos)
return ""; // No non-whitespace characters
return str.substr(first, (last - first + 1));
}
// FILE HANDLING:
// WRITER:
void Person::writeDataToFile()
{
}
// READER:
void Person::readDataFromFile()
{
}
//SEARCHER:
void Person::searchDataInFile()
{
}
// REMOVER:
void Person::removeDataFromFile()
{
}