C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt

C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt

ID:50097655

大小:419.50 KB

页数:9页

时间:2020-03-04

C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt_第1页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt_第2页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt_第3页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt_第4页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt_第5页
资源描述:

《C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第9章 C语言程序设计实例 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计——第9章C语言程序设计实例本章主要内容提示学生成绩管理系统本章学习目标知识目标掌握采用链表完成数据的增、删、改、查操作总结结构体的定义、函数调用、函数参数、函数返回值类型掌握顺序查找、直接插入法排序的算法思路文件的读写等操作理解程序的模块化设计思路能力目标掌握菜单的实现和功能调用能够熟练对链表完成增、删、改、查操作能够应用模块化设计思路完成系统设计能够考虑系统数据验证并完成相应的设计工作【学习提示】本章设计一个利用单链表结构实现学生成绩管理的小型学生成绩管理系统,让大家对前面所学知识点整理与回顾,同时,学习本章也是对大家今后的模块化

2、设计软件系统的概念做一个补充,因此,本章是一个C语言知识的综合应用,其中的较难的部分是指针变量作函数参数,函数值为指向结构体的指针及单链表结构的应用等知识。9.1学生成绩管理系统一般来说,开发一个软件要经过以下步骤:1>确定软件的功能并进行功能模块划分2>定义核心数据结构3>编写程序实现各功能模块4>对源程序进行编译和调试,形成软件产品开发方法:自上向下,逐步细化,模块化设计,结构化编码功能设计学生成绩管理系统输入记录模块输出记录模块查询记录模块search()插入insert()修改modify()删除del()排序sort()更新记录模块从文件

3、读入load()从键盘输入create()输出到文件save()输出到屏幕print()数据结构nonamescoresumaverageordernonamescoresumaverageordernonamescoresumaverageordernonamescoresumaverageorder设计这样的一个结构体类型:#defineN3typedefstructz1{charno[11];/*学号由10个字符组成*/charname[15];/*学生姓名*/intscore[N];/*各门课成绩,前面定义一个常量N=3*/floatsum

4、;/*总分*/floataverage;/*平均分*/intorder;/*名次*/structz1*next;/*指向后继结点的指针,即指向下一个学生的指针*/}STUDENT;上述的结构体定义表示的链表如图所示,每个节点属于structSTUDENT类型,它的成员next是存放的下一个节点的地址,即指向下一个学生记录的,用这种方法建立链表。函数考虑1.系统库函数如何动态实现分配存储空间呢?操作的办法就是在需要的时候开辟一个节点的存储空间,将其添加到已有的链表中,而开辟控件C语言提供的库函数可以实现:(1)malloc函数:函数原型:void*m

5、alloc(unsignedintsize);其作用是在内存的动态存储空间中分配一个长度为size的连续空间。当分配成功时,函数的返回值为指向该节点的指针,否则返回null。(2)calloc函数:函数原型:void*calloc(unsignedn,unsignedsize);其作用是在内存空间中开辟n个长度为size的连续空间,成功时函数返回指针,否则也是null。注意:两个库函数的区别在于一次开辟的是一个还是多个节点!(3)释放内存空间函数free调用形式:free(void*ptr);功能:释放ptr所指向的一块内存空间,ptr是一个任意类

6、型的指针变量,它指向被释放区域的首地址。函数考虑2.自定义函数部分(1)主函数main菜单显示并接受输入选择。(2)完成链表的初始化函数STUDENT*init();(3)创建链表函数STUDENT*create();(4)从文本中读入记录STUDENT*load();(5)删除记录函数STUDENT*del(STUDENT*h);(6)查找函数voidsearch(STUDENT*h);(7)插入记录STUDENT*insert(STUDENT*h);(8)修改记录STUDENT*modify(STUDENT*H);(9)排序STUDENT*so

7、rt(STUDENT*h);(10)显示所有记录函数voidprint(STUDENT*h);(11)保存voidsave(STUDENT*h);(12)菜单函数intmenu_select();(13)验证输入数据的合法性函数inputs(char*prompt,char*s,intcount);(14)退出函数voidret(STUDENT*h);END

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。