Problem z powrotem do menu.

0

Cześć,
mam do zrobienia projekt na informatykę z menu. Problem pojawia się, gdy chcę z wybranej opcji wrócić do podpodmenu lub z podmenu do menu głównego itd. Mógłby mi ktoś doradzić co mam zrobić? Siedzę już na tym tym problemem któryś dzień i mam wrażenie, że tylko pogarszam sytuację.

int main()

{
char znak;
int A, R ;
do{
menu();
znak=getch(); //pobierz znak, nie czeka na enter
switch (znak)
{

	case '1':			
		{
				do
			{
			{
			system ("cls"); //czyszczenie ekranu
			pmenu();
			znak=getch();
	        }
	        
			switch (znak)
			{
				
				case '1':
					{
							do
							{
						system ("cls");
						et_towrzenia();
						znak=getch();
						switch (znak)
						{
							case'1':
								{
									system ("cls");
									scenariusz();
									znak=getch();
									do{
									system ("cls");	
									et_towrzenia();
									znak=getch();
									opcje();
									}while(znak!='r' or znak!='R');																																							
									break;
								}											
							case '2':
								{
									system ("cls");
									rozp_planu();
									znak=getch();
									system ("cls");
								}
						}//switch podpodmenu							
						}while(znak!='b' or znak!='B');	
						break;	
					}//case podpodmenu			
			 }//switch podmenu
			
			}while(znak!='r' or znak!='R');	
			break;	
		}//case podmenu			
}//switch gł
system ("cls");

}while(znak!='r' or znak!='R');
return 0;
}

0

Możesz użyć prostego std::stack, gdzie będziesz wrzucał po kolei "stany" aplikacji - jesteś w menu głównym, wrzucasz je na stos -> przechodzisz do podmenu, wrzucasz je na stos -> chcesz wrócić do menu głównego, to podmenu usuwasz ze stosu (czyli pierwszy element ze stosu) -> wyświetlasz to, co masz na stosie aktualnie (czyli menu główne). Trochę opisałem łopatologicznie, żebyś zrozumiał sposób działania, a z implementacją sobie powinieneś poradzić

0

@tmk3: działanie rozumiem, ale nigdy tego nie omawialiśmy i przyznam, że średnio rozumiem jak to powinno wyglądać. Mógłbyś mi pokazać to na jednym przypadku?

1 użytkowników online, w tym zalogowanych: 0, gości: 1