- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南大学
本科生C语言课程设计报告书
题 目
通讯录管理系统
学生姓名
指导教师
学 院
信息科学与工程学院
专业班级
学号
目 录
目 录
一:需求分析
二:总体设计
三:详细设计
四:调试与测试
五;测试结果
六:本次课程设计的心得体会
七:附录
本程序设计亮点介绍(及)改进方面
1.在修改函数中,可以实现单条记录修改(运用switch)
2.查询函数中,能返回该函数继续查询(运用了递归)
3.使用变量少,仅通过变量i的递加和表示成员数的变量n就实现了数据结构体之间的联系
4.界面美观,使用方便
5.允许编号输入为字符
6.在显示函数上能够分屏显示(换页)
缺点
在输入数据时,未输完一个成员的所有信息不能退出输入
一:需求分析
A.需要实现的功能有:输入功能、输出功能、显示功能、查找功能、以及增加、删除、修改功能。输入功能要求一次完成若干信息的输入;显示功能要能完成所有信息的显示,并且自动分页;查找可以通过多种方式进行。
按需求的功能,应该设计出输入函数、输出函数、显示函数、查找函数、修改函数。另需要一个标准界面。
B.数据存储问题
这个系统数据庞大复杂,需要需要适当应用数组,循环,结构体,文件操作等基本语句及稍有难度的语句。因此要求我们熟练掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
二:总体设计
主要结构图示
本程序由主函数和多个子函数组成,可执行多种数据管理的功能。具体通过c语言中结构体数组来实现。主函数主体为定义的结构体,和一个switch函数,以提供多种程序操作功能。
主要需运用到结构体数组、文件、函数等内容知识。
子函数有六个,分别负责添加、显示、删除、查询、修改、保存的功能。通过变量i使结构体数组之间达成数据链表的功能,利用该方法主要考虑到成员中对于结构体指针尚未熟练掌握,而这种方法更加便捷易懂。
子函数功能介绍
添加:输入成员信息,依次输入编号、姓名、QQ、电话号码、单位、电子邮箱、身份。
显示:以表格形式输出所有通讯记录
删除:只需输入该成员姓名,便删除其所有记录
查询:可选用姓名、电话、单位身份4种方式来查询
修改:输入该成员姓名后,再依次输入更新信息完成修改
保存:输入文件名(带后缀)后保存。C-free中会默认以txt文件保存至c-free standard/temp文件夹中
三:详细设计
主函数
完成变量的初始化与函数的定义之后,运用for( ; ; )来开启一个无限循环。循环内有switch函数来实现函数的选择功能,case1、case2等分别执行不同的函数操作,每个函数中调用了相应的函数,并采用函数system(“pause”);暂停等待按键。在case6中采用函数exit(0)跳出循环。
下面在讲一下主函数中定义的n的作用,n的初值是1,当执行完case1中的函数input( )后返回值为n+i,i为输入的成员数,返回值重新赋给n,n变为成员数,从而确定了之后display()等函数循环中的终止条件。
2. 分函数
【1】添加
【2】显示
【3】删除 【4】查询
【5】修改
保存函数:【1】定义一个文件指针fp
【2】输入想创建的文件名称,如filename
【3】开辟文件,用fopen以“写”的方式打开,并把fp指针指向该文件
【4】在文件中输入信息
【5】保存(即fclose(filename))
查询函数:运用了if来实现选择,并通过递归返回继续查询。
注:身份以及单位的查询方式有所不同,单位只能查找一条符合的记录,而按身份查询可显示所有符合的信息。若查找不到,则返回继续查询,选择5返回则退出查询。
四:调试与测试
我们编写的函数具有一定的容错能力。具体表现为
【1】如select函数中输入0-6以外的数,则循环继续进行,直到输入0-6为止
【2】sign!=nsign!=N语句保证了大小写不会影响结果
【3】while(m!=1m!=2m!=3m!=4)
{
printf(输入错误,请重新选择:);
scanf(%c,m);
}保证了输入正确
【4】当输入的成员信息错误时,可通过修改函数进行改动
五:测试结果
1.主函数运行正常。通过for语句是界面循环,并有switch及system函数进行配合调节达到目的
您可能关注的文档
最近下载
- 2025年中国邮政集团有限公司吉林省分公司校园招聘笔试模拟试题及完整答案详解.docx VIP
- 2024年《汽轮机本体检修》职业技能鉴定知识考试必备题库及答案(共190题).docx VIP
- (名师原创)《我能行》主题班会.ppt VIP
- 2022年初中物理培优(竞赛)及高中自主招生专题训练:第02章声现象(含解析).pdf VIP
- 三式簿记和收益动量 (美)伊尻雄治著娄尔行译.pdf VIP
- 华荣QJZ-2×□SF煤矿风机用隔爆兼本质安全型双电源真空电磁起动器.doc
- 《嗨,你好》幼儿园小班课程PPT课件.pptx VIP
- 2025年中国邮政集团有限公司吉林省分公司校园招聘笔试模拟试题及答案解析.docx VIP
- 可穿戴设备在睡眠数据采集中的应用.pptx VIP
- AI人工智能软件使用课件.pptx VIP
文档评论(0)