2012-09-18 2 views
1

For 루프에 문제가 있습니다. 나는 쇼핑 sprees와 금액의 무작위 금액을 계산하지만 아래에 순서대로 그들을 표시해야합니다. 그것도 sprees의 양을 가지고 그것을 표시해야합니다.Delphi 2010 for 반복 횟수

현재 총 spree를 0으로 표시하고 임의로 20 개 sprees 만 표시합니다.

당신은 마구 # 2에 R100

지출 할 수 있습니다 지출 5 월 3 일 쇼핑 sprees 마구 # 1에

을 총 승리 지출 할 수있다 마구 # 3에 R341

R451

총액 : = 0;

합계 : 0;

ListHead := 'Max per spree is R500.00 Max number of sprees 20'; 
lstNumber.Items.Add(ListHead); 

    SpreeWon := 'You have won ' + inttostr(Sum) + ' shopping sprees'; 
    lstNumber.Items.Add(SpreeWon); 

for Count := 0 to 20 do 
begin 
    Sum := Random(Count); 
    Prize := Random(500) + 1; 
    ListItems := 'On spree # ' + inttostr(Sum) + ' you may spend R' + inttostr(Prize); 
    lstNumber.Items.Add(ListItems); 
    TotalCost := TotalCost + Prize; 
end; 
begin 
    Cost := 'Total prize value : R' + inttostr(TotalCost); 
    lstNumber.Items.Add(Cost); 
end; 
+0

을 :이 태그하지 질문을 표시 할 것을 요구하지만, 당신이에 대한 답변을 원하는 얼마나 많은 질문에 언급

더이 대신 같은 것을 시도 창틀. 어쩌면 나는 더 명확하게해야만했었다. ( –

답변

2

귀하의 요구 사항이 요구하는대로 코드가 수행되지 않습니다. 임의로 sprees가 아닌 20 개의 sprees를 생성하도록 하드 코딩했기 때문에 20 개의 spree를 표시하고 있습니다. 내가 링크를 게시 그 이유는 @Ken

ListHead := 'Max per spree is R500.00 Max number of sprees 20'; 
lstNumber.Items.Add(ListHead); 

Count := Random(20) + 1; 
TotalCost := 0; 

SpreeWon := 'You have won ' + IntToStr(Count) + ' shopping sprees'; 
lstNumber.Items.Add(SpreeWon); 

for I := 1 to Count do 
begin 
    Prize := Random(500) + 1; 
    TotalCost := TotalCost + Prize; 
    ListItems := 'On spree # ' + IntToStr(I) + ' you may spend R' + IntToStr(Prize); 
    lstNumber.Items.Add(ListItems); 
end; 

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

Remy. 고맙다. – user1291092