Pessoal,
Segue uma possível resposta do algoritmo:
Faça um algoritmo que simule a venda de mercadorias. O algoritmo deve ter um registro que represente os produtos. Cada produto tem código, nome e quantidade no estoque. Para cada venda de um produto a quantidade de itens no estoque deve ser atualizado. Mostre no final o valor total das vendas. Considere que existem 30 tipos de produtos.
Resposta:
program qr2_6;
type produto=record
cod: string;
nome:string;
qtd: integer;
valor: real;
end;
var
v:array[1..30] of produto;
i:integer;
opcao: char;
{Indica se o usuario deseja continuar comprando}
vender: boolean;
{Indica o indice do produto procurado}
ind_prod: integer;
{Indica o codigo do produto que o usuario deseja comprar}
cod_usu: string;
{Indica a quantidade do produto que o usuario deseja comprar}
qtd_usu: integer;
{Indica o valor total das vendas}
valor_total_venda:real;
begin
for i:=1 to 2 do
begin
writeln('Digite o codigo do produto');
readln(v[i].cod);
writeln('Digite o nome do produto');
readln(v[i].nome);
writeln('Digite a qtd do produto em estoque');
readln(v[i].qtd);
writeln('Digite o valor');
readln(v[i].valor);
end;
vender:=true;
{Se o produto nao for localizado essa variavel tera o valor zero}
ind_prod:=0;
while vender do
begin
writeln('Digite o codigo do produto que deseja comprar');
readln(cod_usu);
{Verifica onde esta localizado o produto no vetor}
for i:=1 to 2 do
if v[i].cod=cod_usu then
ind_prod:= i;
{Se o codigo do produto informado pelo usuario existir}
if ind_prod<> 0 then
begin
writeln('Digite a qtd do produto que deseja comprar');
readln(qtd_usu );
{Diminui a quantidade em estoque}
{Observe que o codigo nao esta verificando se existe a quantidade solicitada pelo usuario em estoque}
v[ind_prod].qtd :=v[ind_prod].qtd - qtd_usu;
valor_total_venda:= valor_total_venda + (qtd_usu * v[ind_prod].valor);
end
else
writeln('O codigo do produto nao foi localizado');
writeln('Continuar comprando?');
writeln('Digite S para continuar ou qualquer outro caracter para sair:');
readln(opcao);
if (opcao ='s') or (opcao ='S') then
vender:=true
else
vender:=false
end;
writeln('O valor total das vendas foi: ', valor_total_venda:2:2);
readln;
end.