Ir ao conteúdo
  • Cadastre-se

codigo c


mariafernanda
Ir à solução Resolvido por vangodp,

Posts recomendados

Crie um procedimento para inicializar a lista de produtos.  Após a criação e inicialização do vetor, crie um menu com as seguintes opções:

 

  1. Inserir
  1. Remover
  1. Listar

 


Já fiz tudo que foi possível não consigo realizar esta tarefa principalmente estrutura remover.

 

se alguém puder me ajudar com este código fico grata.

Link para o comentário
Compartilhar em outros sites

  • Solução
#include <stdio.h>#include <string.h>#define N_PRODUTOS 5typedef struct{    char nome[20];    int codigo;    float preco;    int estoque;}Produto;void init(Produto *);void novoProduto(Produto *);void removerProduto(Produto *);void listarProduto(Produto *);void lerDados( Produto *, int );void flush_in();int menu();int main() {    Produto lista[N_PRODUTOS] = {0};    init ( lista );    int continuar = 1;    while ( continuar ) {        switch ( menu() ) {            case 1: novoProduto ( lista );    break;            case 2: removerProduto ( lista ); break;            case 3: listarProduto ( lista );  break;            case 0: continuar = 0;            break;            default:                          break;        }    }        getchar();    return 0;}void init(Produto *pLista){    int i;    for( i=0;i<N_PRODUTOS;i++ ){        pLista[i].codigo = -1;    }    printf("Lista inicializada!!\n\n");}void novoProduto(Produto *pLista){    int i=0, continuar = 1;    while ( i<N_PRODUTOS && continuar == 1 ){        if ( pLista[i].codigo == -1){            lerDados( &pLista[i], 1 );            continuar = 0;        }        i++;    }    }void removerProduto(Produto *pLista){    int cod, encontrado = 0;    printf("Cod producto a remover?: ");    scanf("%d%*c", &cod);    int i=0, continuar = 1;    while ( i<N_PRODUTOS  && continuar == 1  ){        if ( pLista[i].codigo == cod){            pLista[i].codigo = -1;            strcpy( pLista[i].nome, "" );            pLista[i].estoque = 0;            pLista[i].preco = 0;            encontrado = 1;            continuar = 0;        }        i++;    }         if ( encontrado != 1 ){        printf("Produto Nao Encontrado.\n");    }else{        printf("Produto Removido.\n");    }}void listarProduto(Produto *pLista){    int i;        printf ( "%3s  %-20s %s %3.2s\n", "Cod", "Nome", "   Estoque", "R$" );    for( i=0;i<N_PRODUTOS;i++ ){        if ( pLista[i].codigo != -1 ) {            printf ( "%4.3d ", pLista[i].codigo );            printf ( "[%-21.20s] ", pLista[i].nome );            printf ( "%.5d", pLista[i].estoque );            printf ( "    %-3.2f\n", pLista[i].preco );        }    }}void lerDados( Produto *pProduto, int dadosCompletos ){    printf("Numero do produto: ");    scanf("%d%*c", &pProduto->codigo);        if ( dadosCompletos == 1 ){        printf("Nome do produto: ");        scanf("%20[^\n]s", pProduto->nome);        flush_in();        printf("Estoque do produto: ");        scanf("%d", &pProduto->estoque);        flush_in();          printf("Preco do produto: ");        scanf("%f", &pProduto->preco);        flush_in();      }}void flush_in() {    int ch;    while ( ( ch = fgetc ( stdin ) ) != EOF && ch != '\n' ) {}}int menu(){    int op;    printf("***Menu***\nEscolha uma opcao\n\n");    printf("1-Inserir produto novo\n");    printf("2-Remover produto\n");      printf("3-Listar produtos\n");      printf("0-Sair\n");    scanf("%d%*c", &op);    return op;                  }

Mais ou menos ja esta, mude o numero de produtos a 100 e faça as mudanças menores.

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