Ir ao conteúdo
  • Cadastre-se

C/c#/c==


andmagic

Posts recomendados

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();       
}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...