Hello! I am having issues with my code. This is written in C++. I have a function called displayMenu and I am trying to call it in a thread in main but the function is not woking properly. The menu does not display properly and when I give an option like Q, R, S+, ect. it does not do what is inside of the if else. #include #include #include #include using namespace std; //Menu void *displayMenu(void *arg){ string inputUser; int timeInSec = 5; do { cout<<"\"Q\" Causes the program to complete.\n"; cout<<"\"R\" Causes the program to exit the input menu, resetting the trigger for the menu.\n"; cout<<"\"S+\" Causes the simulation rate of the program to increase by 1.\n"; cout<<"\"S-\" Causes the simulation rate of the program to decrease by 1.\n"; cout<<"\"D+\" Causes the frame rate of the program to increase by 1.\n"; cout<<"\"D-\" Causes the frame rate of the program to decrease by 1.\n"; cout<<"\n"; cout<<"Enter your selection please:\n"; cin >> inputUser; if(inputUser == "Q"){ cout<<"Program completed. See you later!\n"; //call function if necessary } else if(inputUser == "S+"){ cout<<"Simulation rate will increase by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else if (inputUser == "S-"){ cout<<"Simulation rate will decrease by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else if(inputUser == "D+"){ cout<<"Frame rate will increase by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else if (inputUser == "D-"){ cout<<"Frame rate will decrease by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else{ displayMenu(&arg); } } while(inputUser != "R"); } //main function int main(int argc, char *argv[]){ if(argc < 2 || argc > 2){ cout<<"Please enter argument in following format: p3 insertFilename\n"; cout<<"Keep in mind the program only accepts one argument. Thank you!\n"; exit(1); } pthread_t id; pthread_create(&id, NULL,displayMenu, NULL); cout <<"Test"<
Hello! I am having issues with my code. This is written in C++. I have a function called displayMenu and I am trying to call it in a thread in main but the function is not woking properly. The menu does not display properly and when I give an option like Q, R, S+, ect. it does not do what is inside of the if else. #include #include #include #include using namespace std; //Menu void *displayMenu(void *arg){ string inputUser; int timeInSec = 5; do { cout<<"\"Q\" Causes the program to complete.\n"; cout<<"\"R\" Causes the program to exit the input menu, resetting the trigger for the menu.\n"; cout<<"\"S+\" Causes the simulation rate of the program to increase by 1.\n"; cout<<"\"S-\" Causes the simulation rate of the program to decrease by 1.\n"; cout<<"\"D+\" Causes the frame rate of the program to increase by 1.\n"; cout<<"\"D-\" Causes the frame rate of the program to decrease by 1.\n"; cout<<"\n"; cout<<"Enter your selection please:\n"; cin >> inputUser; if(inputUser == "Q"){ cout<<"Program completed. See you later!\n"; //call function if necessary } else if(inputUser == "S+"){ cout<<"Simulation rate will increase by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else if (inputUser == "S-"){ cout<<"Simulation rate will decrease by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else if(inputUser == "D+"){ cout<<"Frame rate will increase by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else if (inputUser == "D-"){ cout<<"Frame rate will decrease by 1.\n"; sleep(timeInSec); //call function or insert appropriate stuff } else{ displayMenu(&arg); } } while(inputUser != "R"); } //main function int main(int argc, char *argv[]){ if(argc < 2 || argc > 2){ cout<<"Please enter argument in following format: p3 insertFilename\n"; cout<<"Keep in mind the program only accepts one argument. Thank you!\n"; exit(1); } pthread_t id; pthread_create(&id, NULL,displayMenu, NULL); cout <<"Test"<
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Hello!
I am having issues with my code. This is written in C++.
I have a function called displayMenu and I am trying to call it in a thread in main but the function is not woking properly. The menu does not display properly and when I give an option like Q, R, S+, ect. it does not do what is inside of the if else.
#include <iostream>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>
using namespace std;
//Menu
void *displayMenu(void *arg){
string inputUser;
int timeInSec = 5;
do {
cout<<"\"Q\" Causes theprogram to complete.\n";
cout<<"\"R\" Causes the program to exit the input menu, resetting the trigger for the menu.\n";
cout<<"\"S+\" Causes the simulation rate of the program to increase by 1.\n";
cout<<"\"S-\" Causes the simulation rate of the program to decrease by 1.\n";
cout<<"\"D+\" Causes the frame rate of the program to increase by 1.\n";
cout<<"\"D-\" Causes the frame rate of the program to decrease by 1.\n";
cout<<"\n";
cout<<"Enter your selection please:\n";
cin >> inputUser;
if(inputUser == "Q"){
cout<<"Program completed. See you later!\n";
//call function if necessary
} else if(inputUser == "S+"){
cout<<"Simulation rate will increase by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else if (inputUser == "S-"){
cout<<"Simulation rate will decrease by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else if(inputUser == "D+"){
cout<<"Frame rate will increase by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else if (inputUser == "D-"){
cout<<"Frame rate will decrease by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else{
displayMenu(&arg);
}
} while(inputUser != "R");
}
//main function
int main(int argc, char *argv[]){
if(argc < 2 || argc > 2){
cout<<"Please enter argument in following format: p3 insertFilename\n";
cout<<"Keep in mind the program only accepts one argument. Thank you!\n";
exit(1);
}
pthread_t id;
pthread_create(&id, NULL,displayMenu, NULL);
cout <<"Test"<<endl;
return 0;
}
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>
using namespace std;
//Menu
void *displayMenu(void *arg){
string inputUser;
int timeInSec = 5;
do {
cout<<"\"Q\" Causes the
cout<<"\"R\" Causes the program to exit the input menu, resetting the trigger for the menu.\n";
cout<<"\"S+\" Causes the simulation rate of the program to increase by 1.\n";
cout<<"\"S-\" Causes the simulation rate of the program to decrease by 1.\n";
cout<<"\"D+\" Causes the frame rate of the program to increase by 1.\n";
cout<<"\"D-\" Causes the frame rate of the program to decrease by 1.\n";
cout<<"\n";
cout<<"Enter your selection please:\n";
cin >> inputUser;
if(inputUser == "Q"){
cout<<"Program completed. See you later!\n";
//call function if necessary
} else if(inputUser == "S+"){
cout<<"Simulation rate will increase by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else if (inputUser == "S-"){
cout<<"Simulation rate will decrease by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else if(inputUser == "D+"){
cout<<"Frame rate will increase by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else if (inputUser == "D-"){
cout<<"Frame rate will decrease by 1.\n";
sleep(timeInSec);
//call function or insert appropriate stuff
} else{
displayMenu(&arg);
}
} while(inputUser != "R");
}
//main function
int main(int argc, char *argv[]){
if(argc < 2 || argc > 2){
cout<<"Please enter argument in following format: p3 insertFilename\n";
cout<<"Keep in mind the program only accepts one argument. Thank you!\n";
exit(1);
}
pthread_t id;
pthread_create(&id, NULL,displayMenu, NULL);
cout <<"Test"<<endl;
return 0;
}
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 3 steps with 1 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education