Ir ao conteúdo
  • Cadastre-se

Programa em c


jfp_flavio

Posts recomendados

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!

Link para o comentário
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;
}

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!