Ir ao conteúdo
  • Cadastre-se

-= Linguagem C - URGENTE =-


pluginplay

Posts recomendados

Bem é o seguinte eu tenho um programa para resolver para nota, eu acho que estou seguindo uma seqüência lógica digamos que correta, mas nem sempre o que achamos estar certo está. . . bem o problema é o seguinte vamos supor que eu tenha em um exame 5 alunos e destes 5 apenas três serão aprovados, isto é as três melhores notas do exame, mais antes devemos ter em mente o que vai precisar do tipo vamos iniciar o problema com um nome, número de matricula e depois três provas com pesos 2 para a primeira prova, 3 para a segunda prova e peso 5 para a terceira prova e com isso calculamos o total de pontos de cada aluno no exame. . . sendo assim as três melhores pontuações passarão no exame e com isso deve ter uma saída em tela com a pontuação total dos aprovados, o número de matricula do candidato e o nome do mesmo.

Bem eu montei o programa mais ou menos mais queria que tipo pessoas com experiência em linguagem c ou mesmo iniciantes que possam me ajudar dar opiniões ou mesmo achar o erro ou erros, pois o programa compila, executa mais na saída da erro e a pontuação fica em 0.00 . . . bem é só isto, muito obrigado ai galera!!! Abaixo o código fonte!!!

/* problema.c */

#include <stdio.h>

#include <stdlib.h>

main()

{

char vetCand[5][30];

int vetMat[5],vetAprov[3]={0};

float vetProv[3],vetPontos[5];

int i,j,k,nCand=5,nVagas=3,nProvas=3;

float pTotal,mPonto;

i=j=pTotal=0;

printf("Digite: \n");

for(i=0;i<nCand;i++)

{

printf("\n");

printf("Nome: ");

fflush(stdin);

scanf("%s",vetCand);

printf("Matricula: ");

scanf("%d",&vetMat);

for(j=0;j<nProvas;j++)

{

printf("Prova %0d: ",j+1);

scanf("%f",&vetProv[j]);

}

}

pTotal=((vetProv[0]*0.2)+(vetProv[1]*0.3)+(vetProv[2]*0.5));

vetPontos=pTotal;

for(i=0;i<nCand;i++)

{

for(j=0;j<nProvas;j++)

{

if(vetPontos>vetAprov)

{

vetAprov[j]=vetPontos;

vetPontos=0;

}

else

{

vetAprov[j]=vetAprov[j];

}

}

}

printf("\n Pontos - Matricula - Candidato \n");

for(i=0;i<nVagas;i++)

{

printf("%.2f",vetAprov);

printf("\t%7d",vetMat);

printf("\t\t%s\n",vetCand);

}

system("pause");

return(0);

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...