Ir ao conteúdo
  • Cadastre-se

rafaelsteigleder

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por rafaelsteigleder

  1. Boa noite pessoal!

     

    estou com um problema que nao estou conseguindo identificar onde estou errando, gostaria de ver se podem me auxiliar

    // modelo de 26.02.2014
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #include <dos.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <time.h>
    #include <ctype.h>
    #include <locale.h>
    #include <math.h>
    // rotina para podermos utilizar cor do texto (textcolor)
    // e cor do fundo (textbackground) em um único comando.
    // para chama-la de dentro do programa use  cores(x,y);
    // onde x = numero da cor do texto  (textcolor)
    //      y = numero da cor do fundo  (textbackground)
    void cores(int ForgC, int BackC){   // para chamar
         WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);;
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
         return;
    }
    // esta rotina é só para a cor do texto
    void textcolor(int newcolor){
       CONSOLE_SCREEN_BUFFER_INFO csbi;
       GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
       SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
         (csbi.wAttributes & 0xf0) | newcolor);
    }
    // rotina para podermos utilizar o comando gotoxy(linha,coluna)
    // sem precisar carregar bibliotecas não disponíveis na Feevale.
    void gotoxy(int x, int y) {
      COORD c;
      c.X = x - 1;
      c.Y = y - 1;
      SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
    }
    void imp_autor(){
      setlocale(LC_ALL, "Portuguese");
      gotoxy(27,12);
      textcolor(10);
      printf("RAFAEL HENRIQUE STEIGLEDER");
      Sleep(500);
      system("cls"); // comando para limpar o conteúdo da tela.
      textcolor(15);
    }
    
    // -------------- AQUI COMEÇA NOSSO PROGRAMA PROPRIAMENTE DITO -----------------
    //valor.estoque+valr.compra
    
    typedef struct produto{
         int cod_produto[100];
        long int qnt_produto[1000];
        int est_minimo[0];
        char nome_produto[200];
        float preco_medio;
       }Produto;
       
       //Declaração de funções.
       Produto* inserir_item(Produto* primeiro);
       Produto* listar_item(Produto* primeiro);
       Produto* entrada_item(Produto* primeiro);
       void saida_item(Produto* primeiro);
       Produto* prox;
    int main(){
        Produto *primeiro= NULL;
       char opcao;
       int prox;
        while(opcao!='s')   
       {  
         //Menu de opções 
          printf(" %c----------------------------------------------------------------------------%c\n",201,187);
          printf(" | ");printf("\t\t\t     CADASTRO DE PRODUTOS");printf("\t\t\t      |\n");
          printf(" %c----------------------------------------------------------------------------%c\n",200,188);
          printf("\t       %c----------%c\t\t\t\t       ",201,187);
          printf("\t\t\t               |   MENU   ");printf("|\t\t\t\t      \n");
          printf("   %c----------------%c--------------%c----------------%c \n",201,200,188,187);
          printf("   | <1>  Cadastrar um Produto                           |\n");
          printf("   |-----------------------------------------------------|\n");
          printf("   | <2>  Listar produtos cadastrados                    |\n");      
          printf("   |-----------------------------------------------------|\n");
          printf("   | <3>  Consultar dados de um produto                  |\n");      
          printf("   |-----------------------------------------------------|\n");
          printf("   | <4>  Processar um produto de mercadoria do estoque  |\n"); 
          printf("   |-----------------------------------------------------|\n");
          printf("   | <5>  Processar uma entrada de mercadoria do estoque |\n"); 
          printf("   |-----------------------------------------------------|\n");
          printf("   | <6>  Sair                                           |\n");
          printf("   %c-----------------------------------------------------%c",200,188);
          printf("\n\n\n\n");
          
          
          //Lendo a opcao do menu   
          fflush(stdin);
          opcao= getch(); 
          
          //Menu de opções
          switch(opcao)
          {
             case '1':   
             
                  //Inserindo os restaurantes.
                  fflush(stdin);
                  system("cls");
                  printf(" %c----------------------------------------------------------------------------%c\n",201,187);
                  printf(" | ");printf("\t\t\t          NOVO PRODUTO     ");printf("\t\t\t      |\n");
                  printf(" %c----------------------------------------------------------------------------%c\n",200,188);
                  primeiro= inserir_item(primeiro);
             getch();
             system("cls"); 
             break;
             
             case '2':   
                    
                  //Listando os restaurantes.
                  system ("cls");
                  printf(" %c----------------------------------------------------------------------------%c\n",201,187);
                  printf(" | ");printf("\t\t\t     LISTA DE PRODUTOS    ");printf("\t\t\t      |\n");
                  printf(" %c----------------------------------------------------------------------------%c\n",200,188);
                  listar_item(primeiro);
             getch();
             system("cls");
             break;
             
             case '3':   
                
                  //Excluindo restaurantes da lista.
                  system ("cls");
                  printf(" %c----------------------------------------------------------------------------%c\n",201,187);
                  printf(" | ");printf("\t\t\t        EXCLUIR CADASTROS");printf("\t\t\t      |\n");
                  printf(" %c----------------------------------------------------------------------------%c\n",200,188);
                  primeiro= entrada_item(primeiro);
             getch();
             system("cls");
             break;
             case '4':   
               
                  //Alterando restaurantes da lista. 
                  system ("cls");
                  printf(" %c----------------------------------------------------------------------------%c\n",201,187);
                  printf(" | ");printf("\t\t\t       ALTERAR CADASTRADOS");printf("\t\t\t      |\n");
                  printf(" %c----------------------------------------------------------------------------%c\n",200,188);
                  saida_item(primeiro);
             getch();
             system("cls");
             break;
             
             case '6':   
                   
                  //Artifício para sair do programa.
                  opcao='6';
             break;
             
             default:     
                  //Artifício que previne a situação de um usuário qualquer, digitar uma opcão inexistente no menu.
                  system("cls");        
     
             break; 
    }
    }
    }
    Produto* inserir_item (Produto *primeiro) { 
         
         Produto item;
         Produto *atual= primeiro;
         char identificador= 'F';
         
         //Lendo as informações do restaurante.
         printf("  Código do Produto: ",162);
         scanf("%u",&item.cod_produto);printf ("\n");
         printf("  Quantidade do Produto ",162);
         scanf("%u",&item.qnt_produto);printf ("\n");
         printf("  Estoque mínimo ",162);
         scanf("%u",&item.est_minimo);printf ("\n");
         printf("  Nome do Produto: ");
         fflush (stdin); fgets(item.nome_produto, 200, stdin); printf ("\n");
         printf("  Preço Médio ",162);
         scanf("%f",&item.preco_medio);printf ("\n");
         
         //Verificando se o cadastro já existe.
         for(atual=primeiro; atual!=NULL; atual=atual->prox){
            if(atual->cod_produto==item.cod_produto){
                identificador= 'V'; 
                break;
            }  
         }
    if(identificador!='V' && (strlen(item.nome_produto)!=1)){
             //Alocando os espaços e guardando as informações do restaurante.
             Produto* NovoProduto=(Produto*) malloc (sizeof(Produto));       
             strcpy(NovoProduto->nome_produto, item.nome_produto);
             NovoProduto->prox= primeiro;
             printf("  Cadastro realizado com sucesso.");
             printf("\n\n  PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL.");
             return NovoProduto;    
         }else{
             printf("  Cadastro inv%clido.",160);
             printf("\n\n  PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL.");
             return primeiro;
         }
    }
    void produto_item (Produto* primeiro){
         Produto* atual;//Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista.
         
         //Imprimindo os restaurantes da lista, e suas repectivas informações.
         for(atual= primeiro ; atual!= NULL; atual= atual->prox){
            printf("\n  Código do produto: ",162 );
            printf("%u", atual->cod_produto);
            printf("\n  Quantidade do Produto: ",162 );
            printf("%u", atual->qnt_produto);
            printf("\n  Estoque Mínimo: ",162 );
            printf("%u", atual->est_minimo);
            printf("\n  Nome do Produto ");
            printf("%s", atual->nome_produto);
            printf("\n  Preço médio ",162 );
            printf("%u", atual->preco_medio);
            printf("\n\n");
         }
         if(primeiro==NULL)
            printf("  Nenhum produto cadastrado.");
         printf("\n\n  PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL.");
    }


    Quanto compilo e tento rodar o programa ele da a seguinte mensagem:

    In function 'Produto* inserir_item(Produto*)':

    [Error] 'Produto' has no member named 'prox'

    [Error] 'Produto' has no member named 'prox'

    In function 'void produto_item(Produto*)':

    [Error] 'Produto' has no member named 'prox'

     

    Como posso identificar o prox?

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!