2014-11-06 3 views
2

그래서 저는 사용자에게 값을 입력하도록 요청하는 프로그램을 작성했습니다. 사용자가 -99를 입력하여 코드를 종료하면 모든 숫자와 평균의 전체 값을 반환한다고 가정하지만 I 내 값은 여기 내 코드GML 사용자 입력 저장

{ 
var user_Input;<br> 
var output_msg;<br> 
var count;<br> 
var highest;<br> 
var value;<br> 
var total;<br> 

count = 0; 
do 
    { 
    user_Input = get_integer("Enter a number To add To the List(Enter -99 to leave)",-99); 
    if (user_Input == (-99)){ 
     continue} 
     count += 1; 
     value = 0; 
     value = value + user_Input; 
     average = value/count; 
     } 

    until(user_Input == (-99)){ 
    count -=1; 
    user_Input = user_Input + 99; 
    output_msg=("#Numbers Entered: " + string(count) + "##Total value of numbers: " +      string(highest) + "## Average:" + string(average));` 
    } 
    show_message(output_msg); 
    } 

그것이 이전을 무시하지 않도록 내가 어떻게해야합니까입니다 ... 이전에 의해 overided지고 계속 난처한 상황에 빠진거야?

답변

1

while 루프가 실행될 때마다 값을 0으로 설정하기 때문입니다. do until 루프를 시작하기 전에

value = 0; 

을 설정하십시오. 아마도 바로이 같은

count = 0; 

후 :

count = 0; 
value = 0; 
do{ 
    user_Input = get_integer("Enter a number To add To the List(Enter -99 to leave)",-99); 
    if (user_Input == (-99)){continue} 
    count += 1; 
    value = value + user_Input; 
    average = value/count; 
    } 
+0

그것을 해결 감사합니다 – user3215990