Jump to content
GuMarinho

Problemas com um bug no for!

Recommended Posts

#include <stdio.h>
#include <stdlib.h>

int main()
{
        int qntd_alunos,r,i,j;
        double media,reprovados;


        printf("Digite a quantidade total de alunos(0 para sair): ");
        scanf("%d",&qntd_alunos);
        if (qntd_alunos <= 0)
        {
                exit(1);
        }
        else
        {
                  printf("Digite a média de aprovação: ");
                  scanf("%lf",&media);

                  for(i = 1;i >= qntd_alunos;i++)

                 {
                        printf("Digite a nota do %d° aluno: ",i);
                        scanf("%lf",&reprovados);
                        if(reprovados < media)
                        {
                           j += 1;
                        }
                  }



                printf("A quantidade de alunos reprovados foi de(reprovados/total): %d/%d",j,qntd_alunos);

        }

        return 0;

}

Boa noite glr,outro post com problemas na resolução do exercicio da faculdade,dessa vez eu acho que o problema é o C,espero que eu esteja errado kkk,eu escrevi esse codigo pra resolver o exercicio mas ele não entra no for. Ja reescrevi de modos diferente,recompilei e até agr nada. Vocês acham q pode ser um erro  com o compilador ou algo do tipo ou eu estou fazendo besteira?

Desde já agradeço  todas as respostas e peço que tenham paciencia cmg!

PS. Não esta terminado é que eu parei nessa parte msm.

 

 

Edited by GuMarinho

Share this post


Link to post
Share on other sites

Bem vinda, pessoa!

Três dicas ó:

  1. Quando postar código, utilize o botãozinho <> e marca o realce na linguagem que desejar (no teu caso, C). 😉
  2. O teu for não deveria ser "menor ou igual"? Por que usou "maior ou igual" aí?
  3. Para abrir o bloco do for, você tem que usar "abre chaves" e não "fecha chaves".

Boa sorte!

Abraço!

Share this post


Link to post
Share on other sites
6 horas atrás, GuMarinho disse:

dessa vez eu acho que o problema é o C

1546416036_Capturadetelade2018-05-1403-02-09.thumb.png.7322ba45fe40fe32d5b33b0b5480cd1a.png
 

Recomendo a leitura: http://cars--reviews.com/article43.html
 

O Fernando já disse o que tem de errado no seu código, então o que eu vou fazer é tentar te ajudar a encontrar as falhas por conta própria.
Primeira dica que eu dou é você tentar "executar" o código de cabeça. Olhe o código linha por linha e imagine o resultado apresentado por ele, o valor das variáveis em determinada linha etc.
Sugiro que comece a exercitar isso com códigos básicos e depois vá aumentando a "dificuldade".

Pode parecer bobagem isso, mas a maioria dos bugs eu consigo encontrar sem nem mesmo fazer um teste antes.
Ai caso isso não der frutos, eu uso um debugger.

Um debugger que eu recomendo para C é o Nemiver.
Tem esse debugger online também:
https://www.onlinegdb.com/

Mas eu acho que nesse nível você não precisa se preocupar com debuggers no momento.

Share this post


Link to post
Share on other sites

Fiz as alterações,mas ele n entrou no laço For,to falando pra vcs glr, eu ja mudei o código varias vzs ,aqls erros na sintaxe foi por falta de paciencia de ler o codigode novo antes do ctrl+v kkk.

Share this post


Link to post
Share on other sites

Só o >= que deveria ser <= mesmo. Testa aí meu amigo, clica nesse link aqui (testei no site que o @Felipe.Silva falou).

Aperte   Run lá que você verá que funciona normalmente.

Outra coisa...

Melhora o nome das suas variáveis amigo: 

  • renomeie reprovados para nota ou nota_aluno (use reprovados para contar o número de reprovados, veja abaixo)
  • como na string de apresentação dos dados você usou a terminologia total ao invés de quantidade total, renomeie essa variável qntd_alunos para total e incremente reprovados ao invés de j

Lembre-se de que quanto melhor ficar o seu código, quanto mais inteligível, melhor. A primeira coisa é inteligibilidade, depois vem a otimização e outros ajustes. Sempre que você usar nas tuas mensagens um termo, tenta usar esse mesmo termo para dar nome as variáveis, esse é um bom início. 😀

Ex. de como ficaria seu printf no final com essas mudanças:

printf("A quantidade de alunos reprovados foi de(reprovados/total): %d/%d",reprovados,total);

 

Edited by gzn
outras dicas
  • Agradecer 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...