- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级语言程序设计 第8章 客观对象的描述 —结构体程序设计 本章要解决的问题 1.学生成绩管理系统的实现(数组和链表) 2.志愿者管理问题 3.扑克牌洗牌和发牌模拟 学习目标 理解客观对象的描述方法—结构体 掌握结构体类型变量的定义和使用方法 学会结构体或指向结构体的指针作为函数参数的 了解自引用结构体及链表结构 了解共用体类型和枚举类型的定义和使用方法 1 学生成绩管理系统的实现 问题描述:假设我们要为学校教务部门开发一个学生成绩管理系统,要求能用这个系统录入学生成绩、修改学生成绩、统计学生成绩、查询学生成绩、输出学生成绩(报表)。为了简单,现在只考虑某一门课程的成绩,每个同学的成绩包括平时、期中、期末和平均成绩。 分析 它的主流程是 当时还没有能力实现,每个函数模块用了一个树桩stub或存根先占在那里 void input(void) { printf(“ok\n”); } 现在到了可以实现的时候了 假设现在要管理的某门课程的学生数是固定的60,首先要解决的是如何存放这60个学生的某门课程的成绩相关的信息? 某门课程成绩相关的信息应该包括: 姓名、学号、平时成绩、期中成绩、期末成绩、总评成绩 用前面学过的方法:数组 用多个一维数组 char *num[60]; char *name[60]; int dailyGrade[60]; int midGrade[60]; int endGrade[60]; float average[60]; 这时各个模块函数的原型可定义为 void input (char *num, char *name, int dg[], int mg[], int eg[], int ag[]); … 其它几个略 void print (char *num, char *name, int dg[], int mg[], int eg[], int ag[]); 请大家自己实现这个版本 这种方法有什么特点? 数据在内存中的分布比较分散 这样的一组属性数据所表达的客观对象怎么定义呢? 能不能像整数用int类型,字符用char类型那样定义问题中的对象为一种类型呢?如学生类型 如果能,就可以用这个自定义的学生类型去创建问题中涉及的学生对象啦。 学生对象的描述 你能不能给学生下个定义? 不同的人可能关注学生不同的一组特征/属性 如:学生处关心的是学生注册相关的属性 姓名,学号,年龄,性 别,出生日期,籍贯,家庭住址,…. 不同的学生只是属性值不同而已 教务部门把学生对象描述成 学号,姓名,平时成绩,期中成绩,期末成绩,总评成绩 确定了对象的属性,对象就基本确定了 C语言允许用结构体类型表达客观世界的对象 struct 结构体类型名{ 成员列表; }; 其中struct 是关键字,成员列表给出成员的类型和名字,注意这个定义的结尾必须跟一个分号;表示结构体类型定义结束。 例1 学生结构体类型的定义 (成绩信息相关的) struct student{ char *num; char *name; int dailyGrade; int midGrade; int endGrade; float average; }; 这样我们就定义了一种新的类型它叫struct student,它与我们熟悉的int,float等具有同等地位。 例2 平面上的点结构体类型定义 struct point{ int x; int y; }?; 任何一类客观世界的对象均可抽象成一个结构体类型 结构体变量的定义和初始化 有了结构体类型之后就可以用它定义具体的客观对象(结构体类型的变量) struct student li, wang; struct student zhang; 注意现在的类型名是 struct student 对象li, wang, zhang的属性是什么? 定义之后分别给各个成员赋值,要用成员运算符 . 如 li.num=00002; li.name=lihong; li.dailyGrade=85; li.midGrade=95; li.endGrade=88; li.average=89.2; 在定义时直接初始化 struct student zhang = { 0001, zhangqiang , 80, 70, 100, 83.3 }; 结构体类型的变量支持整体赋值 wang = li; 有时在定义结构类型
您可能关注的文档
- 12、美丽的三潭印月.pptx
- 7厂房、设施与净化空调.ppt
- 7好在烈日和暴雨下.ppt
- 变速箱原理简明教程.ppt
- 变革与争霸之战国篇.ppt
- 7建设工程安全生产管理法规.ppt
- 变频器的电压补偿详解.ppt
- 7月护理人员言行规范.ppt
- 叙述、描写、议论类的归纳(上课).dps.ppt
- 口才班“我是小明星”汇报演出主持词 (2).ppt
- 小说阅读答题模板・每日10分钟背诵小纸条.docx
- 【絮语文】2025-2026学年上期高三语文早读材料第13周.docx
- 福建省福州市福九联盟2025-2026学年高二上学期11月期中考试语文试题.docx
- 2026《人民日报》闪光金句+精彩作文构思).docx
- 河北省沧州市盐山中学2025-2026学年高一上学期11月期中考试语文试题.docx
- 【絮语文】(公众号)2026高二语文选择性必修中册《屈原列传》优质课一等奖课件.pptx
- 2026届安徽省皖豫名校联盟高三10月调研考试“格物致知””主题作文导写讲评课件.pptx
- 浅谈如何对联.docx
- 民国对联三百副(3).doc
- 渔洋十二法之11.doc
最近下载
- word格式:报价单-通用报价单.docx VIP
- 川教版(2024)《信息科技》四年级上册 单元3 活动三 《处理规范的数据》课件.pptx VIP
- 北京市大兴区2024-2025学年七年级上学期期末英语试题(含答案).docx VIP
- 《瓶子哈哈镜》幼儿园大班科学微课讲课PPT课件.pptx VIP
- EPCM项目管理实施规划.docx VIP
- 水利水电工程标准施工招标文件2009年版.doc
- 室内除甲醛报价单模板.docx VIP
- 外用制剂仿制药开发I-处方工艺研究及质量控制评价.ppt VIP
- GB50055-2011 通用用电设备配电设计规范 (2).pdf VIP
- GB_T 13542.2-2021电气绝缘用薄膜 第 2 部分 试验方法.docx VIP
原创力文档


文档评论(0)