第11章 结构体的应用.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 结构体的应用

11.3 结构体变量的输入/出与存储 例11. 6 程序运行后显示一个选择菜单,有四个选项,第一个选项为清除数据记录,第二个选项是增加通讯录的姓名、单位和电话等信息,第三个选项是显示记录,第四个选项是退出程序。由键盘输入结构体变量,结构体变量以二进制形式存入文件,请编写简单的通讯录程序。 Ch11_11_6.c #include stdio.h #include string.h #include stdlib.h #define M 50 struct info { char name[20]; char units[30]; char tele[13]; }; int enter(struct info t[]); //增加记录 int menu_select(); //菜单选择 int emp(); //清空数据库 int disp(struct info t[]); //显示记录 int main() { struct info adr[M]; int length; for(;;) { switch(menu_select()) { case 0: exit(0); case 1: emp(); break; case 2: enter(adr); break; case 3: disp(adr); break; } } return 0; } 11.4 结构体变量的查找与删除 定义一个记录学生信息的结构struct student,并使用结构定义两个变量stud1和stud2,其中在定义结构的同时给stud1赋值,在程序中将结构变量stud1的值赋给结构变量stud2,并输出成绩。 #include stdio.h void main() { static struct student{ int num; char name[20]; int score; }stud1={201,Zhang Hong,92},stud2; stud2 = stud1; /*将结构变量stud1的值赋给stud2*/ printf(%d %s %d\n,stud2.num, stud2.name, stud2.score); } 程序中stud2=stud1等价于: stud2.num = stud1.num; strcpy(stud2.name,stud1.name); stud2.score=stud1.score; 结构的嵌套定义 struct address{ char city[20]; char street[20]; int number; }; struct student{ int num; char name[20]; struct address addr; int score; }; struct student stud1; 结构变量addr作为另一结构类型的成员 引用时: stud1.addr.number=20 按成绩从高到低输出学生的成绩 结构数组 一个结构变量只能存放一个学生的资料。若班上有20个学生,需要用结构数组。即,数组中的每个元素都是结构类型 定义 struct student { long int num; char name[20]; float score; }stu[20]; stu[0] 200011 Zhang 85 stu[19] 200012 Li 90 200029 Zhao 70 stu[1] … 初始化 struct student { long int num; char name[20]; float score; }stu[20]={{200011,”Zhang”,85}, {200012,”Li”,90}}; stu[0] 200011 Zhang 85 stu[19] 200012 Li 90 200029 Zhao 70 stu[1] …. 结构数组引用 struct student { long int num; char name[20]; float score; }stu[20]; stu[0].num stu[0].name stu[0].score stu[0] 200011 Zhang 85 stu[19] 200012 Li 90 200029 Zhao 70 stu[1] 引用: 结构数组名[下标].分量名 …. 设建立有10个学生的结构记录,输出平均成绩并按照从高

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档