program aabb;
type
Tdays = (sunday,monday,tuesday,wednesday,thursday,friday,saturday);
var
Today, Yesterday: Tdays;
Order: integer;
begin
Writeln('输入今天是星期几的序号(0~6):');
Read(Order);
case Order of
0: Today := sunday;
1: Today := monday;
2: Today := tuesday;
3: Today := wednesday;
4: Today := thursday;
5: Today := friday;
6: Today := saturday;
end;
//不加这一句会出现
{
输入今天是星期几的序号(0~6):
昨天是星期:-1对应的枚举值-1,因为枚举的第一个元素没有前趋,最后一个元素没有后继
}
{
注意:
1、type 在const 与var 之间
2、枚举值只能是标识符
3、每个枚举值只能在一个枚举类型中出现场一次
4、枚举值是有序的,序号为0~n-1
5、枚举的第一个元素没有前趋,最后一个元素没有后继
}
if Today := sunday then
Yesterday := saturday;
else
Yesterday := Pred(Today);
Writeln('昨天是星期:', Ord(Yesterday),'对应的枚举值',Yesterday);
end.
下面是直接用case 语句给 Yesterday赋值: