Ir para conteúdo

Pergunta

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostas a esta questão

Recommended Posts

  • 0

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
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?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
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");
            
        }
    
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por DuRodrig
      Pessoal, bom dia! 
      Estou fazendo uma página com um cálculo simples de porcentagem.
      Existe um formuário que coloco o valor da venda, a comissão é fixa em 13% e a tarifa é um valor que você coloca também.
      Exemplo: (valor da venda) R$ 100,00 - (comissão 13%) - (tarifa) R$ 8,50 = (resultado) R$ 78,50, só que está gerando o resultado de R$ 79,00.
      Como faço para corrgir esse problema?
      Segue o código:

       
      $(function(){ $('#valorVenda').on('input', function() { calculate(); }); $('#tarifa').on('input', function() { calculate(); }); function calculate(){ var pPos = parseFloat($('#valorVenda').val()); var tar = parseFloat($('#tarifa').val()); var result = " "; if(isNaN(pPos) || isNaN(tar)){ }else{ result = ((pPos - ((13.00 * pPos) / 100.00)) - tar).toFixed(2); } $('#total').val(result); } });  
      Desde já agradeço.
    • Por aantunesl
      Senhores, por gentileza me ajudem na seguinte questão:
      Tenho um determinado valor, e quero acrescentar 10% no total. Detalhe, os 10% é em cima do valor.
       
      <!-- preciso incluir os 10% aqui --> <td>R$<?= number_format($valor, 2) ?></td> <!-- preciso incluir aqui tambem --> <p style="font-size:15px;">R$ {{number_format($payment->valor, 2, ',', '.') }}</p> Agradeço a força.
    • Por brunaFD
      olá
      então, eu estou fazendo um algoritmo aqui, e cheguei uma parte que não sei como proceder, pois não sei como realizar o calculo
      eu sei fazer porcentagem normal, mas no caso por exemplo
      tenho o valor 75 e o 14
      14 é quantos por cento de 75?
      não sei como fazer isso, se puderem me ajudar, ficarei agradecida. obrigada
    • Por willianmarques
      ola pessoal, preciso de uma ajuda de voces...
      estou querendo saber o valor da diferenca desses precos em porcentagem sera que tem como ? 
      eu tenho esse script : 
      SELECT Prcprdcab_descricao,chb.Produto,Sigla_Cor,preco,id,chb.BaseCodigo,Aplicacao FROM prcprd prd INNER JOIN prdchb chb ON prd.Produto = chb.Produto where Prcprdcab_descricao = '801' and Aplicacao = 'expos' SELECT Prcprdcab_descricao,chb.Produto,Sigla_Cor,preco,id,chb.BaseCodigo,Aplicacao FROM prcprd prd INNER JOIN prdchb chb ON prd.Produto = chb.Produto where Prcprdcab_descricao = '712' and Aplicacao = 'expos'  
      que deu este resultado
      Prcprdcab_descricao Produto Sigla_Cor preco id BaseCodigo Aplicacao 801 03754 sem cor 35,7604 8239856 Eletrofrio Expos 801 03754 sem cor 35,7604 8239856 Eletrofrio Expos 801 03754 sem cor 35,7604 8239856 Eletrofrio Expos 801 04554 sem cor 50,4866 8239944 Eletrofrio Expos 801 04655 sem cor 71,7 8239954 Eletrofrio Expos 801 04656 sem cor 71,7 8239955 Eletrofrio Expos 801 04694 sem cor 50,4866 8239957 Eletrofrio Expos  
      Prcprdcab_descricao Produto Sigla_Cor preco id BaseCodigo Aplicacao 712 03754 sem cor 35,7604 7798652 Eletrofrio Expos 712 03754 sem cor 35,7604 7798652 Eletrofrio Expos 712 03754 sem cor 35,7604 7798652 Eletrofrio Expos 712 04554 sem cor 50,4866 7798740 Eletrofrio Expos 712 04655 sem cor 71,7 7798750 Eletrofrio Expos 712 04656 sem cor 71,7 7798751 Eletrofrio Expos 712 04694 sem cor 50,4866 7798753 Eletrofrio Expos
       
      oque diferencia um do outro é o PRCPRDCAB_DESCRICAO e o PRECO. Gostaria de comparar o preco do 712 com o 801 e ter o resultado em porcentagem
    • Por playnet
      Boa noite pessoal,
       
      Gostaria se possível de duas ajudas:
       
      1) Porque a ordenação que defini como coluna 1 mostra o resultado errado? Parece que está considerando a ordenação pela coluna 2. 
      Obs: Se eu deixar ativo apenas o primeiro select funciona ok, se mantenho o UNION ele mostra errado.
      2) Consigo calcular a porcentagem utilizando o resultado dos selects? Eu gostaria de utilizar o resultado do count do select1 (Quantity) com o resultado de count do resultado 2 (Total) para gerar a porcentagem numa coluna 5. Coluna 5 seria:  (Quantity*100)/Total 
       
      Segue a consulta:
       
      (SELECT count(m.id_match) as Quantity, d.nome as OppDeck, f.nome as Format, tp.nome as League
      FROM tipoleague tp, leagues l, formatos f, matches m, decks d
      WHERE d.id_deck=m.opp_deck and l.id_formato=f.id_formato and l.id_league=m.id_league and tp.id_tipoleague=l.id_tipoleague
      and f.nome='Modern' and tp.nome='Competitive' and date(m.data) between '2017/11/01' and '2017/11/14' 
      group by OppDeck, Format, League
      order by 1 desc)
      UNION  (SELECT count(m.opp_deck) as Total, "All Decks", f.nome, tp.nome
      FROM tipoleague tp, leagues l, formatos f, matches m, decks d
      WHERE d.id_deck=m.opp_deck and l.id_formato=f.id_formato and l.id_league=m.id_league and tp.id_tipoleague=l.id_tipoleague
      and f.nome='Modern' and tp.nome='Competitive' and date(m.data) between '2017/11/01' and '2017/11/14' 
      group by f.nome, tp.nome)
       
      Resultado:
       

       
      Agradeço desde já,
      Alex
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.