Ir para conteúdo
Fórum Script Brasil

Daniel Torres

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Daniel Torres

  1. 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);
    	}
    	}
    }
    }
    }

     

×
×
  • Criar Novo...