Respostas
Claro! Aqui está um exemplo de programa em C no Dev C++ que atende aos requisitos mencionados: ```c #include int le() { int num; printf("Digite um número inteiro: "); scanf("%d", &num); return num; } void violacao1() { printf("Erro: divisão por zero!\n"); } int soma(int a, int b) { return a + b; } int subtracao(int a, int b) { return a - b; } int multiplicacao(int a, int b) { return a * b; } float divisao(int a, int b) { if (b == 0) { violacao1(); return 0; } return (float) a / b; } void exibeAritmetica(int a, int b) { printf("Soma: %d\n", soma(a, b)); printf("Subtração: %d\n", subtracao(a, b)); printf("Multiplicação: %d\n", multiplicacao(a, b)); printf("Divisão: %.2f\n", divisao(a, b)); } bool primo(int num) { if (num < 2) return false; for (int i = 2; i <= num / 2; i++) { if (num % i == 0) return false; } return true; } void exibePrimo(int num, bool isPrimo) { if (isPrimo) printf("%d é primo.\n", num); else printf("%d não é primo.\n", num); } void violacao2() { printf("Erro: não é possível verificar se números menores que 2 são primos.\n"); } int fatorial(int num) { if (num < 0) { violacao3(); return 0; } int resultado = 1; for (int i = 1; i <= num; i++) { resultado *= i; } return resultado; } void exibeFatorial(int num, int fatorial) { printf("O fatorial de %d é %d.\n", num, fatorial); } void violacao3() { printf("Erro: não é possível calcular o fatorial de números menores que 0.\n"); } bool perfeito(int num) { if (num < 0) return false; int somaDivisores = 0; for (int i = 1; i < num; i++) { if (num % i == 0) somaDivisores += i; } return somaDivisores == num; } void exibePerfeito(int num, bool isPerfeito) { if (isPerfeito) printf("%d é um número perfeito.\n", num); else printf("%d não é um número perfeito.\n", num); } void violacao4() { printf("Erro: não é possível verificar se números menores que 0 são perfeitos.\n"); } void menu() { int opcao, num1, num2; do { printf("\nMenu de opções:\n"); printf("1) Aritmética\n"); printf("2) Primos\n"); printf("3) Fatorial\n"); printf("4) Perfeito\n"); printf("5) SAIR\n"); printf("Escolha uma opção: "); scanf("%d", &opcao); switch (opcao) { case 1: num1 = le(); num2 = le(); exibeAritmetica(num1, num2); break; case 2: num1 = le(); if (num1 < 2) violacao2(); else exibePrimo(num1, primo(num1)); break; case 3: num1 = le(); exibeFatorial(num1, fatorial(num1)); break; case 4: num1 = le(); if (num1 < 0) violacao4(); else exibePerfeito(num1, perfeito(num1)); break; case 5: printf("Encerrando o programa...\n"); break; default: printf("Opção inválida!\n"); } } while (opcao != 5); } int main() { menu(); return 0; } ``` Espero que isso ajude! Se você tiver alguma dúvida adicional, é só me perguntar.
Responda
Para escrever sua resposta aqui, entre ou crie uma conta