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

[#C] Ajude-me a converter esse progama [Obs: Tem que sacar muito de &q


Progamador - Joao

Pergunta

Olá pessoal eu desenvolvi um progama que inseri o nome do aluno,nota do aluno, exclui o aluno,faz a media do aluno e media geral de todos, e faz a lista de todos os alunos cadastrados e sai do progama...Agora eu tenho que pega esse progama que esta logo abaixo e converter para esse outro aqui:

Enunciado:

faça um progama em C que simule a lista de 10 tipos de cerveja de uma fabrica de cervejas, cada tipo de cerveja pode conter 5 caracteristicas.Utilize o conceito de structs e modulariação para desenvolver seu codigo. O Progama deve conter no menu principal as operações "Inserir,Excluir,Alterar,Consultar,Buscar e Sair". As informações necessarias são:

Cerveja

{Nome,Data de Fabricação,Caracteristicas}

Caracteristica

{Descrição,Quantidade,Cor,Textura}

alguém me Ajuda a Converter esse PROGAMA.

#include <stdio.h>
#include <stdlib.h>
//---
#define  alunoQTD 500
#define  notasQTD 4
//---
struct Nota {
      float nota;  
};
       typedef struct Nota nota;

struct Aluno {
   nota notas[notasQTD];
   int Qtd;
   float media;
   char nome[50];

};
  typedef struct Aluno aluno;   

 struct Aluno a;

int main(){

    char nome[50];
    int i,j,ultimo=-1,opcao,y,valor;
    aluno listaAluno[alunoQTD];
    aluno a;
    
//------------------------------MENU   
   do{
      do{                                    
   printf("||===============||-----------------------------||\n");
   printf("||               ||(1) - Inserir                ||\n");
   printf("||               ||(2) - Listar                 ||\n");
   printf("||  MENU OPCOES  ||(3) - Excluir                ||\n");
   printf("||               ||(4) - Notas Aluno            ||\n");
   printf("||               ||(8) - Sair                   ||\n");
   printf("||===============||-----------------------------||\n");
   printf("\nInsira o Numero da Opcao Desejada: ");
   scanf("%i",&opcao);
   system("CLS");
   
 }while(opcao!=1 && opcao!=2 && opcao !=3 && opcao!=4 && opcao!=8);
   //---NOTAS   
   if(opcao==4){
      if(ultimo==-1){
       printf("Voce não pode acessar o menu de notas\npois não existe nenhum aluno cadastrado\n");
       printf("\nPressione Qualquer Tecla para voltar a o MENU");
       getch();
       system("CLS");
}else      
   do{
   printf("||===============||-----------------------------||\n");
   printf("||               ||(5) - Inserir Nota Aluno     ||\n");
   printf("||  MENU NOTAS   ||(6) - Alterar Nota Aluno     ||\n");
   printf("||               ||(7) - Obter Media Aluno      ||\n");
   printf("||               ||(9) - Voltar para o MENU     ||\n");
   printf("||===============||-----------------------------||\n");
   printf("\nInsira o Numero da Opcao Desejada: ");
   fflush(stdin);
   scanf("%i",&opcao);
   if((opcao<5 || opcao>9)){
   printf("\nOpcao Invalida\nPressione 'ENTER' para enserir outra opcao.");
   getch();
  }
   system("CLS");
   }while(opcao!=5 && opcao!=6 && opcao!=7 && opcao!=9);
}
//----------------------------------------------INSERIR     
        if(opcao==1){
            if(ultimo>(alunoQTD-1)){
                printf("O Cadastro esta Cheio! \n"); 
            }else{
                printf("\nEntre com o nome do aluno: ");
                fflush(stdin);
                fgets(a.nome,50,stdin);
                a.Qtd=0;
            if(ultimo==-1){
                    ultimo=0;
                }
                listaAluno[ultimo]=a; 
                ultimo++;
                system("CLS");
            }                                               
        } 
//----------------------------------------------LISTAR      
    if(opcao==2){ 
        if(ultimo==-1){                 
            printf(" Nenhum Aluno Cadastrado! \n");
            getch();
            system("CLS");
        }else{              
    for(i=0;i<ultimo;i++){
            printf(" %i- %s \n",i+1,listaAluno[i].nome);
        } 
     printf("Pressione Qualquer 'TECLA' para voltar a o menu Principal'");
        getch();
        system("CLS");
    }
} 

//----------------------------------------------EXCLUIR      
    if(opcao==3){
       if(ultimo==-1){                 
            printf(" Nenhum Aluno Cadastrado! \n");
            getch();
            system("CLS");
        }else{                         
        for(i=0;i<ultimo;i++){                      
            printf("%s \n",listaAluno[i].nome);
        }
        printf("Informe o nome do aluno para ser Excluido: ");
        fflush(stdin);
        fgets(nome,50,stdin);
        
        for(i=0;i<ultimo;i++){
            if( strcmp (listaAluno[i].nome,nome)==0){               
              printf("\nVoce excluiu o aluno: %s",listaAluno[i].nome);
                getch();
            }
        }
        ultimo--;
    }
system("CLS");
}
//----------------------------------------------INSERIR NOTA                                
    if(opcao==5){                 
        printf("Informe o nome do 'ALUNO' que deseja inserir nota: ");
        fflush(stdin);
        fgets(nome,50,stdin);
        for(i=0;i<ultimo;i++){
            if( strcmp (listaAluno[i].nome,nome)==0){               
                for(j=0;j<notasQTD;j++){
         do {       
             printf("\n Digite a Nota do Aluno %s [%i Bimestre]: ",nome,j+1);
             fflush(stdin);
             scanf("%i",&valor);
             if( !(valor >= 0 && valor <= 10)){
             printf("\nNota informada invalida! \n Nota deve ser maior que 0 ou menor ou igual a 10!! \n");
              getch();
             }
         } while( !(valor >= 0 && valor <= 10));
                    
            listaAluno[i].notas[j].nota= valor;
            listaAluno[i].Qtd++;
            }
        break;    
            }
        }
    system("CLS");
}
//----------------------------------------------ALTERAR NOTA      
  if(opcao==6){                       
        printf("Informe o nome do 'ALUNO' que deseja alterar nota:");
        fflush(stdin);
        fgets(nome,50,stdin);
  
  for(i=0;i<ultimo;i++){
     if( strcmp (listaAluno[i].nome,nome)==0){               
        for(j=0;j<notasQTD;j++){
           do {       
              printf("\n Digite a Nota do aluno: '%s' [%i]:",nome,j+1);
              fflush(stdin);
              scanf("%i",&valor);
     
     if( !(valor >= 0 && valor <= 10)){
              printf("Nota informada invalida! \n Nota deve ser > = 0 ou < = 10!! ");
              getch();
              }
   } while( !(valor >= 0 && valor <= 10));
                    
            listaAluno[i].notas[j].nota= valor;
            listaAluno[i].Qtd++;
           }
           break;    
         }
        }
   system("CLS");
}
   
//----------------------------------------------MEDIA ALUNO         
        if(opcao==7){
                              
         for(i=0;i<ultimo;i++){
                         
             listaAluno[i].media=0;       
                
         for(j=0;j<notasQTD;j++){
                        listaAluno[i].media+=listaAluno[i].notas[j].nota;
                    }   
                
            listaAluno[i].media=listaAluno[i].media/4;
              
            printf("A media do aluno %s e igual a  %2.f \n",listaAluno[i].nome,listaAluno[i].media);             
            getch();

       }     
   }
//----        
     }while(opcao!=8);   
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

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,3k
×
×
  • Criar Novo...