Use C++ Write a program that keeps track of a speakers\' bureau. The program sho
ID: 3712704 • Letter: U
Question
Use C++
Write a program that keeps track of a speakers' bureau. The program should use a structure to store the following data about a speaker:
Name
Telephone Number
Speaking Topic
Fee Required
The program should use an array of at least 10 structures. It should let the user enter data into the array, change the contents of any element, and display all the data stored in the array. The program should have a menu-driven user interface.
Input Validation: When the data for a new speaker is entered, be sure the user enters data for all the fields. No negative amounts should be entered for a speaker's fee.
Please, comment your code.
Explanation / Answer
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
// Structure lists
struct speakerInfo
{
string name;
string phoneno;
string speakTopic;
int feeReq;
};
//Function prototypes
void getSpeaker(speakerInfo *);
void printSpeaker(speakerInfo *);
void editSpeaker(speakerInfo *);
int main()
{
int NUM_SPEAKERS = 10; //The number of speakers
int index; //Loop counter...
speakerInfo infos[10]; //Array to hold the stats for each speaker...
//Choice for menu
int submenu;
const int enter = 11,
change = 22,
print = 33,
leave = 44;
//Menu display with a do-while loop
do{
cout << "Please select a choice from this submenu. "
<< "11) Enter Speaker Information. "
<< "22) Change Speaker Information. "
<< "33) Print Speaker Information. "
<< "44) Exit the menu "
<< "Selection: ";
cin >> submenu;
switch (submenu){
case enter:{
//enter speaker information
getSpeaker(infos);
}
break;
case change:{
//change speaker information
editSpeaker(infos);
}
break;
case print:{
//print speaker information
printSpeaker(infos);
}
break;
}}
while (submenu != leave);
system("pause");
return 0;
}
void getSpeaker(speakerInfo *p){ //where p stands for the array name
//array name = pointer
int index=0;
int size=10; // Array size
for (index=0; index <= size; index++){
cout <<"Please enter the following information of the speaker: ";
cout <<"Speaker Name:";
cin.ignore(); //To skip remaining ' ' character
getline (cin, p[index].name);
cout<<" Speaker Telephone Number:";
cin.ignore(); //To skip remaining ' ' character
getline (cin, p[index].phoneno);
cout<<" Speaker Topic:";
cin.ignore(); //To skip remaining ' ' character
getline (cin, p[index].speakTopic);
cout<<" Fee Required:";
cin>>p[index].feeReq;
}}
void printSpeaker(speakerInfo *p){
int index=0;
int size=10; // Array size
for (index=0; index <= size; index++){
cout <<"The information entered for each speaker is: ";
cout << "SPEAKER "<<index<<endl;
cout << "Speaker Name: "<<p[index].name<<endl;
cout << "Speaker Telephone Number: "<<p[index].phoneno<<endl;
cout << "Speaker Topic: "<<p[index].speakTopic<<endl;
cout << "Speaker Fee Required: "<<p[index].feeReq<<endl;
}}
void editSpeaker(speakerInfo *p){
int i; //placeholder for the number wanted to be edited.
cout << "Please enter the number of the speaker you would like to edit."
<< " Example: 5 ";
cin >> i;
cout << endl;
cout <<"Please enter the updated information of the speaker: ";
cout <<"Speaker Name:";
cin.ignore(); //To skip remaining ' ' character
getline (cin, p[i].name);
cout<<" Speaker Telephone Number:";
cin.ignore(); //To skip remaining ' ' character
getline (cin, p[i].phoneno);
cout<<" Speaker Topic:";
cin.ignore(); //To skip remaining ' ' character
getline (cin, p[i].speakTopic);
cout<<" Fee Required:";
cin>>p[i].feeReq;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.