Switch em C não está rodando!

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);

}

Explicação

1 curtida

Vlw cara, muito obrigado. Agora funcionou direitinho. Quebrei a cabeça achando que era erro na minha lógica, mas foi erro de conhecimento da linguagem mesmo. Vlw!