Jump to content
aalex

Problema com função a passavar valor para um menu

Recommended Posts

aalex

viva tenho o seguinte código

int menu (void) {
int escolher;

do {
	printf("...");


	scanf(" %d", &escolher);

	switch (escolher) {
...
		case 2: funcaoajuda();
			break;
....
	}
} while(escolher != 3);

}




int funcaoajuda () {
int voltamenu;

printf("...");


printf("Digite um número inteiro qualquer para voltar ao menu: ");

scanf (" %d", &voltamenu);

if (voltamenu) { menu(); }
}



int main (int a) {
menu();
}



quando estou no menu ao dar o input de 3 ele sai do programa, no entanto se for uma vez a opção ajuda depois tenho de dar duas vezes o input 3 para sair do prog (no primeiro input devolve o menu), e assim sucessivamente, se for 4 vezes ao menu ajuda depois tenho de dar 5 vezes o input 3 para sair..  :P

Share this post


Link to post
Share on other sites
Diutsu

isso cheira-me que no fim da função ajuda estás a chamar outra vez menu(). Pega em papel e lápis e faz um esquema das chamadas a funções que estás a fazer no teu programa e vê se consegues chegar a uma conclusão.


XX SINFO - Semana Informática

Share this post


Link to post
Share on other sites
aalex

Sim era mesmo esse o problema, resolvido.. estava a colocar novamente a função dentro da função já existente (não sei se é bem isto). Mas o que estava a acontecer é que tinha de ir saindo até ao menu inicial (estava a abrir uns menus dentro dos outros) :P

Obrigado Diutsu.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.