Buscar

Alguém me ajuda a fazer um código em C para um estoque de uma loja???

💡 3 Respostas

User badge image

Andre Smaira

Como o estoque não foi definido, faremos um exemplo em que necessitamos de um estoque que seja possível adicionar produtos, retirar e verificar quais produtos existem.


Com isso, devemos criar uma struct que armazene as características do produto, como código e quantidade.

#include <stdio.h>

typedef struct {

int codigo;

int quantidade;

}produtos;

produtos produto[100];


Com isso, iniciaremos o algoritmo declarando algumas variáveis que serão necessárias ao decorrer do programa.

int main()

{

int opcao,n;

int flag=0,quantidade;

int cod_produto;

int k=0;


Tendo em vista que queremos o vetor de struct sem “sujeira“ da memória, atribuiremos 0 as todas as posições inicialmente, assim, as mesmas estão vazias.

for(int i=0;i<100;i++){

produto[i].codigo=0;

}


Assim, criaremos um loop para que o acesso ao estoque seja finalizado apenas quando o usuário determinar a sua saída.

while(k<1){

printf("\n1- Verificar Estoque\n2- Adicionar a Estoque\n3-Retirar de estoque\n4-Sair");

scanf("%i",&opcao);

Assim, verificaremos a opções através do comando switch e inicialmente mostraremos ao usuário a situação do estoque, os produtos e suas quantidades.

switch(opcao){

case 1:

for(int i=0;i<100;i++){

if(produto[i].codigo!=0){

printf("\nCodigo:%i Quantidade: %i",produto[i].codigo,produto[i].quantidade);

flag=1;

}

}

If(flag!=1){

Printf(“Não existem produtos cadastrados”);

}

flag=0;

break;


Já na opção 2, devemos adicionar produtos, assim verificamos se o mesmo já foi cadastrado, caso já tenha sido apenas somamos a nova quantidade, caso não exista verificaremos uma posição vazia no struct para salva-lo.

case 2:

printf("\nCodigo do produto:");

scanf("%i",&cod_produto);

printf("\nDIgite a quantidade que deseja adicionar:");

scanf("%i",&quantidade);

for(int i=0;i<100;i++){

if(produto[i].codigo==cod_produto){

flag =1; //produto já existe

produto[i].quantidade = produto[i].quantidade +quantidade;

}

}

if(flag!=1){ //produto não existe

for(int i=0;i<100;i++){

if(produto[i].codigo == 0){

produto[i].codigo = cod_produto;

produto[i].quantidade = quantidade;

printf("\nNovo produto adicionado.");

i=110;

}

}

}

flag=0;

break;

Já no terceiro caso, verificaremos se o produto existe e se é possível retirar a quantidade solicitada, caso o produto não exista é enviado uma mensagem ao usuário.

case 3:

printf("\nCodigo do produto:");

scanf("%i",&cod_produto);

printf("\nDIgite a quantidade que deseja retirar:");

scanf("%i",&quantidade);

for(int i=0;i<100;i++){

if(produto[i].codigo==cod_produto){

flag=1;

if(produto[i].quantidade-quantidade>=0){

produto[i].quantidade = produto[i].quantidade-quantidade;

printf("\nProduto retirado");

}else{

printf("Quantidade insuficiente em estoque");

}

}

}

if(flag!=1){

printf("Produto não encontrado");

}

flag=0;

break;


Na quarta opção devemos apenas alterar o valor de k, já que o loop é dependente do mesmo, assim teremos que:

case 4:

k=2;

break;


Por fim, devemos emitir uma mensagem caso a opção solicitada não seja válida, e finalizar o algoritmo.

default:

printf("\nOpção invalida\n");

}

}

return 0;

}

0
Dislike0
User badge image

Andre Smaira

Como o estoque não foi definido, faremos um exemplo em que necessitamos de um estoque que seja possível adicionar produtos, retirar e verificar quais produtos existem.


Com isso, devemos criar uma struct que armazene as características do produto, como código e quantidade.

#include <stdio.h>

typedef struct {

int codigo;

int quantidade;

}produtos;

produtos produto[100];


Com isso, iniciaremos o algoritmo declarando algumas variáveis que serão necessárias ao decorrer do programa.

int main()

{

int opcao,n;

int flag=0,quantidade;

int cod_produto;

int k=0;


Tendo em vista que queremos o vetor de struct sem “sujeira“ da memória, atribuiremos 0 as todas as posições inicialmente, assim, as mesmas estão vazias.

for(int i=0;i<100;i++){

produto[i].codigo=0;

}


Assim, criaremos um loop para que o acesso ao estoque seja finalizado apenas quando o usuário determinar a sua saída.

while(k<1){

printf("\n1- Verificar Estoque\n2- Adicionar a Estoque\n3-Retirar de estoque\n4-Sair");

scanf("%i",&opcao);

Assim, verificaremos a opções através do comando switch e inicialmente mostraremos ao usuário a situação do estoque, os produtos e suas quantidades.

switch(opcao){

case 1:

for(int i=0;i<100;i++){

if(produto[i].codigo!=0){

printf("\nCodigo:%i Quantidade: %i",produto[i].codigo,produto[i].quantidade);

flag=1;

}

}

If(flag!=1){

Printf(“Não existem produtos cadastrados”);

}

flag=0;

break;


Já na opção 2, devemos adicionar produtos, assim verificamos se o mesmo já foi cadastrado, caso já tenha sido apenas somamos a nova quantidade, caso não exista verificaremos uma posição vazia no struct para salva-lo.

case 2:

printf("\nCodigo do produto:");

scanf("%i",&cod_produto);

printf("\nDIgite a quantidade que deseja adicionar:");

scanf("%i",&quantidade);

for(int i=0;i<100;i++){

if(produto[i].codigo==cod_produto){

flag =1; //produto já existe

produto[i].quantidade = produto[i].quantidade +quantidade;

}

}

if(flag!=1){ //produto não existe

for(int i=0;i<100;i++){

if(produto[i].codigo == 0){

produto[i].codigo = cod_produto;

produto[i].quantidade = quantidade;

printf("\nNovo produto adicionado.");

i=110;

}

}

}

flag=0;

break;

Já no terceiro caso, verificaremos se o produto existe e se é possível retirar a quantidade solicitada, caso o produto não exista é enviado uma mensagem ao usuário.

case 3:

printf("\nCodigo do produto:");

scanf("%i",&cod_produto);

printf("\nDIgite a quantidade que deseja retirar:");

scanf("%i",&quantidade);

for(int i=0;i<100;i++){

if(produto[i].codigo==cod_produto){

flag=1;

if(produto[i].quantidade-quantidade>=0){

produto[i].quantidade = produto[i].quantidade-quantidade;

printf("\nProduto retirado");

}else{

printf("Quantidade insuficiente em estoque");

}

}

}

if(flag!=1){

printf("Produto não encontrado");

}

flag=0;

break;


Na quarta opção devemos apenas alterar o valor de k, já que o loop é dependente do mesmo, assim teremos que:

case 4:

k=2;

break;


Por fim, devemos emitir uma mensagem caso a opção solicitada não seja válida, e finalizar o algoritmo.

default:

printf("\nOpção invalida\n");

}

}

return 0;

}

0
Dislike0
User badge image

RD Resoluções

Como o estoque não foi definido, faremos um exemplo em que necessitamos de um estoque que seja possível adicionar produtos, retirar e verificar quais produtos existem.


Com isso, devemos criar uma struct que armazene as características do produto, como código e quantidade.

#include <stdio.h>

typedef struct {

int codigo;

int quantidade;

}produtos;

produtos produto[100];


Com isso, iniciaremos o algoritmo declarando algumas variáveis que serão necessárias ao decorrer do programa.

int main()

{

int opcao,n;

int flag=0,quantidade;

int cod_produto;

int k=0;


Tendo em vista que queremos o vetor de struct sem “sujeira“ da memória, atribuiremos 0 as todas as posições inicialmente, assim, as mesmas estão vazias.

for(int i=0;i<100;i++){

produto[i].codigo=0;

}


Assim, criaremos um loop para que o acesso ao estoque seja finalizado apenas quando o usuário determinar a sua saída.

while(k<1){

printf("\n1- Verificar Estoque\n2- Adicionar a Estoque\n3-Retirar de estoque\n4-Sair");

scanf("%i",&opcao);

Assim, verificaremos a opções através do comando switch e inicialmente mostraremos ao usuário a situação do estoque, os produtos e suas quantidades.

switch(opcao){

case 1:

for(int i=0;i<100;i++){

if(produto[i].codigo!=0){

printf("\nCodigo:%i Quantidade: %i",produto[i].codigo,produto[i].quantidade);

flag=1;

}

}

If(flag!=1){

Printf(“Não existem produtos cadastrados”);

}

flag=0;

break;


Já na opção 2, devemos adicionar produtos, assim verificamos se o mesmo já foi cadastrado, caso já tenha sido apenas somamos a nova quantidade, caso não exista verificaremos uma posição vazia no struct para salva-lo.

case 2:

printf("\nCodigo do produto:");

scanf("%i",&cod_produto);

printf("\nDIgite a quantidade que deseja adicionar:");

scanf("%i",&quantidade);

for(int i=0;i<100;i++){

if(produto[i].codigo==cod_produto){

flag =1; //produto já existe

produto[i].quantidade = produto[i].quantidade +quantidade;

}

}

if(flag!=1){ //produto não existe

for(int i=0;i<100;i++){

if(produto[i].codigo == 0){

produto[i].codigo = cod_produto;

produto[i].quantidade = quantidade;

printf("\nNovo produto adicionado.");

i=110;

}

}

}

flag=0;

break;

Já no terceiro caso, verificaremos se o produto existe e se é possível retirar a quantidade solicitada, caso o produto não exista é enviado uma mensagem ao usuário.

case 3:

printf("\nCodigo do produto:");

scanf("%i",&cod_produto);

printf("\nDIgite a quantidade que deseja retirar:");

scanf("%i",&quantidade);

for(int i=0;i<100;i++){

if(produto[i].codigo==cod_produto){

flag=1;

if(produto[i].quantidade-quantidade>=0){

produto[i].quantidade = produto[i].quantidade-quantidade;

printf("\nProduto retirado");

}else{

printf("Quantidade insuficiente em estoque");

}

}

}

if(flag!=1){

printf("Produto não encontrado");

}

flag=0;

break;


Na quarta opção devemos apenas alterar o valor de k, já que o loop é dependente do mesmo, assim teremos que:

case 4:

k=2;

break;


Por fim, devemos emitir uma mensagem caso a opção solicitada não seja válida, e finalizar o algoritmo.

default:

printf("\nOpção invalida\n");

}

}

return 0;

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais