#include<iostream>
#include<conio.h> // for _getch()
void action1_1_1() { std::cout << "Performing action 1.1.1\n\n"; }
void action1_1_2() { std::cout << "Performing action 1.1.2\n\n"; }
void action1_1_3() { std::cout << "Performing action 1.1.3\n\n"; }
void action1_2_1() { std::cout << "Performing action 1.2.1\n\n"; }
void action1_2_2() { std::cout << "Performing action 1.2.2\n\n"; }
void action1_2_3() { std::cout << "Performing action 1.2.3\n\n"; }
void action1_3_1() { std::cout << "Performing action 1.3.1\n\n"; }
void action1_3_2() { std::cout << "Performing action 1.3.2\n\n"; }
void action1_3_3() { std::cout << "Performing action 1.3.3\n\n"; }
void action2_1_1() { std::cout << "Performing action 2.1.1\n\n"; }
void action2_1_2() { std::cout << "Performing action 2.1.2\n\n"; }
void action2_1_3() { std::cout << "Performing action 2.1.3\n\n"; }
void action2_2_1() { std::cout << "Performing action 2.2.1\n\n"; }
void action2_2_2() { std::cout << "Performing action 2.2.2\n\n"; }
void action2_2_3() { std::cout << "Performing action 2.2.3\n\n"; }
void action2_3_1() { std::cout << "Performing action 2.3.1\n\n"; }
void action2_3_2() { std::cout << "Performing action 2.3.2\n\n"; }
void action2_3_3() { std::cout << "Performing action 2.3.3\n\n"; }
void action3_1_1() { std::cout << "Performing action 3.1.1\n\n"; }
void action3_1_2() { std::cout << "Performing action 3.1.2\n\n"; }
void action3_1_3() { std::cout << "Performing action 3.1.3\n\n"; }
void action3_2_1() { std::cout << "Performing action 3.2.1\n\n"; }
void action3_2_2() { std::cout << "Performing action 3.2.2\n\n"; }
void action3_2_3() { std::cout << "Performing action 3.2.3\n\n"; }
void action3_3_1() { std::cout << "Performing action 3.3.1\n\n"; }
void action3_3_2() { std::cout << "Performing action 3.3.2\n\n"; }
void action3_3_3() { std::cout << "Performing action 3.3.3\n\n"; }
void submenu1_1()
{
while (true)
{
std::cout
<< "SUBMENU 1.1\n===========\n\n"
<< "1 - action 1.1.1\n"
<< "2 - action 1.1.2\n"
<< "3 - action 1.1.3\n"
<< "X - exit to submenu 1\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action1_1_1(); break;
case '2': action1_1_2(); break;
case '3': action1_1_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu1_2()
{
while (true)
{
std::cout
<< "SUBMENU 1.2\n===========\n\n"
<< "1 - action 1.2.1\n"
<< "2 - action 1.2.2\n"
<< "3 - action 1.2.3\n"
<< "X - exit to submenu 1\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action1_2_1(); break;
case '2': action1_2_2(); break;
case '3': action1_2_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu1_3()
{
while (true)
{
std::cout
<< "SUBMENU 1.3\n===========\n\n"
<< "1 - action 1.3.1\n"
<< "2 - action 1.3.2\n"
<< "3 - action 1.3.3\n"
<< "X - exit to submenu 1\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action1_3_1(); break;
case '2': action1_3_2(); break;
case '3': action1_3_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu2_1()
{
while (true)
{
std::cout
<< "SUBMENU 2.1\n===========\n\n"
<< "1 - action 2.1.1\n"
<< "2 - action 2.1.2\n"
<< "3 - action 2.1.3\n"
<< "X - exit to submenu 2\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action2_1_1(); break;
case '2': action2_1_2(); break;
case '3': action2_1_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu2_2()
{
while (true)
{
std::cout
<< "SUBMENU 2.2\n===========\n\n"
<< "1 - action 2.2.1\n"
<< "2 - action 2.2.2\n"
<< "3 - action 2.2.3\n"
<< "X - exit to submenu 2\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action2_2_1(); break;
case '2': action2_2_2(); break;
case '3': action2_2_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu2_3()
{
while (true)
{
std::cout
<< "SUBMENU 2.3\n===========\n\n"
<< "1 - action 2.3.1\n"
<< "2 - action 2.3.2\n"
<< "3 - action 2.3.3\n"
<< "X - exit to submenu 2\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action2_3_1(); break;
case '2': action2_3_2(); break;
case '3': action2_3_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu3_1()
{
while (true)
{
std::cout
<< "SUBMENU 3.1\n===========\n\n"
<< "1 - action 3.1.1\n"
<< "2 - action 3.1.2\n"
<< "3 - action 3.1.3\n"
<< "X - exit to submenu 3\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action3_1_1(); break;
case '2': action3_1_2(); break;
case '3': action3_1_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu3_2()
{
while (true)
{
std::cout
<< "SUBMENU 3.2\n===========\n\n"
<< "1 - action 3.2.1\n"
<< "2 - action 3.2.2\n"
<< "3 - action 3.2.3\n"
<< "X - exit to submenu 3\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action3_2_1(); break;
case '2': action3_2_2(); break;
case '3': action3_2_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu3_3()
{
while (true)
{
std::cout
<< "SUBMENU 3.3\n===========\n\n"
<< "1 - action 3.3.1\n"
<< "2 - action 3.3.2\n"
<< "3 - action 3.3.3\n"
<< "X - exit to submenu 3\n\n";
int i = _getch();
switch ((char) i)
{
case '1': action3_3_1(); break;
case '2': action3_3_2(); break;
case '3': action3_3_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu1()
{
while (true)
{
std::cout
<< "SUBMENU 1\n=========\n\n"
<< "1 - sub-menu 1.1\n"
<< "2 - sub-menu 1.2\n"
<< "3 - sub-menu 1.3\n"
<< "X - exit to main menu\n\n";
int i = _getch();
switch ((char) i)
{
case '1': submenu1_1(); break;
case '2': submenu1_2(); break;
case '3': submenu1_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu2()
{
while (true)
{
std::cout
<< "SUBMENU 2\n=========\n\n"
<< "1 - sub-menu 2.1\n"
<< "2 - sub-menu 2.2\n"
<< "3 - sub-menu 2.3\n"
<< "X - exit to main menu\n\n";
int i = _getch();
switch ((char) i)
{
case '1': submenu2_1(); break;
case '2': submenu2_2(); break;
case '3': submenu2_3(); break;
case 'X':
case 'x': return;
}
}
}
void submenu3()
{
while (true)
{
std::cout
<< "SUBMENU 3\n=========\n\n"
<< "1 - sub-menu 3.1\n"
<< "2 - sub-menu 3.2\n"
<< "3 - sub-menu 3.3\n"
<< "X - exit to main menu\n\n";
int i = _getch();
switch ((char) i)
{
case '1': submenu3_1(); break;
case '2': submenu3_2(); break;
case '3': submenu3_3(); break;
case 'X':
case 'x': return;
}
}
}
int main()
{
while (true)
{
std::cout
<< "MAIN MENU\n=========\n\n"
<< "1 - sub-menu 1\n"
<< "2 - sub-menu 2\n"
<< "3 - sub-menu 3\n"
<< "X - exit program\n\n";
int i = _getch();
switch ((char) i)
{
case '1': submenu1(); break;
case '2': submenu2(); break;
case '3': submenu3(); break;
case 'X':
case 'x': return 0;
}
}
}
You declare a class as follows: class MyClass { //some stuff here... } You create an object as follows: MyClass object; This is how you create classes and objects in C++.
char SomeFunction();This has nothing to do with menu functions. It is a straight C/C++ answer. Menu functions depend on the platform API, not on C/C++.
You use a makefile project when you have a project that you normally build from the command line. Your IDE will not recognise this project so you must create a makefile project for it. In Visual C++, for instance, you can use the Makefile Project Wizard to create a Makefile Project.
A source code file is a plain-text file containing C++ instructions. The instructions must be compiled and linked to create a native machine code executable.
Your question request a comparison between apples and pears. C++ is a programming language. Microsoft Visual C++ Express is one of many development tools that you can use to create programs using the C++ programming language. Microsoft Visual C++ Express supports native C++ development, and supports development in 'managed C++,' a Microsoft-specific derivative of the C++ language, aimed specifically at the .NET platform.
You can create an exe-file from your C++ source, if you have a compiler.
Use function mkdir.
class class_name { private: data_members; public: member_functions; };
C++, but it's always worth learning both, if only to better understand the machine code you create with C++.
You declare a class as follows: class MyClass { //some stuff here... } You create an object as follows: MyClass object; This is how you create classes and objects in C++.
Not part of the language, platform-dependent. Windows: CreateThread Posix: pthread_create in pthread.h
hotkey
if you want somebody to create a helthy menu, talk to a vegitarian! Peace out, Cupcakeluver.
no
You would have to use coding.
1, 5 and 6 x^2 + 5x + 6 = (x + 2)(x + 3)
They are called accelerators. They are shortcut keystrokes that bypass the command menu system and call the associated command directly.