Pessoal, estou aprendendo programação em casa e fiz um algoritmo em C que recebe o tipo de usuário de uma biblioteca (S para alunos e P para professores) e a classificação do livro (A e B). Livros do tipo A podem ser locados por qualquer usuário enquanto livros do tipo B só podem ser locados por professores.
Entretanto, ao digitar o tipo de usuário, o algoritmo está encerrando. Aparece o printf("Informe a classificacao do livro: A ou B: "), seguido do printf(“Classificacao invalida”) e encerra o programa, independentemente do caractere que digita para o tipo de usuario. Alguém poderia me ajudar a verificar o que estou errando???
Segue o código completo:
#include<stdio.h>
#include<stdlib.h>
int main(){
char tipo_usuario, class_livro;
printf("Informe o tipo de usuario: S - aluno e P - professor: ");
scanf("%c", &tipo_usuario);
printf("Informe a classificacao do livro: A ou B: ");
scanf("%c", &class_livro);
switch(tipo_usuario){
case 'S':
if(class_livro == 'A'){
printf("Voce PODE locar o livro\n");
}
else if(class_livro == 'B'){
printf("Voce NAO pode locar o livro\n");
}
else{
printf("Classificacao INVALIDA\n");
}
break;
case 'P':
if(class_livro == 'A' || class_livro == 'B'){
printf("Voce PODE locar o livro\n");
}
else{
printf("Classificacao INVALIDA\n");
}
break;
default:
printf("Tipo de usuario INVALIDO\n");
}
system("pause");
return (0);
}