Question

How to stop the program from exiting after display detail. When there is food detail, it...

How to stop the program from exiting after display detail. When there is food detail, it will display and exit the program. What can i do to make it not exit the program and back to main menu.

#include <iostream>
#include <iomanip>
#include<string.h>
using namespace std;

struct food{
int order_id;
string food_code,flavor,customer_id;
string address,name;
int weight,unit_price,qty,contact_number;
struct food *next;
};
  

class Foodsystem{
food *head,*temp,*temp2,*end;
static int id;
  
public:
Foodsystem(){ head=NULL;end=NULL;}

void Place_Order();
void View_food_details();
void Modify_food_details();
void Delete_food_details();
};
  
int Foodsystem::id=1000;
  
void Foodsystem::Place_Order(){
temp=new food;
cout<<endl;
cout<<"enter your name ::";
cin>>temp->name;
cout<<"enter contact number::";
cin>>temp->contact_number;
cin.ignore();
cout<<"enter address::";
getline(cin,temp->address);
cout<<"customer_id::";
getline(cin,temp->customer_id);
cout<<"enter food code u want to order::";
getline(cin,temp->food_code);
cout<<"enter flavor you want";
getline(cin,temp->flavor);
cout<<"enter the food weight in kg";
cin>>temp->weight;
cout<<"enter unit price";
cin>>temp->unit_price;
cout<<"quanity of item you want::";
cin>>temp->qty;
temp->order_id=id++;
if(head==NULL)
{head=temp;end=head;}
else
{end->next=temp;end=temp;}

}
  
void Foodsystem::View_food_details()
{
temp=head;
while(temp){
cout<<"your order id::";
cout<<temp->order_id<<endl;
cout<<"customer_id::";
cout<<temp->customer_id<<endl;
cout<<"food code::";
cout<<temp->food_code<<endl;
cout<<"flavor";
cout<<temp->flavor<<endl;
cout<<"the food weight in kg";
cout<<temp->weight<<endl;
cout<<"unit price";
cout<<temp->unit_price<<endl;
cout<<"quanity of item ::";
cout<<temp->qty<<endl;
cout<<"bill amount";
cout<<temp->unit_price *temp->qty<<endl;
temp=temp->next;
}
}
  


int main() {
// Write C++ code here
Foodsystem fs;
int choice;
while(1)
{
cout<<endl<<"1. Place Order" <<endl<<"2. View the food details"<<endl<<"3. Modify food details"<<endl<<"4. Delete food details"<<endl<<"5. exit"<<endl;
cout<<"enter your choice";
cin>>choice;
switch(choice){
case 1 : fs.Place_Order(); break;
case 2 : fs.View_food_details();break;
// case 3 : fs.Modify_food_details();break;
// case 4 : fs.Delete_food_details();break;
case 5 : exit(0);
default : cout<<"wrong choice";
  
}
}

return 0;
}

Homework Answers

Answer #1

I added a nested while loop in the main function where befor the switch case statements so that now everytime after entering the number the loop gets executed properly. Now the control doesnt exits the program after showing details but it stays to take further inputs from the user and exits only when 5 is pressed. And you have to enter the right data types or else it will fall in an infinite loop.

#include <iostream>
#include <iomanip>
#include<string.h>
using namespace std;

struct food{
int order_id;
string food_code,flavor,customer_id;
string address,name;
int weight,unit_price,qty,contact_number;
struct food *next;
};
  

class Foodsystem{
food *head,*temp,*temp2,*end;
static int id;
  
public:
Foodsystem(){ head=NULL;end=NULL;}

void Place_Order();
void View_food_details();
void Modify_food_details();
void Delete_food_details();
};
  
int Foodsystem::id=1000;
  
void Foodsystem::Place_Order(){
temp=new food();
cout<<endl;
cout<<"enter your name ::";
cin>>temp->name;
cout<<"enter contact number::";
cin>>temp->contact_number;
cin.ignore();
cout<<"enter address::";
getline(cin,temp->address);
cout<<"customer_id::";
getline(cin,temp->customer_id);
cout<<"enter food code u want to order::";
getline(cin,temp->food_code);
cout<<"enter flavor you want";
getline(cin,temp->flavor);
cout<<"enter the food weight in kg";
cin>>temp->weight;
cout<<"enter unit price";
cin>>temp->unit_price;
cout<<"quanity of item you want::";
cin>>temp->qty;
temp->order_id=id++;
if(head==NULL)
{head=temp;end=head;}
else
{end->next=temp;end=temp;}

}
  
void Foodsystem::View_food_details()
{
temp=head;
while(temp){
cout<<"your order id::";
cout<<temp->order_id<<endl;
cout<<"customer_id::";
cout<<temp->customer_id<<endl;
cout<<"food code::";
cout<<temp->food_code<<endl;
cout<<"flavor";
cout<<temp->flavor<<endl;
cout<<"the food weight in kg";
cout<<temp->weight<<endl;
cout<<"unit price";
cout<<temp->unit_price<<endl;
cout<<"quanity of item ::";
cout<<temp->qty<<endl;
cout<<"bill amount";
cout<<temp->unit_price *temp->qty<<endl;
temp=temp->next;
}
}
  


int main() {
// Write C++ code here
Foodsystem fs;
int choice;
while(1)
{
cout<<endl<<"1. Place Order" <<endl<<"2. View the food details"<<endl<<"3. Modify food details"<<endl<<"4. Delete food details"<<endl<<"5. exit"<<endl;
cout<<"enter your choice";
cin>>choice;
while(1){
switch(choice){
case 1 : fs.Place_Order(); break;
case 2 : fs.View_food_details();break;
// case 3 : fs.Modify_food_details();break;
// case 4 : fs.Delete_food_details();break;
case 5 : exit(0);
default : cout<<"wrong choice";
  
}
}
}

return 0;
}
Know the answer?
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for?
Ask your own homework help question
Similar Questions
i want to complete this code to insert a new node in the middle of list...
i want to complete this code to insert a new node in the middle of list (take a node data from user, search the node and insert new node after this node). this is the code #include <iostream> #include <stdlib.h> using namespace std ; struct Node{                int data;                Node *link ;}; struct Node *head=NULL, *tail=NULL; /* pointers to Node*/ void InsertFront(); void InsertRear(); void DeleteFront(); void DeleteRear(); int main(){                int choice;                do{                               cout << "1:...
C++ program that Create a struct called car that has the following data members (variables): -...
C++ program that Create a struct called car that has the following data members (variables): - Color //color of the car - Model //model name of the car - Year //year the car was made - isElectric //whether the car is electric (true) or not (false) - topSpeed //top speed of the car, can be a decimal. code i have done struct not working properly. #include <iostream> using namespace std; struct Car { string color; string model_number; int year_model; bool...
Write a 4-6 sentence summary explaining how you can use STL templates to create real world...
Write a 4-6 sentence summary explaining how you can use STL templates to create real world applications. In your summary, provide an example of a software project that you can create using STL templates and provide a brief explanation of the STL templates you will use to create this project. After that you will implement the software project you described . Your application must be a unique project and must incorporate the use of an STL container and/or iterator and...
my code has several functions; delete and backward functions are not working, rewrite the code for...
my code has several functions; delete and backward functions are not working, rewrite the code for both functions and check them in the main: #include<iostream> #include<cassert> using namespace std; struct nodeType {    int info;    nodeType *link; }; class linkedList { public:    void initializeList();    bool isEmptyList();    void print();    int length();    void destroyList();    void insertFirst(int newItem);    void insertLast(int newItem);    int front();    linkedList();    void copyList(const linkedList otherList);    void insertNewValue(int value);...
Please write variables and program plan (pseudocode) of the C++ programming code below: #include <iostream> #include...
Please write variables and program plan (pseudocode) of the C++ programming code below: #include <iostream> #include <cmath> using namespace std; int getWeight(); float deliveryCharge(int weight); void displayCharge(int weight); int main () {    displayCharge(getWeight());    return 0; }   int getWeight() {    int weight;    cout << "Enter package weight (oz): ";    cin >> weight;    return weight; } float deliveryCharge(int weight) {    if (weight > 16)    {        return (((weight - 16) / 4) *...
a. Define the class bankAccount to store a bank customer’s account number and balance. Suppose that...
a. Define the class bankAccount to store a bank customer’s account number and balance. Suppose that account number is of type int, and balance is of type double. Your class should, at least, provide the following operations: set the account number, retrieve the account number, retrieve the balance, deposit and withdraw money, and print account information. Add appropriate constructors. b. Every bank offers a checking account. Derive the class checkingAccount from the class bankAccount (designed in part (a)). This class...
Write a template-based class that implements a template-based implementation of Homework 3 that allows for any...
Write a template-based class that implements a template-based implementation of Homework 3 that allows for any type dynamic arrays (replace string by the template in all instances below). • The class should have: – A private member variable called dynamicArray that references a dynamic array of type string. – A private member variable called size that holds the number of entries in the array. – A default constructor that sets the dynamic array to NULL and sets size to 0....
Functions displayGrades and addGrades must be rewritten so that the only parameters they take in are...
Functions displayGrades and addGrades must be rewritten so that the only parameters they take in are pointers or constant pointers. Directions: Using the following parallel array and array of vectors: // may be declared outside the main function const int NUM_STUDENTS = 3; // may only be declared within the main function string students[NUM_STUDENTS] = {"Tom","Jane","Jo"}; vector <int> grades[NUM_STUDENTS] {{78,98,88,99,77},{62,99,94,85,93}, {73,82,88,85,78}}; Be sure to compile using g++ -std=c++11 helpWithGradesPtr.cpp Write a C++ program to run a menu-driven program with the...
Programming Exercise 2: implement the member function moveToNth(...) that removes the item marked by the cursor...
Programming Exercise 2: implement the member function moveToNth(...) that removes the item marked by the cursor and inserts it as the nth element of the list; test your implementation by turning the flag LAB3_TEST2 from 0 to 1 in config.h; - Programming Exercise 3: implement the ListArray member function find(...) that searches for the element given as a parameter; the search starts at the cursor and stops when it finds the element or at the end of the list; the...
Can someone please edit my code so that it satisfies the assignments' requirements? I pasted the...
Can someone please edit my code so that it satisfies the assignments' requirements? I pasted the codes below. Requirement: Goals for This Project:  Using class to model Abstract Data Type  OOP-Data Encapsulation You are asked to write an app to keep track of a relatively small music library. The app should load song information from a data file once the app is started. It should allow user to view, add, remove, and search for songs. The app should...
ADVERTISEMENT
Need Online Homework Help?

Get Answers For Free
Most questions answered within 1 hours.

Ask a Question
ADVERTISEMENT
Active Questions
  • A Database Administrator (DBA) is play both managerial role and technical role in a modern organization;...
    asked 2 minutes ago
  • The Federal Election Commission collects information about campaign contributions and disbursements for candidates and political committees...
    asked 2 minutes ago
  • In the week before and the week after a​ holiday, there were 10,000 total​ deaths, and...
    asked 5 minutes ago
  • 1. Identify the vertex of the quadratic equation y=2x2+8x-10. using the formula 2. Write the equation...
    asked 20 minutes ago
  • How well do you understand this material? Reading the material is separate than understanding it; further,...
    asked 23 minutes ago
  • Analyze the behavior of capacitors under steady state direct current and high frequency AC current (500...
    asked 23 minutes ago
  • Traffic on the eastbound approach of a signalized intersection is traveling at 48 km/h, with a...
    asked 45 minutes ago
  • Students in a chemistry class convince their teacher to use the following "group grading" scenario. Students...
    asked 45 minutes ago
  • The letters of the word "REARRANGE" are randomly rearranged. What is the probability that this rearrangement...
    asked 47 minutes ago
  • how does a firm’s home country affects the capital structure of a firm, elaborate on the...
    asked 48 minutes ago
  • A company makes two types of magazine racks, metal and plastic. The metal magazine racks sell...
    asked 51 minutes ago
  • What is the margin of error (M.E.) for a 95%, two-sided confidence interval on mu when...
    asked 51 minutes ago