Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi
Estou com problema com um exercício simples em C. No programa eu entro com alguns dados de certo aluno e devo receber a situação final dele incluindo o percentual de faltas, porém sempre que executo o programa, independente do valor, a porcentagem me é retornada como sendo 0.
Ex:
#include<stdio.h>
#include<stdlib.h>
int main(){
float N1, N2, N3, N_final, percent_f;
int N_aulas, faltas;
printf("Informe as tres notas do aluno: ");
scanf("%f %f %f",&N1,&N2,&N3);
printf("Informe o numero de aulas: ");
scanf("%d",&N_aulas);
printf("Informe o numero de faltas: ");
scanf("%d",&faltas);
N_final=(N1+N2+N3);
percent_f=(faltas/N_aulas)*100.0;
system("cls");
printf("Notas: %0.2f %0.2f %0.2f\n",N1, N2, N3);
printf("Numero de aulas: %d\n",N_aulas);
printf("Numero de faltas: %d\n",faltas);
printf("Nota final: %0.2f\n",N_final);
printf("Percentual de faltas: %0.2f\n",percent_f);
if((N_final>=60)&&(percent_f<25)){
printf("Voce foi aprovado.\n");
}else{
printf("Voce foi reprovado.\n");}
return 0;
}
Aí está o código fonte.
Peço ajuda de vocês para encontrar o erro, obrigado.>
5 horas atrás, _Isis_ disse:
A divisão entre o número de faltas e o número de aulas vai ser inteira, não float. Ex: 4 faltas / 20 aulas = 0 ao invés de 0.2
Se atente p/ os tipos das variáveis.
Obrigado pela ajuda, mas como eu posso realizar divisões com resultado fracionado na linguagem C?
Usando float ou double.
>
1 hora atrás, _Isis_ disse:
Usando float ou double.
Deu certo, e pensar que era algo tão simples kkk.
Obrigado pela ajuda e desculpe o incômodo.
>
Em 24/08/2017 at 18:43, Hiago Fagundes Couto disse:
Oi
Estou com problema com um exercício simples em C. No programa eu entro com alguns dados de certo aluno e devo receber a situação final dele incluindo o percentual de faltas, porém sempre que executo o programa, independente do valor, a porcentagem me é retornada como sendo 0.
Ex:
#include<stdio.h>
#include<stdlib.h>
int main(){
float N1, N2, N3, N_final, percent_f;
int N_aulas, faltas;
printf("Informe as tres notas do aluno: ");
scanf("%f %f %f",&N1,&N2,&N3);
printf("Informe o numero de aulas: ");
scanf("%d",&N_aulas);
printf("Informe o numero de faltas: ");
scanf("%d",&faltas);
N_final=(N1+N2+N3);
percent_f=(faltas/N_aulas)*100.0;
system("cls");
printf("Notas: %0.2f %0.2f %0.2f\n",N1, N2, N3);
printf("Numero de aulas: %d\n",N_aulas);
printf("Numero de faltas: %d\n",faltas);
printf("Nota final: %0.2f\n",N_final);
printf("Percentual de faltas: %0.2f\n",percent_f);
if((N_final>=60)&&(percent_f<25)){
printf("Voce foi aprovado.\n");
}else{
printf("Voce foi reprovado.\n");}
return 0;
}
Aí está o código fonte.
Peço ajuda de vocês para encontrar o erro, obrigado.
/******************************************************************************
Olá amigo, sei que é tarde, mas estou revisando alguns conteudos, e resolvir esse.
Agrade a todos por colocarem seus codigos para tirar duvidas... Tirou a minha inclusive.
*******************************************************************************/
#include<stdio.h>
#include<stdlib.h>
int main(){
float N1, N2, N3, N_final, percent_f;
float N_aulas, faltas;
printf("Informe as tres notas do aluno: ");
scanf("%f %f %f",&N1,&N2,&N3);
printf("Informe o numero de aulas: ");
scanf("%d",&N_aulas);
printf("Informe o numero de faltas: ");
scanf("%d",&faltas);
N_final=(N1+N2+N3);
percent_f=(faltas/N_aulas)*100.0;
system("cls");
printf("Notas: %0.2f %0.2f %0.2f\n",N1, N2, N3);
printf("Numero de aulas: %d\n",N_aulas);
printf("Numero de faltas: %d\n",faltas);
printf("Nota final: %0.2f\n",N_final);
printf("Percentual de faltas: %0.2f\n",percent_f);
if((N_final>=60)&&(percent_f<25)){
printf("Voce foi aprovado.\n");
}
else{
printf("Voce foi reprovado.\n");
}
}
A divisão entre o número de faltas e o número de aulas vai ser inteira, não float. Ex: 4 faltas / 20 aulas = 0 ao invés de 0.2
Se atente p/ os tipos das variáveis.