- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
难易程度 中等 开发语言 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(); /
您可能关注的文档
- 2500t冷库工程制冷系统说明书讲义.doc
- 键盘为什么不是ABCD排列?讲义.doc
- 8553《Flash动画制作》期末复习指导讲义.doc
- 江苏“一村一名大学生”计划税收基础教讲义.doc
- 50430一体化(制度)文件讲义.doc
- 江苏联海新建高温厌氧罐项目工艺管道及其他制作安装工程施工组织方案讲义.doc
- 江苏联通光缆线路标准化要求(修订)讲义.doc
- 江苏省常熟市2013-2014学年七年级下学期期末考试数学讲义.doc
- 江苏省常州市金坛区2016届中考化学一模(版)讲义.doc
- 江苏省第六届理工科大学生人文社会科学知识竞赛复习参考题手册讲义.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)