Dobry, mam pytanko. Pisze program i mam problem odnośnie menu. Okej, switch, case i do przodu, lecz sytuacja wygląda tak, że muszę uporządkować program tak, aby było 1 menu tzw. wejściowe: info, obliczenia, itd. a następnie po kliknięciu w 1 menu "obliczenia", przeniesienie do drugiego menu, gdzie będą zawarte funkcje.
Wydziel drugie menu do osobnej funkcji, z pierwszej funkcji odpal tę drugą; bez kodu trochę ciężko powiedzieć co tutaj może stanowić problem :-P
Patryk27 napisał(a):
Wydziel drugie menu do osobnej funkcji, z pierwszej funkcji odpal tę drugą; bez kodu trochę ciężko powiedzieć co tutaj może stanowić problem :-P
void menu ()
{
cout<<endl<<endl;
cout<<" Menu główne "<<endl;
cout<<"1. Informacje. "<<endl;
cout<<"2. Obliczenia. "<<endl;
cout<<"0. Koniec."<<endl;
cout<<endl<<endl;
}
int main()
{
int i, n, x;
char wybor;
float x0, y0, xn, h, yn, nachyl;
setlocale(LC_CTYPE, "Polish");
poczatek();
dane( x0, y0, xn, n);
for(;;)
{
menu();
wybor=getch();
switch (wybor)
{
case '1':
info();
break;
case '2':
menu2();
break;
case '0':
exit(0);
break;
default:
def();
}
Mniej więcej w ten sposób? Menu2 w case'ie 2 to jakby to drugie menu.
Tak, coś takiego.
Idealnie byłoby zamiast funkcji mieć rekurencyjną strukturę opisującą wygląd tego menu-drzewa - ale jeśli dopiero uczysz się języka, to jest to prawdopodobnie za dużo na start i takie podejście z funkcjami wystarczy :-)
może jeszcze w ramach szkolenia spróbuj sobie zrobić podobny kod jak tu
https://github.com/evanstoddard/CPP-Menu
dosyć proste wywołania
Menu defaultMenu;
defaultMenu.addItem("Option 0", &option0);
defaultMenu.addItem("Option 1", &option1);
defaultMenu.addItem("Option 2", &option2);
defaultMenu.printMenu();
Od razu zastrzegam że jak rzuciłem okiem w kod to są rzeczy które mi się nie podobają jak callback w starym stylu ale pomysł możesz z tego sobie dopasować do siebie :)