Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
mariafernanda

erro na função remover produto

Recommended Posts

#include <stdio.h>#include <stdlib.h>#define max 100//Defininddo as Variáveis Globais.int i;//Estrutura de Voo.struct produto{       int codigo_produto[max];       char nome_produto[max][8];       char preco_produto[max][5];       char estoque[max][50];       };//Cabeçalho das Funções.void menu();void cadastrarProd();void ixibirProd();void removerProd();struct produto *ponteiro;//Função de MENU.void menu(){     int opMenu;       printf("\n\n\t_________________________");       printf("\n\t       MENU PRINCIPAL");       printf("\n\t------------------------\n\n");       printf("\n\t1- CADASTRAR PRODUTO.");       printf("\n\t2- EXIBIR PRODUTO.");       printf("\n\t3- REMOVER PRODUTO.");       printf("\n\t4- SAIR.\n\n");       printf("\n\tOPCAO: ");       scanf("%d",&opMenu);       system("cls");       switch (opMenu){           case 1:                cadastrarProd();                break;                case 2:                     ixibirProd();                     break;                     case 3:                          removerProd();                          break;                          case 4:                               break;                default:                        printf("\n\tOPCAO INVALIDA, TENTE NOVAMENTE\n\n");                        system("pause");                        system("cls");                        menu();                        break;               }       }//Função de Cadastro de Voo.void cadastrarProd(){     int opCadastro;     do{         ponteiro = (struct produto *)malloc (sizeof(struct produto));                      printf("\n\n\t________________________");                      printf("\n\t   MENU CADASTRAR PRODUTO.");                      printf("\n\t------------------------\n\n");                      printf("\n\tCODIGO DO PRODUTO: ");                      scanf("%d",&ponteiro->codigo_produto[i]);                      printf("\tNOME DO PRODUTO: ");                      scanf("%s",ponteiro->nome_produto[i]);                      printf("\tVALOR DO PRODUTO: ");                      scanf("%s",ponteiro->preco_produto[i]);                      printf("\tQUANTIDADE EM ESTOQUE: ");                      scanf("%s",ponteiro->estoque[i]);                      system("cls");                      printf("\n\n\t1- CADASTRAR OUTRO PRODUTO");                      printf("\n\t2- VOLTAR AO MENU\n\n");                      printf("\tOPCAO: ");                      scanf("%d",&opCadastro);                      system("cls");                      }                      while(opCadastro!=2);                      system("cls");                      menu();                      }//Função de Consulta Voo.void ixibirProd(){     int opConsultar;                     printf("\n\n\t________________________");                     printf("\n\t   MENU CONSULTAR PRODUTO.");                     printf("\n\t------------------------\n\n");                     printf("\n\tDIGITE O NUMERO DO PRODUTO\n");                     printf("\n\tNUMERO DO PRODUTO: ");                     scanf("%d",&opConsultar);                     if(ponteiro->codigo_produto[i]!=opConsultar){                     printf("\n\tREGISTRO DE PRODUTO NAO ENCONTRADO");                     printf("\n\t      TENTE NOVAMENTE\n\n");                     system("pause");                     system("cls");                     ixibirProd();                     }                     else{                          printf("\n\n\tNUMERO DO PRODUTO ENCONTRADO!!!\n\n");                          printf("\n\t------------------------------------------------");                          printf("\n\tNUMERO DO PRODUTO: %d ",ponteiro->codigo_produto[i]);                          printf("\n\tDATA DO PRODUTO: %s ",ponteiro->nome_produto[i]);                          printf("\n\tHORARIO DO PRODUTO: %s ",ponteiro->preco_produto[i]);                          printf("\n\tAEROPORTO DE SAIDA: %s ",ponteiro->estoque[i]);                          printf("\n\t------------------------------------------------\n\n");                          printf("\n\t      TECLE ENTER PARA RETORNAR AO MENU...\n\n\n");                          system("pause");                          system("cls");                          menu();                          }                     }       //Função de Remover Voo.void removerProd(){                    printf("\n\n\t________________________");                    printf("\n\t   MENU REMOVER PRODUTO.");                    printf("\n\t------------------------\n\n");                    printf("\n\tDIGITE O NUMERO DO PRODUTO QUE DESEJA REMOVER");                    printf("\n\tNUMERO DO PRODUTO: ");                    scanf("%d",ponteiro->codigo_produto[i]);                    }int main(int argc, char *argv[]){     menu(); //Chamando função de MENU.  system("PAUSE");  return 0;}

erro na funcao para remover.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maria fernanda, reveja sua maneira de armazenar seus produtos, pois com apenas 1 ponteiro, se você cadastrar muitos produtos, vai acabar perdendo o endereço deles.

faz um teste, cadastra 10 produtos, depois tenta exibir 5 deles.

Se você não tiver que fazer alocação dinâmica, use um vetor da sua struct, se tiver que usar alocação dinâmica, use uma lista para não perder o endereço dos produtos.

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






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

×