Estava fazendo uns exercícios de programação em C, ai depois q terminei o programa, ele compilou normal, não tem erro de sintaxe.
Mas depois de receber os dados ele não mostra o resultado porque o programa da erro, aparece a mensagem la" O programa tal.exe parou de funcionar"
o programa é esse:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(){
setlocale(LC_ALL, "Portuguese");
float altura, pesoideal;
char sexo;
printf("Informe o sexo, F(feminino) ou M(masculino): ");
scanf("%c", &sexo);
printf("Informe sua altura: ");
scanf("%f", altura);
if(sexo == 'm'|| sexo =='M'){
pesoideal= (72.7*altura)-58;
printf("O seu peso ideal é %f kg", pesoideal);
}
else if(sexo=='f'|| sexo=='F'){
pesoideal=(62.1*altura)-44.7;
printf("O seu peso ideal é %f kg", pesoideal);
}
return 0;
}
também fiz esse outro, mas da o mesmo problema quando a aluno vai pra recuperação, ai trava na hora de aparecer a mensagem aprovado ou reprovado
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(){
setlocale(LC_ALL, "Portuguese");
float nota1, nota2, nota3, faltas, media;
float prova;
printf("Digite sua primeira nota: ");
scanf("%f", ¬a1);
printf("Digite sua segunda nota: ");
scanf("%f",¬a2);
printf("Digite sua terceira nota: ");
scanf("%f", ¬a3);
printf("Digite o total de faltas na disciplina: ");
scanf("%f", &faltas);
media = (nota1+nota2+nota3)/3;
if(media>=7 && faltas<=16.5){
printf("Aluno aprovado!\n");
}
else if(media <7 && media>=3.5 && faltas<=16.5){
printf("Aluno em recuperação\n");
printf("Digite a nota da 4 prova: ");
scanf("%f", prova);
if(prova >=5){
printf("Aprovado!\n");
}
else{
printf("Reprovado.\n");
}
}
else if(media <=3.5 && faltas<=16.5){
printf("Aluno reprovado por nota.\n");
}
else if(faltas > 16.5){
printf("Aluno reprovado por falta.\n");
}
return 0;
}
usei o dev c++ e o codeblocks, ambos apresentam o mesmo erro