- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
难易程度 中等 开发语言 C 《课程案例
——案例管理系统
3.1.1 系统系统硬件环境
处理器:Intel Pentium 166 MX或更高
内存:32MB
硬盘空间:1GB
显卡:SVGA显示适配器
软件环境
操作系统:Windows 98/ME/2000/XP设计
设计思路
3.2.3数据结构设计
{
char no[10]; //学号
char name[20]; //姓名
float score[N]; //各门课成绩
float sum; //总分
float ave;//平均分
int order;//名次
struct student *next;//指向后继结点的指针
}STU;//结构体类型名
3.2.4功能模块设计
、main()主函数
程序采用模块化设计,主函数是程序的入口,主函数不宜复杂,功能尽量在各模块中实现。main()函数执行流程图如图3-2所示。
首先声明一些必要的变量,然后作一无限循环程序,循环体为一个开关语句,该语句的条件值是通过调用主菜单函数得到的返回值,根据该值,调用相应的各功能函数,同时设置一个断点,即当返回值为一定条件时运行exit()函数结束程序,以免造成死循环。
二、menu_select()主菜单
直接利用输出函数printf输出字符串,在屏幕上显示一个菜单,并显示一个提示输入选项,输入0-1之间的数字,将此数字作为菜单函数的返回值返回主函数,主函数根据这个数字调用相应的功能函数。制作简便,操作简单,界面如图所示。
图 主菜单界面
、输入模块
。按照文件的读写要求,先定义一个指向文件的指针,
四、模块
4.插入⑴ 指针p为空,如果p等于头指针h,说明链表为空,则新结点即为头结点,修改指针h=info。否则,说明表中没有指定结点,则新结点插入在表尾部,此时q所指结点是最后一个结点,所以修改指针q-next=info,如图3-6所示。
⑵ 指针p不为空,如果p等于h,说明新结点插入在当前第一个结点之前,为新的头结点,修改指针info-next=p,h=info,如图3-7所示。否则,说明新结点的位置应在p和q两个结点之间,修改指针info-next=p,q-next=info,如图3-8所示。
五、⑴ 先将原表头结点作为新排好序表的头结点h,原表下一个结点作为原表头结点h1,设原表如图3-9所示,表中只列出总分数据。
⑵ 原表头结点为待排序结点,将其总分与新表结点的总分进行比较,如果待排序结点总分大,则插在新表的头,否则插入在其后,原表头结点后移一位,如图3-10所示。
⑶ 重复第二步,则将原表头结点的总分和新表结点的总分进行比较,如果待排序结点总分小,则移动新表指针,直到找到合适的位置将其插入,直到原表为空,所有结点排序完毕,如图3-11所示。
六、模块
为了保存数据,防止意外发生,为数据做备份是很有必要的。
本是将文件读写功能结合到一起的应用。输入目标文件名,然后利用文件读写函数将源文件中的信息写到目标文件中。按照文件的读写要求,先定义一个指向文件的指针,建立好后,更频繁的操作是显示和查找记录,本实现显示所有功能。输出界面如图所示。
图 输出界面
程序预处理
包括加载头文件,定义结构体、常量和变量,并对它们进行初始化。
#include stdio.h //I/O函数
#include stdlib.h //标准库函数
#include string.h //字符串函数
#include ctype.h //字符操作函数
#include conio.h//控制台输入输出函数malloc.h //动态地址分配函数
#include memory.h //内存操作函数
#define N 3 //定义课程门数,可以根据情况设定
typedef struct student//定义数据结构
{
char no[10]; //学号
char name[20]; //姓名
float score[N]; //各门课成绩
float sum; //总分
float ave;//平均分
int order;//名次
struct student *next;//指向后继结点的指针
}STU;//结构体类型名
/**********以下是函数原型***********/
; //初始化函数
STU *create(); //创建链表
void print(STU *h); //显示记录;//查找记录(STU *h); //插入记录
(STU *h); //修改记录
delete(STU *h); //删除记录
void save(); //记录保存为文件
load(); /
您可能关注的文档
最近下载
- 2025年高考数学二轮复习 模块二 函数与导数(测试)学生版+解析.pdf VIP
- 2024蜀南竹海萌宠乐园定位规划设计景观方案.pptx
- 医学真菌感染诊疗新进展题库答案-2025年华医网继续教育.docx VIP
- 初中英语新外研版八年级上册全册课文翻译(Unit 1 —Unit 6)(2025秋).doc
- 信息技术在地理教学中的应用.pptx VIP
- 高空作业安全规程及注意事项.docx VIP
- 2015年干部档案专项审核讲解.pptx
- 中国虫草菌粉市场供需格局及投资规划研究报告.docx
- 教师招聘音乐试题及答案.doc VIP
- 慢性伤口护理实践与质量控制新进展题库答案-2025年华医网继续教育答案.docx VIP
文档评论(0)