Ir ao conteúdo
  • Cadastre-se

C Trabalho Faculdade SIstema estoque


Gabriel Hijazi

Posts recomendados

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

Link para o comentário
Compartilhar em outros sites

 

#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);
}


 

Link para o comentário
Compartilhar em outros sites

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