SPJM Posted April 13, 2009 at 06:11 PM Report #256559 Posted April 13, 2009 at 06:11 PM Boas, quando ponho este código a correr ele funciona bem até chegar ao menu disciplinas. Ou seja para depois escolher qualquer uma das 3 opções é necessário carregar 2 vezes no numero correspondente, Alguma solução? Bgd int main (void) { int op, opsubr, opsubd; do { op = menu (); switch (op) { case 1: clrscr(); menualunos(); break; case 2: clrscr(); menudisciplinas(); do { opsubd = menudisciplinas(); switch (opsubd) { case 1: clrscr(); ledisc (); break; case 2: clrscr(); break; case 3: clrscr(); break; } break; case 3: clrscr(); menutestes(); break; } while (op != 5); return 0; }
cfrank Posted April 13, 2009 at 07:11 PM Report #256571 Posted April 13, 2009 at 07:11 PM Também precisava de saber. Tenho uma dúvida parecida :\
Baderous Posted April 13, 2009 at 07:17 PM Report #256574 Posted April 13, 2009 at 07:17 PM Penso que podes resolver isso limpando o buffer de entrada, após teres guardado o 1º número. scanf("%*[^\n]"); scanf("%*c"); PS: Não testei.
Xpirito Posted May 5, 2009 at 03:38 PM Report #261612 Posted May 5, 2009 at 03:38 PM A forma do baderous parece ser a mais indicada, mas também podes ler um char e enviar para uma variável inutil. Lês o primeiro numero que envias para uma variavel 'lixo' e o segundo numero será o que te interessa. Desta forma, o buffer do teclado será resolvido. Para perguntas idiotas, respostas estúpidas!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now