Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
andmagic

C/c#/c==

Recommended Posts

ola , gostaria de uma ajuda no codigo abaixo . Preciso colocar a media da turma  e nao estou conseguindo . comecei a faculdade agora e preciso entregar esse trabalho ainda hoje 

 

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


typedef struct cadastro CADASTRO;
struct cadastro{
    
      char matricula [15];//o numero da matricula tera 15 caracteres
    char nome [30];//nome tera ate 30 caracteres
    char rg [12];//o rg tera 12 caracteres
    int cont; //variavel contadora de alunos
    float nota_1; //a primeira nota tera 6 caracteres
    float nota_2; //a segunda nota tera 6 caracteres
    float nota_3; //a terceira nota tera 6 caracteres
    float nota_4; //a quarta nota tera 6 caracteres
    float nota_5; //a quinta nota ser? a prova substituta
    float media;  //media ponderada do aluno
    float menor;  //a menor nota entre as 4 primeiras provas
    char situacao[20]; //situação do aluno media <5.0 reprovado, senão aprovado        
};

void cabecalho();
void cadastrar();
void listar();
void pesquisar();

main(){
    
   int opcao;//variavel para escolha da opcao
             
   do{
            
       cabecalho();
       printf ("1 - Incluir Aluno\n");
       printf ("2 - Remover Aluno\n");        
       printf ("3 - Pesquisar Aluno Pelo Nome\n");
       printf ("4 - Listar Aluno\n");
       printf ("5 - Sair\n\n");
       printf ("Escolha uma opcao: ");
       scanf("%d", &opcao); //entra com a opcao
       
       switch(opcao){
           
              case 1:
                  cadastrar(); // Incluir
              break;
              
              case 2:
                   // Remover
              break;
              
              case 3:
                   pesquisar(); // Pesquisar
              break;
              
              case 4:
                   listar(); // Listar
              break;
                           
              case 5:
              printf("\nObrigado por utilizar o sistema de cadastro de alunos !\n");
              getch();
              break;
              
              default:
              printf("Opcao invalida !\n");
              printf("Pressione qualquer tecla para continuar ...\n");
              getch();
              break;          
       } 
  }while(opcao != 5);     
}   

void cabecalho(){    
     system("cls");
     printf("***********************************************\n");
     printf("         CADASTRO DE ALUNOS\n");
     printf("***********************************************\n\n");

  
void cadastrar(){    
    FILE* arquivo;
    CADASTRO ctt;    
    
    arquivo = fopen("cadastro de alunos.txt", "a");    
    
    if(arquivo == NULL){
        printf("Problemas na abertura do aquivo !\n");    
    }
    
    else{    
        do{ 
        
        cabecalho();
        printf("\nDigite a Matricula: ");
        scanf("%s", &ctt.matricula);    
        
        printf("\nDigite o Nome: ");
        scanf("%s", &ctt.nome);
    
        printf("\nDigite o RG: ");
        scanf("%s", &ctt.rg);        
            
        printf("\nDigite nota_1: ");
        scanf("%f", &ctt.nota_1);
        
        printf("\nDigite nota_2: ");
        scanf("%f", &ctt.nota_2);
        
        printf("\nDigite nota_3: ");
        scanf("%f", &ctt.nota_3);
        
        printf("\nDigite nota_4: ");
        scanf("%f", &ctt.nota_4);
        
        printf("\nDigite nota_5: ");
        scanf("%f", &ctt.nota_5);
                                       
        if ((ctt.nota_1<ctt.nota_2)&&(ctt.nota_1<ctt.nota_3)&&(ctt.nota_1<ctt.nota_4)&&(ctt.nota_1<ctt.nota_5)){
            ctt.media=((ctt.nota_5*1)+(ctt.nota_2*2)+(ctt.nota_3*3)+(ctt.nota_4*4))/10;
                }
                if(ctt.media>=5.0){
                    printf("Aluno Aprovado Media %5.2f\n", ctt.media);
                }
                    else {
                        printf("Aluno Reprovado Media %5.2f\n", ctt.media);
                    }
                        if ((ctt.nota_2<ctt.nota_3)&&(ctt.nota_2<ctt.nota_4)&&(ctt.nota_2<ctt.nota_5)){    
                           ctt.media=((ctt.nota_1*1)+(ctt.nota_5*2)+(ctt.nota_3*3)+(ctt.nota_4*4))/10;
                        }
                            if(ctt.media>=5.0){
                                printf("Aluno Aprovado Media %5.2f\n", ctt.media);
                            }
                            else {
                                printf("Aluno Reprovado Media %5.2f\n", ctt.media);
                            }
                                if ((ctt.nota_3<ctt.nota_4)&&(ctt.nota_3<ctt.nota_5)){    
                                       ctt.media=((ctt.nota_1*1)+(ctt.nota_2*2)+(ctt.nota_5*3)+(ctt.nota_4*4))/10;
                                   }
                                       if(ctt.media>=5.0){
                                        printf("Aluno Aprovado Media %5.2f\n", ctt.media);
                                    }
                                    else {
                                        printf("Aluno Reprovado Media %5.2f\n", ctt.media);
                                    }
                                        if (ctt.nota_4<ctt.nota_5){    
                                               ctt.media=((ctt.nota_1*1)+(ctt.nota_2*2)+(ctt.nota_3*3)+(ctt.nota_5*4))/10;
                                           }
                                           if(ctt.media>=5.0){
                                        printf("Aluno Aprovado Media %5.2f\n", ctt.media);
                                        }
                                        else {
                                            printf("Aluno Reprovado Media %5.2f\n", ctt.media);
                                        }                    
        fwrite(&ctt, sizeof(CADASTRO), 1, arquivo);
        
        printf("\nDeseja continuar(s/n)?");
        
        }while(getche() == 's');
        fclose(arquivo);
    }
}
void listar(){
    FILE* arquivo;
    CADASTRO ctt;    
    
    arquivo = fopen("cadastro de alunos.txt", "r");    
    
    cabecalho();
    if(arquivo == NULL){
        printf("Problemas na abertura do aquivo !\n");    
    }
    else{
        
        while(fread(&ctt, sizeof(CADASTRO), 1, arquivo) == 1){
        
               printf("Matricula: %s\n", ctt.matricula);
               printf("Nome: %s\n", ctt.nome);
               printf("RG: %s\n", ctt.rg);
               printf("Nota_1: %5.2f\n", ctt.nota_1);
               printf("Nota_2: %5.2f\n", ctt.nota_2);
               printf("Nota_3: %5.2f\n", ctt.nota_3); 
               printf("Nota_4: %5.2f\n", ctt.nota_4);
               printf("Nota_5: %5.2f\n", ctt.nota_5);
               if (ctt.media<5.0){
                   printf("Media : %5.2f Aluno Reprovado\n", ctt.media);
               }
                else {
                    printf("Media : %5.2f Aluno Aprovado\n", ctt.media);
                }
               printf("-------------------------------------\n\n");
        } 
    }
       fclose(arquivo);
       printf("Pressione qualquer tecla para continuar ...\n");
       getch();   
}

void pesquisar(){
     FILE* arquivo;
     CADASTRO ctt;    
     char nome[30];
    
    arquivo = fopen("cadastro de alunos.txt", "r");
        
    cabecalho();
    if(arquivo == NULL){  
        printf("Problemas na abertura do aquivo !\n");    
    }
    else{
         fflush(stdin);
         printf("Digite o nome a pesquisar: ");
         gets(nome);
         
         while(fread(&ctt, sizeof(CADASTRO), 1, arquivo) == 1){
            if(strcmp(nome, ctt.nome) == 0){
               printf("Matricula: %s\n", ctt.matricula);
               printf("Nome: %s\n", ctt.nome);
               printf("RG: %s\n", ctt.rg);
               printf("Nota_1: %5.2f\n", ctt.nota_1);
               printf("Nota_2: %5.2f\n", ctt.nota_2);
               printf("Nota_3: %5.2f\n", ctt.nota_3); 
               printf("Nota_4: %5.2f\n", ctt.nota_4);
               printf("Nota_5: %5.2f\n", ctt.nota_5);
               printf("-------------------------------------\n\n");
            }       
         }      
    }
    fclose(arquivo);
    printf("Pressione qualquer tecla para continuar ...\n");
       getch();       
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×