首页 > 代码库 > 枚举类型的定义和应用
枚举类型的定义和应用
1.枚举类型定义:
TYPE
days = (Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday); //枚举类型,属于顺序类型,序号从0开始
colors =(red,yellow,blue,green,black); //可以同时多个枚举类型定义
//下面定义方法是错误的
days_e1 =(‘Sunday‘,‘Monday‘,‘Tuesday‘,‘Wednesday‘,‘Thursday‘,‘Friday‘,‘Saturday‘); //错误:枚举类型元素只能是标识符;
days_e2 =(1,2,3,4,5,6,7); //错误:枚举类型元素只能是标识符;
colors_e1=(red,yellow,white)//错误:枚举类型中元素不能和其他的元素相同;
days = (Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday); //枚举类型,属于顺序类型,序号从0开始
colors =(red,yellow,blue,green,black); //可以同时多个枚举类型定义
//下面定义方法是错误的
days_e1 =(‘Sunday‘,‘Monday‘,‘Tuesday‘,‘Wednesday‘,‘Thursday‘,‘Friday‘,‘Saturday‘); //错误:枚举类型元素只能是标识符;
days_e2 =(1,2,3,4,5,6,7); //错误:枚举类型元素只能是标识符;
colors_e1=(red,yellow,white)//错误:枚举类型中元素不能和其他的元素相同;
2.类型类型可以用 顺数函数ord,pred,succ,low,high操作
var
week : days;
color : colors;
temp :Variant;
begin
// temp:=Ord(Monday); //返回 1
// temp:=Pred(Tuesday); //返回 1
// temp:=Pred(Sunday); //返回 255
// temp:=Succ(Tuesday); //返回 3
// temp:=Succ(saturday); //返回 7
// temp:=Low(week); //返回 0
// temp:=High(week); //返回 6
ShowMessage(temp);
end;
week : days;
color : colors;
temp :Variant;
begin
// temp:=Ord(Monday); //返回 1
// temp:=Pred(Tuesday); //返回 1
// temp:=Pred(Sunday); //返回 255
// temp:=Succ(Tuesday); //返回 3
// temp:=Succ(saturday); //返回 7
// temp:=Low(week); //返回 0
// temp:=High(week); //返回 6
ShowMessage(temp);
end;
3.枚举类型变量只能进行赋值运算和关系运算,不能进行算术运算和逻辑运算。
//合法性:
week := Sunday;
if week=Sunday then write(‘rest‘);
//不合法的:
Sunday := 1; //错把枚举值当成变量名;
days := blue; //枚举值blue不属于枚举变量weekday的值域;
read(color); //枚举类型变量 不能用读语句进行赋值;
write(week); writeln(blue);//不能通过写语句输出枚举类型的变量值和枚举值。
week := Sunday;
if week=Sunday then write(‘rest‘);
//不合法的:
Sunday := 1; //错把枚举值当成变量名;
days := blue; //枚举值blue不属于枚举变量weekday的值域;
read(color); //枚举类型变量 不能用读语句进行赋值;
write(week); writeln(blue);//不能通过写语句输出枚举类型的变量值和枚举值。
4.枚举类型应用:
temp:=StrToInt(Edit1.Text);
case temp of
0:week:=Sunday;
1:week:=Monday;
2:week:=Tuesday;
3:week:=Wednesday;
4:week:=Thursday;
5:week:=Friday;
6:week:=Saturday;
end;
case temp of
0:week:=Sunday;
1:week:=Monday;
2:week:=Tuesday;
3:week:=Wednesday;
4:week:=Thursday;
5:week:=Friday;
6:week:=Saturday;
end;
枚举类型的定义和应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。