added guest list example
This commit is contained in:
parent
c0c1679933
commit
25f37a556c
100
VL03-02-01/main.cc
Normal file
100
VL03-02-01/main.cc
Normal file
@ -0,0 +1,100 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
void checkGuest(std::vector<std::string> &guests) {
|
||||
std::cout << "Guest: ";
|
||||
std::string guest;
|
||||
std::cin >> guest;
|
||||
bool is_guest = false;
|
||||
|
||||
for (std::vector<std::string>::iterator it = guests.begin(); it != guests.end();) {
|
||||
if (*it == guest) {
|
||||
is_guest = true;
|
||||
break;
|
||||
} else {
|
||||
++it;
|
||||
}
|
||||
}
|
||||
|
||||
std::cout << guest << " is " << ((is_guest) ? "" : "NOT ") << "on the guest list!" << std::endl;
|
||||
}
|
||||
|
||||
void createGuest(std::vector<std::string> &guests) {
|
||||
bool keepInput = true;
|
||||
|
||||
do {
|
||||
std::string guest;
|
||||
std::cout << "Guest: ";
|
||||
std::cin >> guest;
|
||||
guests.push_back(guest);
|
||||
std::cout << "More? (1 = Yes - 0 = No) ";
|
||||
std::cin >> keepInput;
|
||||
} while (keepInput);
|
||||
}
|
||||
|
||||
void removeGuest(std::vector<std::string> &guests) {
|
||||
std::cout << "Guest: ";
|
||||
std::string guest;
|
||||
std::cin >> guest;
|
||||
|
||||
for (std::vector<std::string>::iterator it = guests.begin(); it != guests.end();) {
|
||||
if (*it == guest) {
|
||||
it = guests.erase(it);
|
||||
} else {
|
||||
++it;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void showGuests(std::vector<std::string> &guests) {
|
||||
std::cout << "-- List of all guests --" << std::endl;
|
||||
|
||||
for (std::string &guest : guests) {
|
||||
std::cout << "\t" << guest << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
int showMenuSelection() {
|
||||
std::cout << std::endl << std::endl;
|
||||
std::cout << "-- Menu (Guest list manager) --" << std::endl;
|
||||
std::cout << "\t 1 - New guest" << std::endl;
|
||||
std::cout << "\t 2 - Remove guest" << std::endl;
|
||||
std::cout << "\t 3 - Check guest" << std::endl;
|
||||
std::cout << "\t 4 - Show guests" << std::endl;
|
||||
std::cout << "\t 5 - Clear guest list" << std::endl;
|
||||
std::cout << "\t 9 - Exit" << std::endl;
|
||||
std::cout << std::endl << "Selection: ";
|
||||
int selection;
|
||||
std::cin >> selection;
|
||||
return selection;
|
||||
}
|
||||
|
||||
int main() {
|
||||
std::vector<std::string> guests;
|
||||
|
||||
while (int selection = showMenuSelection()) {
|
||||
switch (selection) {
|
||||
case 1:
|
||||
createGuest(guests);
|
||||
break;
|
||||
case 2:
|
||||
removeGuest(guests);
|
||||
break;
|
||||
case 3:
|
||||
checkGuest(guests);
|
||||
break;
|
||||
case 4:
|
||||
showGuests(guests);
|
||||
break;
|
||||
case 5:
|
||||
guests.clear();
|
||||
std::cout << "The guest list was cleared!" << std::endl;
|
||||
break;
|
||||
case 9:
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user