Я хочу создать простое пользовательское меню в консоли, где я могу запустить некоторые функции, набрав 1, 2, 3 ... но есть проблема с пользовательским вводом (внутри cap_console.cpp), так какмоя программа не достигнет операторов if и не завершится.
Пока мой код:
main.cpp
#include <iostream>
#include "cab_console.h"
int main(int argn, char ** argv){
cab_console CONSOLE_MENU;
CONSOLE_MENU.console();
}
cab_console.h
#ifndef CAB_CONSOLE_H
#define CAB_CONSOLE_H
class cab_console
{
public:
char input;
cab_console();
void menu();
void quit_console();
void console();
};
#endif // CAB_CONSOLE_H
cab_console.cpp
void cab_console::console(){
char input = '0';
cout << "This is the menu." << endl;
while(input != 'Q') {
cout << "Choose an action:" << endl;
cout << "1 - Create ..." << endl;
cout << "2 - Show ..." << endl;
cout << "3 - Repeat ..." << endl;
cout << "Q - Quit..." << endl;
cin >> input;
if(input == '1') {
cout << "use function1 here..." << endl;
cab_console::console();
}
if(input == '2'){
cout << "use function2 here..." << endl;
cab_console::console();
}
if(input == '3') {
cout << "use function3 here..." << endl;
cab_console::console();
}
if(input == 'Q'){
cout << "Quit console..." << endl;
cab_console::quit_console();
}
else{
cout << "Its not a valid input.";
cab_console::console();
}
}
}
Это мой вывод
This is the menu.
Choose an action:
1 - Create ...
2 - Show ...
3 - Repeat ...
Q - Quit...
Если я наберу один из них, моя программа запустится, но, как уже упоминалось, она не будетперейти в заявлениях if.
Большое спасибо