没有合适的资源?快使用搜索试试~ 我知道了~
C语言通讯录管理系统课程设计10.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 22 浏览量
2022-06-20
07:05:47
上传
评论
收藏 328KB DOC 举报
温馨提示
试读
24页
C语言通讯录管理系统课程设计10
资源推荐
资源详情
资源评论
软件设计报告
题 目: C
语言通讯录管理系统
院 系 名 称 :
电子工程学院
专 业 名 称 :
电子信息工程
班 级 :
电子 0902
班 内 序 号 :
学 生 姓 名 :
指 导 教 师 :
时 间 :
2010 年 6 月 21 日 至 2010 年 7 月 2 日
一、 课程设计目的
本次课程设计的主要目的是综合运用所学的 C 语言知识解决一个比较实际
的简单问题,侧重对函数、指针、结构体、文件和链表等相关内容的综合应用,
使同学们能进一步熟悉掌握 C 语言的基本语法,进一步提升自己的编程能力并
逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学
习打下良好的基础。
二、课程设计内容
1、每一条记录包括一个学生的学号、姓名、性别、年龄、生日、电话号码 、
QQ 号码、E-mail、地址。
2、输入功能:可以一次完成无数条记录的输入。
3、插入功能:按学号由小到大插入任意条学生记录。
4、修改功能:查找学生对应学号,完成对学号、姓名、信息的修改。
5、删除功能:查找学生对应学号,删除学生相关各项记录。
6、查询功能:⑴通过学号或姓名查找学生记录并显示;
⑵ 显示全部学生的信息记录;
7、排序功能:按学生学号升序排列并显示学生信息;
8、保存功能:将学生记录保存在任何自定义的文件中。
9、读取功能:将保存在文件中的学生记录读取出来。
10 密码功能:设定密码,可以输入两次,若正确输入进入程序,反之退出
系统。
11、界面设置:一个主菜单可以任意调用,方便清晰美观。
三、需求分析
对所开发系统功能、性能的描述,想要实现的目标。
1、用 C 语言实现系统;
2、利用链表实现学生通讯录信息的数据结构设计;
3、系统具有输入,输出,删除,查询,插入,排序,保存,读取多文件,
密码设置等基本功能;
4、系统的各个功能模块要求用函数的形式实现;
5、将学生信息存储在文件中。
6、完成设计任务并书写课程设计报告;
四、概要设计
1.系统结构图(功能模块图)
对系统进行分析,给出系统结构图;
整个系统除了主函数外,另外还有 16 个函数,实现十项功能:密码功能、输
入功能、插入功能、删除功能、修改功能、查找功能、显示功能、排序功能、
读取功能、保存功能。
本程序利用单链表存储结构完成对学生成绩的动态管理,其基本功能模
块如下图所示:
2.功能模块说明
对各个模块进行功能的描述。
1) 主函数 main()
首先调用密码函数,以确认用户是否有权限进入该系统;
然后调用文件打开函数,打开一个文件进行编辑;
通过利用 while()的无限次循环和 switch()实现各函数的调用,主要实现了
密 码
打开文件
主 函 数 文件为空
创 建
插 入
修 改
删 除
查 询
按学号查询
按姓名查询
查询全部
退 出
排 序
退 出
“功能选择”的系统根据输入的数字选项来调用相应的函数。
2) 密码函数 int password()
这是一个无参函数,它的作用是输入密码并进行核对,最多执行两次,
把密码是否正确的信息返回给主函数。该函数起到了对用户权限的识别。
3) 创建函数 struct Message *creat()
这是一个无参函数,它的作用是使连表初始化,通过对输入函数 struct
student *input()的调用,完成学生信息的初始化。
4) 输入函数 struct Message *input()
这是一个无参函数,用来执行学生信息记录的输入,函数结束后,带回
一个指向链表头的指针 head。、
5) 修改函数 struct Message *input2(struct Message *p1)
这是一个有参函数,形参为链表头的指针,用于修改学生信息时重新录
入。
6) 插入函数 struct Message *insert(struct Message *head)
这是一个有参函数,形参为链表头的指针,按照原来的学生序号由小到
大进行插入,在插入过程中始终保持有序,最后返回链表头的指针。
7) 信息修改函数 struct Message*modify(struct Message *head)
这是一个有参函数,形参为链表头的指针,输入要修改的学生的编号,
函数通过查找与之相对应的学生信息并输出原始数据,对照原始数据重新
进行修改。可循环无限次修改,直至选择 N,不再进行修改。并且返回新
的头指针。
8) 信息删除函数 struct Message *del(struct Message *head)
这是一个有参函数,形参为链表头的指针,输入要修改的学生的编号,
函数寻找到与之相对应的学生信息进行删除,可循环无限次删除,直至选
择 N,不再进行删除。并且返回新的头指针。
9) 查询菜单函数 void enquire(struct Message *head)
这是一个有参函数,形参为链表头的指针,用于为查询菜单函数中调用
的函数传递参数。主要实现了“功能选择”的界面,在这个界面里有显示查
询系统的四大功能,根据每个功能的序号进行选择,在执行完任意一个函
数功能后,均返回到查询菜单,进而可以继续查询其他信息。
10) 序号查询函数 void numfind(struct Message *head)
这是一个不返回值的有参函数,形参为“链表头的指针”,实现按序号对某
个学生进行查找,并显示所查找到的记录。
11) 名字查询函数 void namefind(struct Message *head)
这是一个不返回值的有参函数,形参为“链表头的指针”,实现按姓名对某
个学生进行查找,并显示所查找到的记录。
12) 信息显示函数 void output1(struct Message *head)
这是一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生
成绩记录的输出。
13) 输出学生信息 void output2(struct Message *p1)
这是一个不返回值的有参函数,形参为“链表头的指针”,负责对所指向的
学生成绩记录的输出。
14) 排序函数 void sort(struct Message *head)
这是一个有参函数,形参为链表头的指针,用于为排序菜单函数中调用
的函数传递参数。在这个函数里可以调用序号排列函数。
15) 序号排列函数 void sortnum(struct Message *head)
这是一个有参函数,形参为链表头的指针,按学生的序号由小到大进行
排序。
16) 数据保存 void save(struct Message *head)
这是一个不返回值的有参函数,形参为链表头的指针,可以把学生记录保
存在电脑中的任意路径的二进制文件中。
17) 读取文件 struct Message *read()
这是一个不返回值的有参函数,形参为链表头的指针,根据输入的文件地
址进行读取。
五、详细设计及运行结果
流程图, 函数之间相互调用的图示 ,程序设计及编码, 运行结果。
剩余23页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功