- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.专业整理.
.学习帮手.
C语言程序设计报告书
一、题目内容的描述
学生通讯录管理系统设计
设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。由键盘输入数据(最好要考虑输入数据输入的格式及输入数据的有效性),然后进行以下的功能实现。程序要求主函数是一个功能选择菜单,其它各功能都用各自的函数实现。
功能要求如下:
1、能建立、修改和增删学生通讯录
2、能够按多种方式进行查询,例如按姓名、按电话号码等。
3、通讯录的数据保存在文件中,运行程序时将通讯录数据从文件读取到内存中。对通讯录进行增加、删除、修改学生数据后,提供功能菜单,可以将内存中修改过的通讯录重新保存至文件。
二、应用程序功能的详细说明
1、应用程序实现了可视化的系统操作界面。
2、对学生通讯录形成了系统化的管理,操作简便明了。
3、程序具有系统帮助,添加、显示、查询、刷新、删除、排序、保存、修改、读取学生通讯录的功能。各项功能均可按照文字提示操作,浅显易懂。
4、系统的各个功能模块都用函数的形式来实现(readfile()、seek()、modify()、sort()、insert()、del()、save()、menu())方便查看。
5.可以将信息保存在文件(student.txt)中,亦可将信息从文件中读取出来,灵活方便。
三、主要模块的算法描述
学生通讯录管理系统
学生通讯录管理系统
刷新学生信息readfile()
查询学生信息seek()
增加学生信息insert()
显示学生信息display()
退出系统
修改学生信息modify()
删除学生信息del()
保存当前学生信息save()
汇总当前学生数目number()
系统帮助help()
查询学生信息
查询学生信息
按姓名查询
退出
按学号查询
开始
开始
以可读写的方式打开一个数据文件
将此文件的内容读出,并存入一个新的结构体类型的数组中。
调用menu()菜单函数
进入while()主循环
输入1-8中的一数值,选择相应操作。
输入是否为0
判断键值,调用相应函数,完成相应功能。
是否已对修改存盘
调用函数save()函数,进行写数据文件操作
结束
模块一:头文件,变量定义,函数的声明
对系统所使用的变量进行定义,对函数进行声明。
模块二:录入学生信息
声明函数void readfile(),说明一个文件指针FILE *fp打开文
件student.txt。
模块三:学生信息的查找
声明void seek()为查找函数,通过switch(item)设定用学号查找,
用姓名查找两个分支。
模块四:学生信息的修改
声明void modify()为学生信息修改函数,通过switch(item)设定
所要修改的项目。
模块五:刷新学生信息
声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”
实现排序。
模块六:增加学生信息
声明void insert()插入学生信息,先通过判断学生是否存在,若
否则继续输入,若是则跳出,重新循环。
模块七:删除学生信息
声明void del()实现学生信息删除,通过学号对比确定要删除的信
息,然后用后一个替换掉。
模块八:显示学生信息
通过display()函数输出学生信息。
模块九:保存信息
通过fp=fopen(student.txt,w);写入信息。
模块十:汇总学生数目
通过number()函数将已有男女生及总学生数目汇总出来。
模块十一:系统帮助
通过help()函数帮助操作。
模块十二:界面菜单
通过switch(num)调用以上各函数,实现功能。
1、程序采用模块化设计,各模块独立,可分块调试,个模块由主函数控制调用。
2、其中主要模块(readfile()、seek()、modify())都是利用数组,指针来实现数据结构设计。
3、数据库设计的任务是确定系统所需要的数据库。数据库是表的集合,通常一个系统只需一个数据库。设计人是根据需求分析,确定数据库所包含的表及字段、表间的关系,然后具体确定表的结构,包括字段名、字段类型及宽度,需要的索引等。根据对需求得到的数据结构进行分析,按数据输入输出的要求,确定表和表间的关系,进行验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。通讯信息表包括以下字段:学号, 姓名,年龄,性别,出生年月,地址,电话, E-mail。学号为主索引。
四、结束语
我设计的程序总体功能大都能够运行顺利,但有许多地方比较复杂,需要进一步修改,进行简化。通过这次课程设计的锻炼,我收获很多,具体归纳为以下几点:
1、首先,也是最重要的一点,学会如何将一个复杂的问题简化,将一个较大的问题分成
您可能关注的文档
最近下载
- 零食有鸣门店新员工理论考核参考答案.docx VIP
- 基于ZigBee的智能窗帘控制系统.doc VIP
- 2.8夏商周时期的科技与文化课件-2024-2025学年统编版历史七年级上册.pptx VIP
- 2.8 夏商周时期的科技与文化 课件 2024-2025学年统编版七年级历史上册.pptx VIP
- ups电源日常巡检如下.doc VIP
- 宫外孕失血性休克应急预案演练记录.docx VIP
- 2008上汽荣威550用户手册.pdf VIP
- 食品安全体系FSSC22000-V6版标准要求及内审员培训教材.pptx VIP
- 2020预制混凝土方桩20G361.docx VIP
- 上汽荣威550电路图.pdf VIP
原创力文档


文档评论(0)