2014-11-09 4 views
0

루프를 사용하고 13 번 표시하는 프로그램에서 작업했습니다. 여기 내 코드는게임 메이커 언어 - 루프

{ 
var count; 
var user_Input; 
var output_msg; 
var cel; 
count = 0; 

    do 
     { 
     user_Input = get_integer("Temperature conversion",""); 
     count = count + 1; 
     cel = user_Input * 9/5 +32; 
     user_Input = user_Input +10; 
     output_msg =(string(count) + "Celsius" + string(user_Input) + " = Farenheit " + string(cel)); 
     show_message(output_msg); 
     } 
     until (count == 13) 

} 

그것은 루프 내가 예를 들어 그것의 마지막에서 열을 추가한다고 가정 루프마다 10을 입력하면 대신도 한 번에 모든 13을 보여주는의 Enter 키를 누르마다 표시입니다 무엇을 고리.

예 : 1. 섭씨 10 = 화씨 (답은 여기)
..... 2. 섭씨 20 = 화씨 (대답은 여기)
...... 13. Celsuis 130 = 화씨 ""
어떤 사람은 저를 통해 걸어 것이라고 나를 도울 수 있다면 큰

+0

루프 밖에서'user_Input = get_integer (...);'줄을 이동하십시오 – chaosmasttter

답변

1

당신은 무엇을해야 할 것이다 것은 : 외부 루프

  1. 이동 대화 상자 show_message, 잘, Do 루프 이후에 정확합니다. 그런 다음 루프가 끝날 때만 표시되고, get_integer 대화 상자는 물론 사용자가 값을 입력 할 때까지 기다립니다.
  2. get_integer도 루프 바로 바깥으로 이동하십시오. 사용자는 값을 한 번 입력하면됩니다. 당신은 루프 내부에 넣어 경우 줄 바꿈 "#"으로, 자체output_msg에 포함 된 표시 할
  3. 메시지에 결과 계산을 추가 ... 값을 13 번 입력해야합니다 결국.

명확성을 위해
{ 
    var count = 0; 
    var user_Input; 
    var output_msg = ""; 
    var cel; 
    count = 0; 

    user_Input = get_integer("Temperature conversion",""); 
    do 
     { 
     count = count + 1; 
     cel = user_Input * 9/5 + 32; 
     user_Input = user_Input + 10; 
     output_msg = (output_msg + string(count) + ". Celsius" + string(user_Input) + " = Farenheit " + string(cel) + "#"); 
     } 
    until (count == 13) 
    show_message(output_msg); 
} 

, 나는 몇 가지 변수의 초기 값을 초기화했습니다.

문제는 코드 문제가 아니며, 논리적 인 문제입니다 (줄 바꿈 제외). 루프 내의 모든 항목 (Do, While)이 반복 될 때마다 실행됩니다. 무언가를 실행하고 싶지 않다면 루프 밖에서 (이전/이후) 루프를 이동하거나 조건 확인을 사용해야합니다.

+0

정말 고마워요! – user3215990