sexta-feira, 10 de junho de 2011

Algoritmo: resolvido

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.

Pesquisar neste blog

Google