- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电气与信息工程学院计算机系张吴波制作 * Lesson 16 数据的组织结构 学习目标: 3 1 使用结构体解决实际问题 3 结构体应用 2 例1:编写程序,建立如下的菜单,当输入1时,从键盘输入n个学生的姓名和成绩,当输入2时,显示n个学生的姓名和成绩,输入3时输出成绩最高的姓名和成绩,输入4时显示及格率。输入5时显示不及格学生的姓名,输入0退出程序每当输入1个菜单项处理完毕后,返回主菜单 3 结构体应用 2 欢迎使用成绩管理系统 1、输入成绩信息 2、显示所有学生成绩 3、查询最高分 4、统计及格率 5、查询不及格学生 0、退出 3 结构体应用 2 分析:1、在该程序中有一类信息:学生成绩,包含姓名和成绩,定义结构体表示2、需要保存多个学生信息,定义数组保存3、显示菜单,输入一个菜单选项对其判断,执行相应的功能 3 结构体应用 2 定义结构体struct stu{ char name[20]; int grade;}; 定义结构体数组#define LEN 30struct stu students[LEN]; lesson16_struct_yy1.c lesson16_struct_yy1.c 3 结构体应用 2 制作菜单 printf(“欢迎使用成绩管理系统\n); printf(“ 1、输入成绩信息\n); printf(“ 2、显示所有学生成绩\n); printf( 3、查询最高分\n); printf( 4、统计及格率\n); printf( 5、查询不及格学生\n); printf( 0、退出\n); printf( 请输入菜单选项:\n); 3 结构体应用 2 循环等待用户输入,对输入判断执行相应功能 while(1){ scanf(%d,sel); switch(sel){ case 1: …… case 2: ……. } } 3 结构体应用 2 例题2、选举投票 问题描述:从键盘输入被选举人的姓名,作为一票。按从高到低的顺序输出被选举人的姓名以及得票数 程序代码 1、结构体定义 struct voter { char name[20]; int count; } vs[LEN]={{“张三”,0},{“李四”,0},{“王五”,0}}; #define LEN 3 lesson16_02.c 3 结构体应用 2 分析 姓名 得票数 结构体:被选举人 定义一个结构体,可以保存保存被选举人的姓名和得票数 3 结构体应用 2 分析 多个选举人怎么办? 张三 0 使用数组 李四 0 王五 0 赵六 0 钱七 0 3 结构体应用 2 分析 怎么投票? 1、从键盘输入一个姓名: 张三 0 李四 0 王五 0 赵六 0 钱七 0 2、使用“王五”在数组中找姓名 王五 3、找到后使其得票数加1 1 2、投票函数 void vote(char name[]){ int i; for(i=0;iLEN;i++){ if(strcmp(name,vs[i].name)==0) vs[i].count++; } return ; } 3、输入 void input(int n){ int i; char name[20]; for(i=1;i=n;i++){ gets(name); vote(name); } return ; } 4、排序 void sort( ){ int i,j,index; struct voter temp; for(i=0;iLEN-1;i++){ index=i; for(j=index+1;jLEN;j++) if(vs[index].countvs[j].count) index=j; temp=vs[i];vs[i]=vs[index]; vs[index]=temp; } return ; } 5、输出 void printVoter( ){ int i; for(i=0;iLEN;i++){ printf(“姓名:%s,得票%d\n”, vs[i].name,vs[i].count); } return ; } 6、主函数 int main( ){ int n; printf(“请输入投票人数:”); sc
您可能关注的文档
最近下载
- 2024-2025学年四川省成都市第七中学高一(上)月考物理试卷(10月)(含答案).docx VIP
- 育婴员职业守则课件.pptx VIP
- 蔬菜生产技术课程标准.docx VIP
- 2025中考语文现代文阅读总复习-第1部分 专题12:记叙文阅读之主旨把握(讲义)(教师版).docx VIP
- 硅铁冶炼培训课件.pptx VIP
- 水土保持工程监理规划.pdf VIP
- 政务云平台 第4部分:系统部署和迁移要求_地方标准编制说明.pdf
- DB37T-政务云平台监管指标体系及编制说明.pdf VIP
- 高中物理必修二第一章检试测卷.doc VIP
- DB37T 4394.4—2024政务云平台 第4部分:系统部署和迁移要求.pdf VIP
文档评论(0)