Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, tudo beleza?
Estou aqui com um pequenino problema: meu menu não está funcionando quando vai inserir novamente qualquer outra opcao. Na primeira vez tudo dá certo, mas quando dá o loop pra inserir novamente a opcao 1, ele volta pedindo a opcao 1. Dei um print aqui na variavel op1 só aparece espaço. Não posso colocar um case '\n' porque vou ter q pedir para o usuario digitar novamente a opcao 1 e não é isso que eu quero. Coloquei logo no inicio, antes de inserir o op1 (e inicializando também) op1='\0', mas não adianta, continua os mesmos espaços. Já fiz de tudo aqui, quem puder dar uma luz, faz parte de um trabalho q vou entregar sexta. Agradeço desde já.
int main(void) {
Alunos*lAlunos=criaAlunos();
Notas*lNotas=criaNotas();
Disciplinas*lDisci=criaDisciplinas();
Cursos*lCursos=criaCursos();
Sexo*lSexo=criaLSexo(); lSexo=criaSexo(lSexo);
char op1='\0', op2, op3, op4;
do {
op1='\0'; puts("Opcao 1:"); scanf("%c%*c",&op1);
printf("%c\n",op1);
switch (op1){
case 'i': puts("Opcao 2:"); scanf("%c",&op2); switch (op2){
case 'a': inserindoAlunos(lAlunos); break;
case 'd': inserindoDisciplinas(lDisci); break;
case 'c': inserindoCursos(lCursos); break;
case 'n': inserindoNotas(lNotas,lAlunos,lDisci,lCursos,lSexo); break;
}
break;
case 'm': puts("Opcao 2:"); scanf("%c%*c",&op3); switch (op3) {
case 'a': ConsultaMAluno(lAlunos); break;
case 'd': ConsultaMDisciplina(lDisci); break;
case 'c': ConsultaMCurso(lCursos); break;
case 's': ConsultaMSexo(lSexo); break;
case 't': MediaNota(lNotas); break;
}
break;
case 'n': ConsultaNAluno(lAlunos,lDisci); break;
case 'l': puts("Opcao 2:"); scanf("%c%*c",&op4); switch (op4) {
case 'a': printAlunos(lAlunos); break;
case 'd': printDisciplinas(lDisci); break;
case 'c': printCursos(lCursos); break;
}
break;
case 'r': removendoNotas(lAlunos,lDisci,lCursos,lSexo,lNotas); break;
}
} while (op1!='e');
return 0;
}Carregando comentários...