ajuda programa em c++

1. ajuda programa em c++

andre
andmagic

(usa Outra)

Enviado em 25/11/2016 - 14:30h

estou iniciando agora o curso. Ja fiz o codigo do programa porem gostaria de saber se esta certo
preciso fazer isso :
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.

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

#define SIZE 200


char nomedoaluno[SIZE][50];
int matricula[SIZE];
float cadastrodenotap1[SIZE];
float cadastrodenotap2[SIZE];
float cadastrodenotap3[SIZE];
float cadastrodenotap4[SIZE];
float cadastrodenotaps[SIZE];
int op;
float media[SIZE];

void cadastro (void);
void lista (void);

int main (void) {
cadastro();
lista();
return 0;
}

void lista (void) {
int i;
for (i = 0; i < SIZE; i++) {
if (matricula[i] > 0) {
printf("\n Nome do aluno: %s \n Matricula: %d \n Media ponderada: %.1f \n", nomedoaluno[i], matricula[i], media[i]);
} else {
break;
}
}
}

void cadastro (void) {
static int linha;

do {

printf ("\nDigite o nome do aluno: ");
scanf ("%s", nomedoaluno[linha]);

printf ("\nDigite a matricula: ");
scanf ("%d", &matricula[linha]);

printf ("\nDigite a nota p1 do aluno: ");
scanf ("%f", &cadastrodenotap1[linha]);

printf ("\n Digite a nota p2 do aluno: ");
scanf ("%f", &cadastrodenotap2[linha]);

printf ("\n Digite a nota p3 do aluno: ");
scanf ("%f", &cadastrodenotap3[linha]);

printf ("\n Digite a nota p4 do aluno: ");
scanf ("%f", &cadastrodenotap4[linha]);

printf ("\n Digite a nota ps do aluno: ");
scanf ("%f", &cadastrodenotaps[linha]);

media[linha] = (cadastrodenotap1[linha] +
(cadastrodenotap2[linha] * 2) +
(cadastrodenotap3[linha] * 3) +
(cadastrodenotap4[linha] * 4) +
(cadastrodenotaps[linha] * 5)) / (1 + 2 + 3 + 4 + 5);

printf("\n Digite 1 para cadastrar novo aluno ou 2 para calcular media do aluno ");
scanf ("%d", &op);
linha++;
} while (op == 1);


printf ("\n A media ponderada do aluno e: %.1f", media[linha]);

if (media[linha] < 5) {
printf (" \n aluno reprovado");
} else if (media[linha] >= 5) {
printf ("\n aluno aprovado");
}



  


2. Re: ajuda programa em c++

Thiago Silva
Thegow

(usa Outra)

Enviado em 26/11/2016 - 13:11h

Cara, estou com um trabalho para entregar na faculdade idêntico ao seu. Estou iniciando na programação e já me pediram um trabalho desses.... Tenso!! Estava verificando sua programação e quando ele mostra a média acima de 5 continua mostrando como "reprovado" e não mostra a aprovação ou reprovação dos demais alunos cadastrados. Você conseguiu fazer a correção? Andei fuçando aqui mas nada de corrigir.

A media ponderada do aluno e: 0.0
aluno Reprovado
Nome do aluno: jonas
Matricula: 1
Media ponderada: 8.0

Nome do aluno: carlos
Matricula: 2
Media ponderada: 4.3



3. corrigir media ponderada

andre
andmagic

(usa Outra)

Enviado em 27/11/2016 - 13:04h

ai galera obrigado pela ajuda , mas nao estou conseguindo arrumar a media ponderada que so da aluno reprovado , alguem pode me ajudar , preciso entregar o trabalho na segunda feira . valew



4. Re: ajuda programa em c++

Thiago Silva
Thegow

(usa Outra)

Enviado em 27/11/2016 - 16:37h

Você conseguiu arrumar a indicação aprovado e reprovado?
tem como postar a correção por favor? preciso entregar segunda feira também kkkk


5. duvida

douglas rodrigues
doug_g

(usa Ubuntu)

Enviado em 27/11/2016 - 17:32h

Boa Tarde meu trabalho também é o mesmo preciso da mesma ajuda, alguem consegue corrigir? obrigado.


6. ajuda programa em c++

andre
andmagic

(usa Outra)

Enviado em 27/11/2016 - 21:55h

ai amigos , não consegui corrigir ainda , se alguém do fórum consegue corrigir , por favor Help ....


7. Re: ajuda programa em c++

andre
andmagic

(usa Outra)

Enviado em 27/11/2016 - 21:57h

Thegow escreveu:

Você conseguiu arrumar a indicação aprovado e reprovado?
tem como postar a correção por favor? preciso entregar segunda feira também kkkk


thegow , não consegui ainda , amigo também preciso de ajuda , mas estou aqui tentando resolver se consegui aviso a vcs


8. Re: ajuda programa em c++

andre
andmagic

(usa Outra)

Enviado em 27/11/2016 - 21:59h

SamL escreveu:

Olha, seu curso deve tá no início, mas você poderia usar struct para compactar mais as coisas. Por exemplo, cada SIZE é um aluno, então cada aluno tem N propriedades, numa struct ficaria assim:
typedef struct _Aluno {
char nomedoaluno[50];
int matricula;
float cadastrodenotap1;
float cadastrodenotap2;
float cadastrodenotap3;
float cadastrodenotap4;
float cadastrodenotaps;
float media;
} Aluno;

Dai você usaria um vetor de Aluno do tamanho SIZE e usaria memset da string.h para setar tudo para '0'. Se quiser deixar como está não tem problema, mas com struct o código fica mais legível e organizado, fora que não precisará criar uma variável global (ou um monte delas), bastaria passar o vetor de alunoa como argumento de cada função.


samL , amgo ajuda ai ,
Estava verificando a programação e quando ele mostra a média acima de 5 continua mostrando como "reprovado" e não mostra a aprovação ou reprovação dos demais alunos cadastrados. Você conseguiu fazer a correção? Andei fuçando aqui mas nada de corrigir.

A media ponderada do aluno e: 0.0
aluno Reprovado
Nome do aluno: jonas
Matricula: 1
Media ponderada: 8.0

Nome do aluno: carlos
Matricula: 2
Media ponderada: 4.3


9. Re: ajuda programa em c++

Thiago Silva
Thegow

(usa Outra)

Enviado em 28/11/2016 - 20:00h

Boa noite turma,

Sem novidades sobre a correção da programação do colega ai...... =/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts