Ir ao conteúdo
  • Cadastre-se
mariafernanda

RESOLVIDO codigo c

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
#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.

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×