Ir ao conteúdo
  • Cadastre-se
jfp_flavio

Programa em c

Recommended Posts

Boa noite pessoal!

 

preciso de fazer um programa em C com os requisitos abaixo, se puderem me ajudar ficarei muito grato.

 

 Um sistema para cadastrar as notas dos

seus alunos. Ele tem que registrar as notas de quatro provas (P1, P2, P3 e P4), além de uma

prova substitutiva (para substituir a menor nota).

O sistema deve calcular a média de cada um dos alunos, que é igual à média ponderada das

quatro provas. Caso a média seja inferior a 5,0, o aluno é reprovado.

O sistema deve ser composto das seguintes partes:

1.

Cadastro de alunos: Nome do aluno e matrícula.

2.

Cadastro de notas: Cadastro de notas das provas P1, P2, P3 e P4 e da prova substitutiva.

3.

Cálculo das médias: O sistema deve conter uma função que calcula a média de cada um

dos alunos, depois de todas as notas cadastradas. A função de média executa o cálculo da média

ponderada, isto é, cada nota possui um peso (P1 peso 1, P2 peso 2, P3 peso 3 e P4 peso 4).

4.

Relatório de desempenho: O sistema deve imprimir (em tela) um relatório com o nome

de todos os alunos, suas notas e médias e a média da sala.

 

Obrigado ! boa noite!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!!!

 

Fiz um pouco sim, mas não tenho certeza se a codificação esta ficando boa, estou colocando aqui embaixo o que fiz. Se tiver sugestões, com certeza aceito (rsrsrs) estou no aperto e com muito pouco tempo para resolver. Se trata de um trabalho pra faculdade e eu ainda estou aprendendo a programar,

 

Obrigado!

 

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

int main() {
    int matricula[50];              //cadastro matricula
    char nome[50];                  //cadastro nome aluno  
    float al=20, soma=0.0, media, mediaturma;         // al é uma suposição que o numero de alunos será 15
    float P1,P2,P3,P4,PS;           // notas das provas
    int x,y;
    for (x=0;x=al;x++){                   //loop
        printf("digite a matricula do aluno:\n");
        scanf("%d", &matricula);
        printf("Digite o nome do aluno:\n");
        scanf("%s",&nome);
        printf("Digite a nota1:\n");
        scanf("%d",P1);
        printf("Digite a nota2:\n");
        scanf("%d",P2);
        printf("Digite a nota3:\n");
        scanf("%d",P3);
        printf("Digite a nota4:\n");
        scanf("%d",P4);
        {
        
        media=((P1)+(P2*2)+(P3*3)+(P4*4))/10;                  //média ponderada das provas
            if (media<=5){
            printf("Aluno aprovado! Media %f /n", media);
       }
         system("PAUSE");

return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, algumas sugestões:

 

  • Dependendo do tamanho da matrícula você a pode declarar como int ou unsigned int, não precisa ser obrigatoriamente um vetor.
  • A quantidade de alunos (variável al) você pode solicitar ao usuário
  • O laço está errado. Na condição de teste de parada você está fazendo uma atribuição, ou seja x está recebendo o valor de al. O correto é x < al: Assim o loop do for será realizado enquanto o x for menor que o al
  • A leitura do vetor nome em scanf precisa de correção:
  • As variáveis P1 a PS (está última não é utilizada no código), foram declaradas como float, reveja o código de formatação do scanf(). Falta também o & nestes scanf().
  • Se média <= 5 aprovado??

Veja se consegue fazer estas alterações

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





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×