(Ajuda) Função de média ponderada com nota substitutiva!

1. (Ajuda) Função de média ponderada com nota substitutiva!

Raphael Aloi Pinto
Raphaloi

(usa Linux Mint)

Enviado em 16/11/2016 - 10:19h

Pessoal, bom dia!

Ainda sou bem leigo no assunto, estou no segundo semestre do curso de Análise e Desenvolvimento de Sistema e preciso fazer um trabalho, em C, de cadastro de alunos e o cálculo da media dos mesmos.

Abaixo o que fiz, mas estou com uma dificuldade na hora de fazer essa media ponderada com a prova substitutiva.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
void inserir(void);
void relatorio(void);
void adnotas(void);
int i;
struct registro
{
char matricula[15];
char nome[30];
char nota[5];
};

struct registro vetor[500][10];
int alunos;
int num;

int main(void)
{
vv:
for(; ;)
{
printf("\n\t\t********************************************");
printf("\n\t\t*\tSISTEMA ESCOLAR\t\t*\n");
printf("\n\t\t*\tPIM IV - UNIP ADS 2016\t*\n");
printf("\n\t\t*\tDesenvolvido por:\n\t\t*\tRaphael Aloi Pinto\tRA: 1607817\n\n\n");
printf("\t1 - Adicionar Alunos\n");
printf("\t2 - Adicionar Notas\n");
printf("\t3 - Relatorio\n");
printf("\t0 - Sair\n");
scanf("%d",&num);
switch(num)
{
case 1: inserir();
break;
case 2: adnotas();
break;
case 3: relatorio();
break;
case 0: exit(0);
default: puts("ERRO - TENTE NOVAMENTE");
}

}
getchar();
}


void inserir (void)
{

int n=0;
printf("Escreva o numero de alunos que deseja inserir: ");
scanf("%d", &alunos);

for(i=0;i<999;i++)
{
if(strlen(vetor[i][9].matricula) != 0){}
else{
n=i;
i=1000;
}
}
alunos = alunos + n;
i=0;
for(i=0+n; i<alunos; i++)
{
fflush(stdin);
printf("\n\n\nEntre com o numero de matricula do aluno: ");
gets(vetor[i][9].matricula);
fflush(stdin);
printf("Entre com o nome do aluno: ");
gets(vetor[i][9].nome);
fflush(stdin);
}
printf("\n\nPressione qualquer tecla para retornar ao menu anterior.\n");
getche();
}
void adnotas(void)
{
float media;
char nmatricula[50];
int x;
int min=999999;
int j;
float b;
int numero;
char notadoaluno;
char resultado[50];
printf("\nDigite o numero de matricula do aluno: ");
scanf("%s", &nmatricula);

for(i=0;i<101;i++)
{

if( strcmp(nmatricula,vetor[i][9].matricula)== 0){
numero=i;}
}
fflush(stdin);
printf("\nDigite a nota da P1 do %s:",vetor[numero][9].nome);
gets(vetor[numero][1].nota);
fflush(stdin);
printf("\nDigite a nota da P2 do %s:",vetor[numero][9].nome);
gets(vetor[numero][2].nota);
fflush(stdin);
printf("\nDigite a nota da P3 do %s:",vetor[numero][9].nome);
gets(vetor[numero][3].nota);
fflush(stdin);
printf("\nDigite a nota da P4 do %s:",vetor[numero][9].nome);
gets(vetor[numero][4].nota);
fflush(stdin);
printf("\nDigite a nota da SUB do %s:",vetor[numero][9].nome);
gets(vetor[numero][0].nota);
fflush(stdin);

for(x = 0; x < 5; x++)
{
if(atof(vetor[numero][x].nota) < min)
{
min = atof(vetor[numero][x].nota);
j=x;
}
media = media + atof(vetor[numero][x].nota);
}
media = media - atof(vetor[numero][j].nota);


media = media/4;


sprintf(vetor[numero][5].nota, "%f", media);

if(media>=5){

strcpy( resultado, "Aprovado!");

sprintf(vetor[numero][6].nota, "%s", resultado);
}
else{
strcpy( resultado, "Reprovado!");
sprintf(vetor[numero][6].nota, "%s", resultado);
}
printf("\nMedia: %s\n", vetor[numero][5].nota);
printf("\n%s\n", vetor[numero][6].nota);

}
void relatorio(void)
{
int i;
float mturma = 0.0;
char j[50];
system("cls");

for(i=0;i<alunos;i++){
mturma= mturma + atof(vetor[i][5].nota);
}

mturma = mturma/alunos;

for(i=0; i<alunos; i++)
{
printf("\n Matricula do Aluno: %s",vetor[i][9].matricula);
printf("\n Nome do Aluno: %s",vetor[i][9].nome);
printf("\n Nota do Aluno: %s",vetor[i][5].nota);
printf("\n Situacao: %s\n",vetor[i][6].nota);
}

printf("\n\nMedia da turma: %f\n\n", mturma);



printf("\n\nPressione qualquer tecla para retornar ao menu anterior.\n");
scanf("%s",&j);
system("cls");
}


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts