Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com laço


Thiago Balthazar

Pergunta

O programa é pra receber notas e dar as maior e a menor, ate aew tudo ok, mas quando chega na hora de dar a media de todas as notas digitadas ele da Pau.... Ele calcula corretamente ate a segunda nota digitada depois ele da ERRO. segue em abaixo o enunciado do Exercicio.

13. Faça um programa que leia as médias finais de vários alunos de uma turma e mostre a

maior média, a menor média e a média aritmética da turma. O programa pára quando

encontrar uma média negativa.

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

float media,maior,menor,media_sala;

float cont=2;

printf("Digite sua media: ");

scanf("%f",&media);

if(media>=0)

{

maior=media;

menor=media;

media_sala=media;

printf("Media da sala = %.2f \n\n Maior = %.2f Menor = %.2f \n\n",media_sala,maior,menor);

while(media>=0)

{

printf("\nDigite sua media: ");

scanf("%f",&media);

media_sala=(media+media_sala)/cont;

if(media>maior)

{

maior=media;

printf("Media da sala = %.2f \n\n Maior = %.2f Menor = %.2f \n\n",media_sala,maior,menor);

}

else if(media<menor)

{

menor=media;

printf("Media da sala = %.2f \n\n Maior = %.2f Menor = %.2f \n\n",media_sala,maior,menor);

}

else

{

printf("Media da sala = %.2f \n\n Maior = %.2f Menor = %.2f \n\n",media_sala,maior,menor);

}

cont=cont++;

}

}

system("PAUSE");

return 0;

}

Desde já agradeço a Todos....

Abraços e Que Deus Abençoe.:)

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Primeiramente utilize as tag CODE quando for inserir código, assim fica melhor para visualizar seu código.

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

int main(int argc, char *argv[]){    
    float maior, menor, media = 0, soma = 0;
    int cont = 0;
    
    do{
       system("cls");
        printf("Digite sua media: ");
        scanf("%f",&media);
        //finaliza o programa de o valor digitado for negativo
        if (media < 0){
                  printf("Programa finalizado\n");
                  system("PAUSE");
                  break;
                  }
        //inicializa os valores maior e menor
        if (cont == 0){
                 maior = media;
                 menor = media;
                 }
        //verifica se valor e maior ou menor
        if(maior <= media){
                 maior = media;
                 cont++;
                 } else if( menor > media){
                        menor = media;
                        cont++;
                        }
        //faz a media              
        soma += media;
        media = soma/cont;
        //imprime os resultados
        printf("Maior media = %.2f\n", maior);
        printf("Menor media = %.2f\n", menor);
        printf("Media = %.2f\n", media);
        
        system("PAUSE");
    }while (1);
}

Espero que ajude

Editado por jrsilvamg
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...