0

Whileループに問題があります。

TotalCostをSpreeWinに表示し、Shoppingspreesを次のように表示する必要があります

あなたが獲得したあなたの支出制限はR890です

酒宴#1ではR100を使うことができます

酒宴#2ではR340を使うことができます

酒宴#3ではR450を使うことができます

  ListHead := 'Max per spree is R500.00 Max limit is R10000.00';
  lstLimit.Items.Add(ListHead);

  Count := random(20) + 1;
  MaxCost := random(10000) + 1;
  TotalCost := 0;


  SpreeWon := 'Your spending limit that you have won is  R' + IntToStr(TotalCost);
  lstLimit.Items.Add(SpreeWon);


  while TotalCost <= MaxCost do
    begin
         Prize := Random(500) + 1;
         TotalCost := TotalCost + Prize;
         ListItems := 'On spree # ' + IntToStr(Count) + ' you may spend R' + IntToStr(Prize);
         lstLimit.Items.Add(ListItems);
    end;

 Cost := 'Total prize value : R' + IntToStr(TotalCost);
 lstLimit.Items.Add(Cost);
4

1 に答える 1

4

TotalCost が 0 のときに合計コストの項目を追加し、取得したら挿入します。酒宴のカウントについては、カウントする必要があります。

  var
    SpreeCount: Integer;
    ..


  ..
  TotalCost := 0;

  // comment the below
  // SpreeWon := 'Your spending limit that you have won is  R' + IntToStr(TotalCost);
  // lstLimit.Items.Add(SpreeWon);

  SpreeCount := 0; // <--

  while TotalCost <= MaxCost do
    begin
         Prize := Random(500) + 1;
         TotalCost := TotalCost + Prize;

         Inc(SpreeCount); // <--
         // substitute SpreeCount for Count in the below
         ListItems := 'On spree # ' + IntToStr(SpreeCount) + ' you may spend R' + IntToStr(Prize);
         lstLimit.Items.Add(ListItems);
    end;

 Cost := 'Total prize value : R' + IntToStr(TotalCost);
 lstLimit.Items.Add(Cost); 

  // insert SpreeWon
  SpreeWon := 'Your spending limit that you have won is  R' + IntToStr(TotalCost); // <--
  lstLimit.Items.Insert(0, SpreeWon); // <--
于 2012-09-19T16:56:37.620 に答える