Ir para conteúdo
Fórum Script Brasil
  • 0

Bug de Programa


Daniel Torres

Pergunta

O meu programa esta a bugar quando eu conto o total de alunos reprovados e aprovados, nunca da o numero certo.. vai sempre incrementando mais um valor..,ajudem-me pfv..

 

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

typedef struct Aluno
{
char nome[50];
int teste;
int trab;


};

main()
{
		FILE *fp;
struct Aluno vet[10];
	fp=fopen("Alunos.txt","w");

int cont=0,i,somateste=0,somatrab=0,op,reprovado=0,aprovado=0;
int soma[10];
float med[10] ,medglobal, nota[10];

	while (op!=7)
	{

		printf("\n");
		printf("------Menu------:");
		printf("\n");
		printf("1 - Introduza alunos \n");
		printf("2 - Listar alunos \n");
		printf("3 - Media dos trabalhos \n");
		printf("4 - Media dos testes \n");
		printf("5 - Media global dos alunos\n");
		printf("6 - numero de aprovados e reprovados \n");
		printf("7 - Sair \n");
		printf("\n");
		printf("Introduza a sua opcao \n");
		scanf("%d",&op);

	switch (op)
	{
	case 1:
	{		
		printf("Introduza o nome do aluno \n");
		scanf(" %s",&vet[cont].nome);
		printf("Introduza a nota do teste \n");
		scanf(" %d",&vet[cont].teste);
		printf("Introduza a nota do trabalho \n");
		scanf(" %d",&vet[cont].trab);
	 cont++;
	break;
	}
	case 2:
	{
	for (i=0; i<cont; i++)
	{
	printf("\n");
	fprintf(fp,"Nome: %s \n",vet[i].nome);
	fprintf(fp,"Teste: %d \n",vet[i].teste);
	fprintf(fp,"Trabalho: %d \n",vet[i].trab);
	}
	break;
	}
	case 3:
	{
	for (i=0; i<cont; i++)
	{
	somatrab= somatrab +vet[i].trab ;
	}
	printf("\n");
	fprintf(fp, "Media dos trabalhos = %.2f \n",somatrab/(float)cont);
	break;
	}
	case 4:
	{
	for (i=0; i<cont; i++)
	{
	somateste= somateste + vet[i].teste;	
	}
	printf("\n");
	fprintf(fp,"Media dos testes = %.2f \n",somateste/(float)cont);
	break;
	case 5:
	{
	for (i=0; i<cont; i++)
	{
	medglobal= (somateste+somatrab)/2 ;	
	}
	printf("\n");
	fprintf(fp, "Media global e = %.2f \n",medglobal/(float)cont);
	break;
		}
		case 6: 
				for (i=0;i<cont;i++){
			{
				nota[i] == vet[i].teste+vet[i].trab/(float)2 ;
				if (nota[i] <=9.5)
				reprovado++;
				if (nota[i] >9.5)
				aprovado++;
				
		}
			printf(" %d aprovado \n", aprovado);
			printf(" %d reprovado \n", reprovado);
			fprintf(fp, " %d aprovado \n", aprovado);
			fprintf(fp, " %d reprovado \n", reprovado);
		break;
	default:printf("");break;	
	fclose(fp);
	}
	}
}
}
}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...