FreePascal中的月份名称

时间:2012-11-24 22:20:18

标签: pascal freepascal

输入:月份名称(1月/ 2月/ ... / 12月)

输出:季节(冬/春/夏/秋)

冬天:12月 - 2月

春天:3月 - 5月

夏季:6月 - 8月

秋天:9月 - 11月

我试过了:

Program Months;

var
  Month:String;

begin
  writeln('Insert month name:');
  readln(Month);

  if Month = 'March' or Month = 'April' or Month = 'May' then

    begin
    writeln(Month,' is Spring month');
    end

    ...
    etc   
    ...

end.

但是这个程序没有用。

1 个答案:

答案 0 :(得分:6)

运营商优先级 - 这很重要。你需要写:

if (Month = 'March') or (Month = 'April') or (Month = 'May') then

这是因为在Pascal中,or的优先级高于=所以实际评估的是:

if ((Month = ('March' or Month)) = ('April' or Month)) = 'May' then

这显然毫无意义,不会编译(我可能在上面的行上犯了一个错误,但这是一般的想法)。请参阅this link以了解有关Pascal中运算符优先级的更多信息。