Boas pessoal, tenho uma duvida existencial, não entendo como é que isto ñ funfa este codigo.
A ideia é vereficar se não existe uma especialidade em duplicado. É um pequeno programa de gerir especialidades medicas. Tenho a impressão q algo me falta no else if.
Agradeço desde já a ajuda.
cumps
A ideia é vereficar se não existe uma especialidade em duplicado. É um pequeno programa de gerir especialidades medicas. Tenho a impressão q algo me falta no else if.
Agradeço desde já a ajuda.
cumps
Código:
void add_esp()
{
for(;;)
{
printf("\n\t**********************************************\n");
printf("\n \t- Adicione Nome de Especialidade Medidca!\n\n\t");
fgets( listaE[num_espec].nome, sizeof(listaE[num_espec].nome), stdin );
if( listaE[num_espec].nome[0] == '\r' || listaE[num_espec].nome[0] == '\n' )
{
puts("Não foi adicionado nenhuma especialidade, e a operacao sera abortada." );
getchar();
return;
}
if(num_espec==0)
{
printf("\n\n\t - Adicione Descricao!\n\n\t");
fgets( listaE[num_espec].descricao, sizeof(listaE[num_espec].descricao), stdin );
printf("\n\tPrima S para sair!\n");
printf("\n\t**********************************************\n");
fflush(stdin); // limpar o buffer do teclado
num_espec++;
}
else if(num_espec>0)
{
for( i=0; i< num_espec; i++)
{
if(strcmp(listaE[i].nome,listaE[num_espec].nome) == 0 )
printf("\nEssa especialidade ja existe, favor inserir outra!");
getchar();
return;
}
}
else
{
printf("\n\n\t - Adicione Descricao!\n\n\t");
fgets( listaE[num_espec].descricao, sizeof(listaE[num_espec].descricao), stdin );
printf("\n\tPrima S para sair!\n");
printf("\n\t**********************************************\n");
fflush(stdin); // limpar o buffer do teclado
num_espec++;
}
if (getchar()=='s')break;
}
}