2013-04-08 4 views
3

사용자는 정의 된 열거 형의 값에 해당하는 정수를 입력합니다. 그 값을 변수 t에 할당해야합니다. 이것은 내가 생각한 것입니다.파스칼에서 열거 형을 '읽는'가장 간단한 방법은 무엇입니까?

type test = (red,green,blue,fish); 
var t:test; 
    n,i:integer; 
begin 
    readln(n); 
    t:=red; 
    for i:=1 to n do 
    t:=succ(t); 
end. 

나는 작업을 과도하게 복제합니까? 더 간단한 알고리즘을 쓸 수 있습니까?

+0

'Ord (빨간색) = 0'이며 'Ord (낮음 (테스트)) = 0'이라는 일반 표기법을 사용하십시오. –

답변

4

그냥 예를 들어, 열거 형에 정수를 캐스팅 할 수 있어야한다 : 당신이 다른 길을 갈려면

t := test(n); 

, 다음 ord 사용

n := ord(t); 

을 그해야 목록의 항목으로 숫자를 이동하십시오.

Ord(High(test)) 

..where test

Ord(Low(test))) 

당신의 유형 : 당신과 함께 경계를 확인할 수 있습니다.

관련 문제