Ir ao conteúdo

Posts recomendados

Postado

Olá preciso fazer um trabalho para a faculdade, o trabalho consiste em fazer um sistema de gerencia de estoque, porém meu professor pediu que não usemos switch case para o menu 

basicamente ele quer um sistema sem menu, poderiam me ajudar ? tentei fazer os códigos mas o unico que deu certo foi usando menu e switch case !

aqui está o enunciado do trabalho

1 - Seu José tem um supermercado e precisa fazer a gerencia de seu estoque, para isso ele precisa de um sistema. Caberá a você solucionar os problemas do José e entregar a ele um sistema capaz de gerenciar até 100 produtos, o sistema deverá armazenar para cada produto: Um id único (um número inteiro), nome do produto (string), peso (em gramas) ou volume(l) do produto ( inteiro ou double) e o preço (double). O sistema deve ser capaz de adicionar um produto (opção 1), buscar por nome(opção 2), deletar (opção 3), listar produtos (opção 4). Exemplo de uso: (adicionar) 1 leite l 1.0 4.0 1 pao g 100 1 1 manteiga

Postado

 

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>

#define QTREG 30


typedef struct {
    int codigo;
    char nome[30];
    int quantidade;
    float preco;
} REGPRODUTO;

REGPRODUTO produto[QTREG];

float caixaAtual = 800.00;

int cadastrar();

void alterarEstoque(int pCodgio, int pQuantidade);

void modificarPreco(int pCodigo, float pPreco);

float venda();

void listaProduto(int pQtProduto);

void consultarSaldo();

int main(void) {

    int op = 0;

    while (op != 7) {
        printf("\n\n\t** estoque *\n\n\n");
        printf("MENU\n\n1 - Cadastrar Produto\n2 - Atualizar Estoque\n3 - Alterar preco produto");
        printf("\n4 - Realizar venda\n5 - Consultar estoque\n6 - Consultar saldo do caixa\n7 - Sair\n");
        fflush(stdout);
        scanf("%d", &op);
        fflush(stdin);
        system("cls");

        if(op) {
            int qtProduto;
            float lucro;
            
        }else{
            qtProduto = cadastrar();
            }
                
            
            else if {
                int pCodigo, pQuantidade;
                printf("Digite o código do produto que deseja atualizar o estoque:");
                fflush(stdout);
                scanf("%d", &pCodigo);
                fflush(stdin);
                printf("Deseja alterar quantidade do produto: %s - quantidade: %d \n", produto[pCodigo].nome, produto[pCodigo].quantidade);
                printf("Nova quantidade:");
                fflush(stdout);
                scanf("%d", &pQuantidade);
                fflush(stdin);
                system("pause");
                alterarEstoque(pCodigo, pQuantidade);
            }
            
            
            else if {
                int pCodigo;
                float pPreco;
                printf("Digite o código do produto que deseja modificar o preco:");
                fflush(stdout);
                scanf("%d", &pCodigo);
                fflush(stdin);
                printf("Deseja modificar o preco do produto: %s - preco: %0.2f \n", produto[pCodigo].nome, produto[pCodigo].preco);
                printf("Novo preco:");
                fflush(stdout);
                scanf("%f", &pPreco);
                fflush(stdin);
                system("pause");
                modificarPreco(pCodigo, pPreco);
            }
                
            
                if(lucro = venda){
                caixaAtual = caixaAtual + lucro;
        
              }else{
              listaProduto(qtProduto);
              }
            
                if(consultarSaldo){
                }else{
                printf("Opcão inválida");
                fflush(stdout);
            

        }
    }


    system("pause");
    return 0;

}

int cadastrar() {
    char opSub;
    int cont = 0, qtProdutoCad = 0;

    do {
        produto[cont].codigo = cont;
        fflush(stdin);
        printf("Digite o nome do produto:");
        fflush(stdout);
        gets(produto[cont].nome);
        fflush(stdin);
        printf("Digite a quantidade:");
        fflush(stdout);
        scanf("%d", &produto[cont].quantidade);
        fflush(stdin);
        printf("Digite o preco:");
        fflush(stdout);
        scanf("%f", &produto[cont].preco);
        fflush(stdin);
        caixaAtual = caixaAtual - produto[cont].preco;
        qtProdutoCad = qtProdutoCad + cont;
        cont++;


        printf("Deseja cadastrar um novo produto sim(s) ou não(n)?");
        fflush(stdout);
        scanf("%c", &opSub);
        fflush(stdin);
    } while (opSub == 's' || opSub == 'S');
    return qtProdutoCad;
}

void alterarEstoque(int pCodigo, int pQuantidade) {
    produto[pCodigo].quantidade = pQuantidade;
}

void modificarPreco(int pCodigo, float pPreco) {
    produto[pCodigo].preco = pPreco;
}


float venda() {
    int pCodigo, qtd;
    float lucro = 0;
    char a;
    do{
        printf("Informe o código do produto: ");
        fflush(stdout);
        scanf("%d", &pCodigo);
        fflush(stdin);
        if (produto[pCodigo].quantidade < 0) {

            printf("Produto indisponivel\n");
            fflush(stdout);
        } else {
            printf("Informe a quantidade: ");
            fflush(stdout);
            scanf("%d", &qtd);
            fflush(stdin);
            printf("\tProduto: %s - \tQtdade: %d - \tPreço: %1.2f - \tSubTotal: %1.2f\n",
                    produto[pCodigo].nome, qtd, produto[pCodigo].preco, produto[pCodigo].preco * qtd);
            fflush(stdout);
            lucro += produto[pCodigo].preco * qtd;
            produto[pCodigo].quantidade -= qtd;
        }
        printf("Informar novo item para a venda? (s/n) ");
        fflush(stdout);
        scanf("%c", &a);
    } while (a != 'n');


    printf("\t\t\t Total: %1.2f", lucro);
    fflush(stdout);
    return lucro;
}

void consultarSaldo() {
    printf("Saldo atual em caixa: %1.2f", caixaAtual);
    fflush(stdout);
}

void listaProduto(int pQtProduto) {
    int i, qtProduto;
    qtProduto = pQtProduto;
    for (i = 0; i < qtProduto; i++) {
        printf("\tCódigo - %d \tNome - %s \tQuantidade - %d \n", produto.codigo, produto.nome, produto.quantidade);
    }
    fflush(stdout);
}


 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...