#include <iostream>
#include <string>
using namespace std;
struct Questionnaire{
string Title;
string Surname;
string Telephone;
int Groupsize;
int Rating;
};
int ValidateRating(Questionnaire RatingDetails[], int i){//Operation to Validate Rating Details
while(!(RatingDetails[i].Rating >0 & RatingDetails[i].Rating <=10)){
cout << "Invalid Entry" << endl;
cin >> RatingDetails[i].Rating;
}
return RatingDetails[i].Rating;
}
int ValidateGroupSize(Questionnaire GroupDetails[], int i){//Operation to validate Group Details
while(GroupDetails[i].Groupsize <1 || GroupDetails[i].Groupsize >20){
cout << "Invalid Entry"<< endl;
cin >> GroupDetails[i].Groupsize;
}
return GroupDetails[i].Groupsize;
}
string ValidateTelephone(Questionnaire TelephoneDetails[], int i){ //Operation to validate Telephone number
while(!(TelephoneDetails[i].Telephone.length() == 11)){
cout << "Invalid Entry" << endl << "Re-enter Telephone number" << endl;
cin >> TelephoneDetails[i].Telephone;
}
return TelephoneDetails[i].Telephone;
}
int FindingLargestGroup(Questionnaire Customer[], int i){
int MaxGroup=Customer[0].Groupsize;
for (int i=1; i<10; i++)//finds the maximum group entered
{
if (Customer[i].Groupsize > MaxGroup)
MaxGroup = Customer[i].Groupsize;
}
return MaxGroup;
}
void CounterRating(Questionnaire RatingDetails[], int i){
int poor = 0; int good = 0; int excellent = 0;
for(i=0;i<100;i++){
if(RatingDetails[i].Rating >=1 && RatingDetails[i].Rating <=3)
poor ++;
if(RatingDetails[i].Rating >=4 && RatingDetails[i].Rating <=6)
good ++;
if(RatingDetails[i].Rating >=7 && RatingDetails[i].Rating <=10)
excellent ++;
}
cout << "information: " << endl << "Poor: " << poor << endl << "Good: " << good << endl << "excellent: " << excellent << endl;
}
void PoorRating(Questionnaire RatingDetails[], int i){
for(i=0;i<100;i++){
if(RatingDetails[i].Rating >=1 && RatingDetails[i].Rating <=3){
}
cout << "Information: " << endl << "Name: " << Customer[i].Title << " " << Customer[i].Surname;
}
}
int main(){
char AnotherQ;
int largestgroup;
Questionnaire Customer[100];//set an array
int i=0;
do{
cout << "Please enter Customer title: "; cin >> Customer[i].Title;
cout << "Please enter Customer surname: ";cin >> Customer[i].Surname;
cout << "Please Enter Telephone: "; cin >> Customer[i].Telephone;//set to college the customer's telephone number
Customer[i].Telephone=ValidateTelephone(Customer,i); //Continues to ValidateTelehpone number operation
cout << "Please Enter Group Size: "; cin >> Customer[i].Groupsize;
Customer[i].Groupsize=ValidateGroupSize(Customer,i);//Continues to ValidateGroupSize number operation
cout << "Please Enter Rating of meal: "; cin >> Customer[i].Rating;
Customer[i].Rating=ValidateRating(Customer,i);//Continues to ValidateRating operation
cout<<"Do you want to Continue(y/n)? "; cin>>AnotherQ;//Asks if user wants to continue or end program
i++;
}
while(AnotherQ=='y' || AnotherQ=='Y');
largestgroup=FindingLargestGroup(Customer, i);
cout << "Largest Group: " << largestgroup << endl;//displays information
CounterRating(Customer ,i);
PoorRating(Customer,i);
system("pause");
return 0;
}