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;
}
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;
}
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;
}
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar