사용자로부터 유효한 열거 형 데이터 유형 입력을 받고 싶습니다. 나는 이렇게 시도했습니다. FPC 컴파일러는 '<>'관계 연산자를 사용하여 이진 데이터 유형 만 비교할 수 있다고 말합니다. 친절하게도 'Cham_Cham'에 '_'대신 공간을 사용할 수 있다고 명시하십시오.
나는 OOP와 함께 가지 않을 것입니다. 이것이 유일한 방법이라면 나는 갈 것입니다. (제 생각에는 OOP 방식 없이도 가능합니다. try-catch를 사용하지 않는 것처럼 요.)
program Enum
type Food = (Pizza, Biryani, Halwa, Cham_Cham)
var Choice: Food;
begin
WriteLn('Pizza, Biryani, Halwa, Cham_cham');
repeat
WriteLn('Which Food Do you want to eat?');
Read(Choice);
Until Choice <> Food
WriteLn('You can eat: ' + Choice);
end.
Until Choice <> Food
Food
유형입니다. Choice
값입니다. 유형을 값과 비교할 수 없습니다. 이것이 오류 메시지가 알려주는 것입니다. 입력 한 값을 다른 값과 비교하려면 다른 유형의 값이어야합니다 Food
.
다른 질문에 관해서는 언어로 된 이름에는 공백이 포함될 수 없습니다.
이 입력을 얻는 방법을 재고해야 할 것입니다. 코드는 사용자가 서수 값을 입력 할 것으로 예상합니다. 사용자가 숫자를 입력해야하는지 의심합니다. 또한 이는 유효하지 않은, 즉 유형 범위를 벗어난 서수 값을 입력 할 수있게합니다.
더 좋은 방법은 사용자에게 텍스트를 입력하도록 요청한 다음 코드가 텍스트를 음식 이름과 비교하고 서수를 적절하게 할당하도록하는 것입니다. 그러나 나는 당신의 프로그램이 달성하고자하는 것이 무엇인지, 그리고 훨씬 더 많은 것을 말할 수있는이 질문의 한계를 넘어서는 것을 정말로 모릅니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다