StartprogrammingusingObjectPascal:RestaurantProgramUsingRepeatLoop: Difference between revisions
Jump to navigation
Jump to search
Onionmixer (talk | contribs) (SPOP repeat순환문을사용한식당프로그램 페이지 추가) |
Onionmixer (talk | contribs) (오류수정) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==repeat 순환문을 사용한 음식점 프로그램== | |||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Line 10: | Line 10: | ||
repeat | repeat | ||
Writeln('Welcome to Pascal Restaurant. Please select your order'); | Writeln('Welcome to Pascal Restaurant. Please select your order'); | ||
Writeln('1 | Writeln('1 - Chicken (10 Geneh)'); | ||
Writeln('2 | Writeln('2 - Fish (7 Geneh)'); | ||
Writeln('3 | Writeln('3 - Meat (8 Geneh)'); | ||
Writeln('4 | Writeln('4 - Salad (2 Geneh)'); | ||
Writeln('5 - Orange Juice (1 Geneh)'); | Writeln('5 - Orange Juice (1 Geneh)'); | ||
Writeln('6 | Writeln('6 - Milk (1 Geneh)'); | ||
Writeln('X - nothing'); | Writeln('X - nothing'); | ||
Writeln; | Writeln; | ||
Line 62: | Line 62: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
앞의 예제에서 이 기법들을 사용했습니다. | |||
<syntaxhighlight lang="pascal"> | # case 분기에 ''begin end'' 를 더하여 여러개의 구문을 하나의 구문으로 만들었습니다. | ||
# 주문의 총 가격을 더하기 위해 변수 ''Total'' 값을 0(변수에 초기값 위치)으로 초기화했습니다. 그 다음 선택한 가격을 매 순환마다 ''Total''변수에 더했습니다.<syntaxhighlight lang="pascal"> | |||
Total:= Total + Price; | Total:= Total + Price; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# 주문을 끝내기 위해 대문자 'X' 와 소문자 'x' 두가지 옵션을 넣었습니다. 두 문자는 컴퓨터 메모리에서 다르게 표현(저장)합니다. | |||
===참고=== | |||
아래 줄을 | |||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
until (Selection = 'x') or (Selection = 'X'); | until (Selection = 'x') or (Selection = 'X'); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
다음 코드처럼 줄여서 사용 할 수 있습니다 | |||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
until UpCase(Selection) = 'X'; | until UpCase(Selection) = 'X'; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
이는 Selection 변수의 값이 소문자라면 대문자로 바꿔줄 것이고, (x또는 X) 두 경우에 대해 | |||
이는 ''Selection'' 변수의 값이 소문자라면 대문자로 바꿔줄 것이고, (x또는 X) 두 경우에 대해 ''True''를 되돌릴 것입니다. | |||
[[Category:StartprogrammingusingObjectPascal]] | [[Category:StartprogrammingusingObjectPascal]] |
Latest revision as of 11:34, 4 April 2013
repeat 순환문을 사용한 음식점 프로그램
var
Selection: Char;
Price: Integer;
Total: Integer;
begin
Total:= 0;
repeat
Writeln('Welcome to Pascal Restaurant. Please select your order');
Writeln('1 - Chicken (10 Geneh)');
Writeln('2 - Fish (7 Geneh)');
Writeln('3 - Meat (8 Geneh)');
Writeln('4 - Salad (2 Geneh)');
Writeln('5 - Orange Juice (1 Geneh)');
Writeln('6 - Milk (1 Geneh)');
Writeln('X - nothing');
Writeln;
Write('Please enter your selection: ');
Readln(Selection);
case Selection of
'1': begin
Writeln('You have ordered Chicken, this will take 15 minutes');
Price:= 10;
end;
'2': begin
Writeln('You have ordered Fish, this will take 12 minutes');
Price:= 7;
end;
'3': begin
Writeln('You have ordered meat, this will take 18 minutes');
Price:= 8;
end;
'4': begin
Writeln('You have ordered Salad, this will take 5 minutes');
Price:= 2;
end;
'5': begin
Writeln('You have ordered Orange juice, this will take 2 minutes');
Price:= 1;
end;
'6': begin
Writeln('You have ordered Milk, this will take 1 minute');
Price:= 1;
end;
else
begin
Writeln('Wrong entry');
Price:= 0;
end;
end;
Total:= Total + Price;
until (Selection = 'x') or (Selection = 'X');
Writeln('Total price = ', Total);
Write('Press enter key to close');
Readln;
end.
앞의 예제에서 이 기법들을 사용했습니다.
- case 분기에 begin end 를 더하여 여러개의 구문을 하나의 구문으로 만들었습니다.
- 주문의 총 가격을 더하기 위해 변수 Total 값을 0(변수에 초기값 위치)으로 초기화했습니다. 그 다음 선택한 가격을 매 순환마다 Total변수에 더했습니다.
Total:= Total + Price;
- 주문을 끝내기 위해 대문자 'X' 와 소문자 'x' 두가지 옵션을 넣었습니다. 두 문자는 컴퓨터 메모리에서 다르게 표현(저장)합니다.
참고
아래 줄을
until (Selection = 'x') or (Selection = 'X');
다음 코드처럼 줄여서 사용 할 수 있습니다
until UpCase(Selection) = 'X';
이는 Selection 변수의 값이 소문자라면 대문자로 바꿔줄 것이고, (x또는 X) 두 경우에 대해 True를 되돌릴 것입니다.