- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
国家级精品课程网站(本书配套教学网站) 第8章 结构化设计方法 8.1 结构体类型 8.2 枚举类型 8.3 自顶向下,逐步求精的程序设计方法 8.1 结构体类型 构造类型数据 各元素是属于同一个类型的——数组。 不同类型的数据组合成一个有机的整体,以便于引用。这些组合在一个整体中的数据是互相联系的。 例如,学生信息:学号、姓名、性别、各科成绩,地址等这些项都与某一学生相联系。如下图所示: 可以看到性别(sex)、年龄(age)、成绩(score)、地址(addr)是属于学号为10010和名为“Li Fun”的学生的。 如果将num、name、sex、age、score、addr分别定义为互相独立的简单变量,难以反映它们之间的内在联系。 职工工资单的层次结构 01 工资单 02 工作部门: 字符串, 最大长度为10个字符 02 姓名: 字符串, 最大长度为8个字符 02 职务(含职称、工种): 代码, 0-99 02 参加工作时间 03 年份: 1900-2050 03 月份: 1-12 03 日 : 1-31 02 家庭情况 03 婚否: 0-否, 1-是 03 是否双职工: 0-否, 1-是 03 独生子女出生日期 02 基本工资: 0-10000, 保留两位小数 02 岗位津贴: 0-10000, 保留两位小数 02 劳保福利: 0-1000, 保留两位小数 02 独生子女费: 0-10, 保留两位小数 结构体类型的定义 结构体作为一种数据构造类型,在C++语言程序中也许需要经历定义——声明——调用的过程。 结构体是由不同的数据类型的数据组成的。组成结构体的每个数据成为该结构体的成员项简称成员。 在程序使用结构体时,首先要对结构体进行描述,这称为结构体的定义。 结构体变量的声明 (1)先定义结构体类型,再定义结构体类型变量。 例如,日期类型可以定义为 struct Date { int da_year; int da_mon; int da_day; }; Date yesterday, today, tomorrow; //说明了3个日期类型的变量: yesterday、today和tomorrow (2)定义类型的同时声明变量。例如, struct Date { int da_year; int da_mon; int da_day; } yesterday, today, tomorrow; (3)直接定义结构体类型变量,不出现结构体类型名。 8.2 枚举类型 如果某个数据项只可能取少数几种可能的值,则可以将该数据项定义为枚举类型数据。 enum 枚举类型名 { 枚举符号表 }; 每个枚举元素实际上是一个以其所在位置顺序为值的常量(0, 1, 2, …),每个枚举元素取值为某一个整数值,所以它无法直接进行输入和输出 。 例: // 定义星期几类型 enum Weekday_type { SUNDAY, // 星期日 MONDAY, // 星期一 TUESDAY, // 星期二 WEDNESDAY, // 星期三 THURSDAY, // 星期四 FRIDAY, // 星期五 SATURDAY // 星期六 }; enum Weekday_type workday; workday = MONDAY; 例 根据键盘输入的首字符选择对应颜色 难点: 每个枚举符号实际上是一个整数值,无法进行直接的输入和输出,要想获得变量的符号值,必须采用间接方法。 算法: 枚举类型颜色的符号值可以通过读入其前一个或两个字符来区分,可以先从键盘上读入两个字符,然后用选择结构将对应的值找出来并赋给变量,对该变量再一次使用选择结构打印输出正确的符号值。 // Example :选择颜色 #include iostream.h int main() { enum Colors{ blue, brown, green, red, white, yellow} choose; //定义枚举类型颜色并同时声明一个该类型的变量 char ch1, ch2; coutPlease input the first two letters o
文档评论(0)