Boa tarde pessoal,
Estou com a seguinte duvida. Fiz um projeto para a faculdade e estou fazendo o tratamento de excessões agora. Quando o scanf recebe um argumento invalido o programa entra em um loop infinito (e.g: Quando é digitado uma letra em um campo que deveria ser inteiro). Pesquisei sobre como corrigir isso e achei somente indicações para armazenar como caracter e depois fazer o cast para inteiro. Mas se eu fosse fazer isso para toda a entrada de inteiro ou double que utilizo iria ter de fazer muitas conversões desse tipo (dezenas delas) e não acho que o código ficaria "Limpo". Sem falar que teria de praticamente refazer o código para alterar os tipos e fazer as conversões.
Minha dúvida é a seguinte, existe uma forma mais fácil de fazer essa limitação? Ou pelo menos imperdir que o sistema entre em loop? Caso ele receba uma entrada inesperada exibir uma msgm de erro ou algo do tipo? Agradeço a atenção de todos.