Apostila de Vetores - Desafio 2
(Atualizado para incluir estrutura de verificação de código de mercadoria incorreto)2. Em um sistema para o controle de estoque de mercadorias de uma loja são dados os códigos das mercadorias e as respectivas quantidades existentes. Elabore um programa para atualização do estoque, tal que:
- Seja lido estoque inicial (máximo 100 mercadorias). Pergunte ao usuário se ainda existem mercadorias a serem lidas.
- Sejam lidos os pedidos dos clientes, constituídos, cada um do número do cliente, código da mercadoria e quantidade desejada(variáveis simples). Obs. a condição de parada para a leitura dos pedidos dos clientes é perguntar ao usuário se ainda existe pedidos.
- Seja verificado, para cada pedido, se ele pode ser integralmente atendido. Em caso negativo, Seja impresso o número do cliente e a mensagem “NÃO TEMOS A MERCADORIA EM ESTOQUE SUFICIENTE”
- Seja atualizado estoque após cada operação
- Seja listado estoque final
- Leitura do estoque inicial
- Leitura do pedido do cliente
- Verificação da quantidade no estoque
- Atualização do estoque
- Listagem do estoque final
Algoritmo
Programa ControleEstoque
Declare mercadoria, estoque: vetor [1.. 100] de char
Declare i, q, cliente, mercadoriapedido, quantidadepedido: inteiro
Declare op1, op2, codigocerto: caracter
Inicio
q ← 0
op1 ← 's'
Enquanto (op1 = 's') Faça {Leitura do estoque inicial}
Inicio_enquanto
Leia (mercadoria[q])
Leia (estoque[q])
q ← q + 1
Escreva ('Existem outras mercadorias? s/n')
Leia (op1)
Fim_enquanto
op2 ← 's'
Enquanto (op2 = 's') Faça {Leitura do pedido do cliente}
Inicio_enquanto
codigocerto ← 'n'
Leia (cliente)
Leia (cliente)
Leia (mercadoriapedido)
Para i ← até q Faça {Verificação do estoque}
Inicio_para
Se (mercadoriapedido = mercadoria[i])
Entao codigocerto ← 's'
Leia (quantidadepedido)
Se (quantidadepedido <= estoque[i]) {Atualização de estoque}
Leia (quantidadepedido)
Se (quantidadepedido <= estoque[i]) {Atualização de estoque}
Entao estoque[i] ← estoque[i] - quantidadepedido
Senao Escreva (cliente, 'Nao temos a mercadoria em estoque')
Fim_para
Se (codigocerto = 'n') {Verificacao de codigo inexistente}
Entao Escreva ('Codigo inexistente')
Se (codigocerto = 'n') {Verificacao de codigo inexistente}
Entao Escreva ('Codigo inexistente')
Escreva ('Existem mais pedidos? s/n')
Leia (op2)
Fim_enquanto
Para i ← até q Faça {Listagem do estoque final}
Incio_para
Escreva (mercadoria[i], " : ", estoque[i])
Fim_para
Fim
Código compilado no Dev-C++ 4.9.9.2
#include <iostream>
#include <stdio.h>
#include <stdio.h>
using namespace std;
main()
{
int mercadoria[100], estoque[100];
int i, q, cliente, mercadoriapedido, quantidadepedido;
char op1, op2, codigocerto;
q = 0;
op1 = 's';
cout << ">>>>>>>>>> PROGRAMA CONTROLE DE ESTOQUE <<<<<<<<<<" << "\n\n\n";
cout << "CADASTRO DE ESTOQUE" << "\n";
while (op1 == 's') //leitura do estoque inicial
{
cout << "\n" << "Codigo da mercadoria: ";
cin >> mercadoria[q];
cout << "Quantidade da mercadoria: ";
cin >> estoque[q];
q = q + 1;
cout << "\n" << "Existem outras mercadorias?(s/n) ";
cin >> op1;
}
system("cls");
op2 = 's';
while (op2 == 's') //leitura do pedido do cliente
{
codigocerto = 'n';
codigocerto = 'n';
cout << ">>>>>>>>>> PROGRAMA CONTROLE DE ESTOQUE <<<<<<<<<<" << "\n\n\n";
cout << "CADASTRO DE PEDIDOS " << "\n\n";
cout << "Numero do cliente: ";
cin >> cliente;
cout << "\n" << "Codigo da mercadoria: ";
cin >> mercadoriapedido;
for (i = 0; i < q; i++) //verificacao da quantidade no estoque
{
if (mercadoriapedido == mercadoria[i])
{
codigocerto = 's';
cout << "Quantidade desejada: "; //leitura da quantidade
codigocerto = 's';
cout << "Quantidade desejada: "; //leitura da quantidade
cin >> quantidadepedido;
if (quantidadepedido <= estoque[i])
{
estoque[i] = estoque[i] - quantidadepedido; //atualizacao de estoque
}
else
{
cout << "\n" << "Cliente " << cliente;
cout << " : NAO TEMOS A MERCADORIA " << mercadoriapedido << " EM ESTOQUE SUFICIENTE" << "\n";
}
}
}
if (codigocerto == 'n') //verificacao de codigo de mercadoria inexistente
{
cout << "\n" << "CODIGO DE MERCADORIA INEXISTENTE" << "\n";
}
if (codigocerto == 'n') //verificacao de codigo de mercadoria inexistente
{
cout << "\n" << "CODIGO DE MERCADORIA INEXISTENTE" << "\n";
}
cout << "\n" << "Existem mais pedidos?(s/n) ";
cin >> op2;
system("cls");
}
cout << ">>>>>>>>>> PROGRAMA CONTROLE DE ESTOQUE <<<<<<<<<<" << "\n\n\n";
cout << "ESTOQUE FINAL" << "\n\n";
for (i = 0; i < q; i++) //listagem do estoque final
{
cout << "Mercadoria " << mercadoria[i] << " : " << estoque[i] << " unidades" << endl;
}
cout << "\n";
system("PAUSE");
}
Nenhum comentário:
Postar um comentário