Jump to content
Fórum Script Brasil
  • 0

Ajuda com programa de sala de aula.


Caiolug

Question

Galera, a unica coisa que não consigo achar uma maneira de fazer, é somar todas as notas digitadas para poder colocar a media no final do programa, eu já fiz com que ele mostrasse o maior numero e o menor, a minha unica duvida é como irei fazer para pegar todos os numeros digitados pelo usuario, no caso, se for 10 alunos, serão 10 notas, então, n tem como eu ficar criando variaveis para armazenar todos os valores digitados pois eu posso colocar 1000 alunos..

ta ai o script:


#include<stdio.h>
#include<cstdlib>
#include<iostream>
#include<conio.h>


int main()
{
    
int qalunos,contador,maior = 0,menor = 0,nota;

float media,resultado;

 printf("Seja bem vindo.\n\nPor favor, digite a quantidade de alunos que existem na sala:\n");
  scanf("%d", &qalunos);
  system("cls");
  
  
  menor = nota;
  
 for(contador = 0; contador != qalunos; contador++){
  printf("Por favor, digite as notas dos alunos:\n");
 scanf("%d", &nota);

  
 if(nota > maior)
  maior = nota;
 if(nota < menor)
 menor = nota;
}

 printf("maior = %d menor = %d",maior,menor);

// aqui nessa linha eu quero colocar printf(" o valor da media e tal...")



getch();

}

No caso eu tava pensando nessa formula:

resultado = maior+menor;

media = resultado/2;

porém não ia dar certo, pois a media seria todas as notas, para se ter uma media de notas da sala..

Muito obrigado.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Tenta fazer essa parte da média assim.

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

int main()

{
    float quant;
    int i;
    float numero;
    float media;
    float soma;
    float divisao;
    
    printf("Digite quantos numeros voce deseja usar: ");
    scanf("%f" , &quant);
    
    soma=0;
    divisao=0;
    
    
    for(i=1; i<=quant; i++)
    {
            printf("\nDigite um numero: ");
            scanf("%f" , &numero);
            soma=soma+numero;
            divisao++;                                       
    }
    
    media=soma/divisao;
    printf("\nA media dos numeros sera: %.2f\n" , media);
    
    system("Pause");
    return 0;
}

Link to comment
Share on other sites

  • 0

Poderias fazer assim tambem:

1) Declara as seguintes variaveis:

int main()
{
    int qalunos=0,i=0,maior=0,menor=0,nota=0;
    float media_turma =0,acum=0;
2) Dentro do for acrescente, a variavel acum (acumulador) recebe acum + nota:
for(i=0; i<qalunos; i++)
  {
      printf("Por favor, digite as notas dos alunos:\n");
      scanf("%d", &nota);
  
      if(nota > maior)
      maior = nota; 
      if(nota < menor)
      menor = nota;
      
      acum = acum + nota;
  }
3) Após o for faça a media: total de notas dividindo por total de alunos
media_turma = acum/qalunos;
4) Para imprimir faça assim:
printf("maior = %d",maior);
printf("maior = %d",maior);
printf("media turma = %.2f",media_turma);

Edited by Binder
Link to comment
Share on other sites

  • 0

Binder, você executou essa parte do código que você passou pra ver?

for(i=0; i<qalunos; i++)
  {
      printf("Por favor, digite as notas dos alunos:\n");
      scanf("%d", &nota);
  
      if(nota > maior)
      maior = nota; 
      if(nota < menor)
      menor = nota;
      
      acum = acum + nota;
  }

Porque a comparação para se ter o menor número vai ser sempre 0.

Você declarou que menor=0

Sendo assim, a nota só seria menor, se fosse menor que 0 e o programa indica sempre, que a menor nota é 0.

Link to comment
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
Answer this question...

×   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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...