Olá a todos.
Eu fiz um exercício em C que pede para calcular alguns tipos de média, entre elas a média harmônica. Só que, ao executar o programa e selecionar a opção da média harmônica, o programa se fecha automaticamente.
Usei o Code::Blocks e o GNU GCC para compilar o código.
#include <stdio.h>
#include <math.h>
int main() {
int numA, numB, numC = 0;
printf("Digite o primeiro numero inteiro positivo: \n");
scanf("%d", &numA);
printf("Digite o segundo numero inteiro positivo: \n");
scanf("%d", &numB);
printf("Digite o terceiro numero inteiro positivo: \n");
scanf("%d", &numC);
if (numA < 0 || numB < 0 || numC < 0) {
printf("voce digitou algum numero invalido. \n");
}else{
int escolha, media = 0;
printf("Digite o tipo de media que voce quer calcular: \n");
printf("1 - Geometrica\n");
printf("2 - Ponderada\n");
printf("3 - Harmonica\n");
printf("4 - Aritmetica\n");
scanf("%d", &escolha);
switch (escolha) {
case 1:
media = cbrt(numA * numB * numC);
printf("A media geometrica desses numeros e: %d\n", media);
break;
case 2:
media = (numA + (numB * 2) + (numC * 3)) / 6;
printf("A media ponderada desses numeros e: %d\n", media);
break;
case 3:
media = 1 / ((1 / numA) + (1 / numB) + (1 / numC));
printf("A media harmonica desses numeros e: %d\n", media);
break;
case 4:
media = (numA + numB + numC) / 3;
printf("A media aritmetica desses numeros e: %d\n", media);
break;
default:
printf("Opção invalida.\n");
}
}
return 0;
}
Alguém sabe por que o programa fecha ao selecionar a terceira opção?
Desde já, obrigado.