课程设计(论文)
课程名称
数据结构课程设计
题 目
身份证信息管理系统
一、课程设计(论文)题目
身份证信息管理系统
说明:使用二叉查树实现身份证信息管理
二、本次课程设计(论文)应达到的目的
数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力段。
课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课
程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,
将起到显著的促进作用。
本题目要达到目的:熟练掌握二叉查树的实现。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术
参数、设计要求等)
1.能够进行身份证号码及相关信息(姓名、地址、手机号)的录入;
2.能够快速进行身份证号码的查询,并输出相关信息;
3.可以修改身份证号码对应的相关信息;
4.可以完成身份证信息的删除;
5.提供人机交互的界面。
四、应收集的资料及主要参考文献:
由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上
机练习了“二叉查树”的基本操作。
参考文献:
1. Robert L. Kruse,Data Structures And Program Design in C++,高等教育
出版社,2001.5;
2. 严蔚敏等编著,数据结构(C语言版),清华大学出版社,1997.4;
3. 赵文静等编著,数据结构与算法,科学出版社,2005.08;
4. 孙鑫等编著,VC++深入详解,电子工业出版社,2007.7 ;
五、审核批准意见
教研室主任(签字)
设计总说明
公民身份信息是国家最宝贵的基础信息资源之一,是制定与实
施各种政策和指导经济建设的重要依据,一个行之有效的身份证
信息管理系统至关重要。本系统采用二叉查树为基本数据结构,
提高了系统基本功能的执行效率,此外还利用MFC提供了人机交
互界面。
本系统最终实现了对公民信息的录入、删除、修改、查询、输
出等基本功能,同时还提供了人机交互界面以便于用户使用。系
统还实现了对信息的保存等功能。
关键字:二叉查树,MFC,人机交互
目录
1.设计目的 ...................................................................................................... 1
2.问题描述 ...................................................................................................... 2
3.需求分析 ...................................................................................................... 2
4.概要设计 ...................................................................................................... 2
5.详细设计 ...................................................................................................... 4
6.调试分析 ...................................................................................................... 7
7.使用说明 ...................................................................................................... 8
8.设计总结 .................................................................................................... 10
9.参考文献 .................................................................................................... 10
《数据结构》课程设计
身份证信息管理系统
1.设计目的
“数据结构”是计算机科学与技术专业一门十分重要的专业
技术基础课,计算机科学各领域及有关的应用软件都要使用到各
种数据结构。对于从事计算机科学及其应用的科技工作者来说,
数据结构与算法是必须透彻地掌握的重要基础。
学习数据结构与算法的最终目的是解决实际的应用问题,特
别是非数值计算类型的应用问题。课程设计是加强学生实践能力
的一个强有力手段。课程设计所安排的题目,在难度和深度方面
都大于平时的上机训练,要求同学在完成设计和编写中小型软件
的过程中,深化对数据结构与算法课程中基本概念、理论和方法
的理解;训练综合运用所学知识处理实际问题的能力,强化面向
对象的程序设计理念;使同学的程序设计与调试水平有一个明显
的提高。
课程设计要求学生在完成程序设计的同时能够撰写比较规范
的设计报告。严格实施课程设计这一环节,对于学生基本程序设
计素养的培养和软件工作者工作作风的训练,将起到显著的促进
作用。
2.问题描述
本次设计的是身份证信息管理系统,主要用到的是MFC,数据
的存储是用二叉查树,方便进行增、删、改、查,界面上的按
钮可以满足录入、修改、删除、查询、保存等。
第 5 页 共 13 页
3.需求分析
3.1 数据需求
经过分析,身份证相关信息需要包括身份证号、姓名、工作采用18位
字符,年收入考虑采用用整型数组存储。
3.2 基本功能需求
身份证信息管理系统的主要功能如下所述:
(1)提供人机交互界面;
(2)用户可以对公民信息信息进行录入、修改、删除、查询;
3.3 非功能性需求
用户界面需求:简洁、易用、易懂、友好的用户界面。
硬件要求:装有Visual C++6.0的计算机。
可靠性需求:保证用户在正常使用本系统时,用户的操作或
误操作不会产生数据的丢失。
4.概要设计
4.1 数据结构
本系统主要采用二叉查树位为主要存储结构,二叉查树
或者是一颗空树,或者是具有下列性质的二叉树:
①如果左子树不空,则左子树上所有结点的值均小于它的根
结点的值;
②如果右子树不空,则右子树上所有结点的值均大于它的根
结点的值;
③它的左右子树也分别为二叉查树。对于一个记录集合,
可以用一颗二叉查树来表示,树中的一个结点对应与集合中的
第 6 页 共 13 页
一个记录,整棵树表示该记录集合。二叉查树中每个结点所存
储的记录,其关键字都大于它的左子树上所有结点存储的记录的
关键字,而小于它的右子树上所有结点存储的记录的关键字。用
二叉查树表示记录集合时,不但容易进行动态查,而且对二
叉查树进行中序遍历时还可以得到记录集合中各记录的有序排
列。二叉排序树的存储结构采用二叉链表存储方式。
4.2 系统包含的函数
修改函数:OnBtnEdit();
删除函数:CDelDlg(CWnd* pParent )调用deleteinfo()函数实现
系统删除功能;
录入函数:OnBtnLuru()调用setWpoint(&m_wpoint)、DoModal ()
和showlist()实现系统录入功能;
查询函数:OnBtnFind() 调用find()和showlist()实现查询功能;
4.3 函数间关系
(1)OnBtnEdit()函数需要调用函数showlist()实现。
(2)CDelDlg(CWnd* pParent )需要调setWpoint(&m_wpoint),
DoModal (),showlist()。
(3)Find(),showlist()为OnBtnFind()函数的内部实现函数。
第 7 页 共 13 页
4.4 系统功能模块图
主界面
录
入
功
能
修
改
功
能
查
询
功
能
退
出
系
统
图 4-1系统功能模块图
5.详细设计
5.1系统函数详细介绍
本系统几个主要函数介绍如下:
(1)deleteinfo()函数实现系统的删除功能,其利用二叉查树
实现删除功能。
(2)showlist()函数实现系统的查询功能。
5.2系统功能模块介绍
(1)录入功能:进入录入界面后,按提示信息录入公民的身份证
号、工作、姓名、性别、年龄,录入后自动保存信息并保存显示
在主界面上。
(2)删除功能:进入删除界面后,键入要删除信息,系统自动查
询到要删除的信息并从文件中删除。
(3)修改功能:进入修改界面后,首先输入要修改的公民信息,
第 8 页 共 13 页
然后输入修改信息,系统自动保存已修改信息。
(4)查询功能:进入查询界面后,根据提示选择查询方式,输入
要查询的信息,系统根据信息查询,最终输出查询信息。
5.3 具体模块设计
(1)系统录入功能
输入公民信息
否
判断输入信息是否
合法?
是
信息录入成功
结束
信息录入失败
图5-1录入流程图
(2)查询功能
第 9 页 共 13 页
点击查询按钮
选择查询方式
输入要查询信息
否
判断输入信息是否
合法?
是
输出查询信息
是
查询失败
图5-2查询流程图
结束
6.调试分析
本系统是基于Windows的编程开发,所以,软件调试必须在
Windows环境下进行。调试前须做好准备工作:
(1) 需要安装Visual C++6.0的计算机一台;
第 10 页 共 13 页
配置好之后,在Visual C++6.0环境下进行软件的调试。
(2) 测试数据:
公民信息输入:
根据主界面提示,点击录入按钮,添加一条记录后,发现在
数据文本中有保存该记录,如果错误输入,观察是否能正常提示
信息。否则修改程序再进行调试。
例如:录入信息完毕后,系统显示录入成功,则程序正常运
行。退出保存。
公民信息的查询:
按身份信息进行查询或按工作信息进行查询,键入所需查询信
息便可查询系统中已保存信息。
(3) 算法改进设想:
在程序设计前期,我们并没有用设计文本保存功能。经过我
不断的修改以及调试后,该程序可实现文本保存功能。
7.使用说明
第一步:运行文件,进入欢迎界面
图7—1 欢迎界面
第 11 页 共 13 页
第二步:在主界面中选择需要操作的按钮,如修改、删除等功能
按钮
图7—2 主界面
第三步:部分功能演示
图7—3 信息录入界面
第 12 页 共 13 页
第四步:退出系统
8.设计总结
在本系统的开发设计中,由于是初次开发使用MFC,在知识、
经验方面都存在着不足。另外这个开发的过程比较仓促,因此留
下了一些不足与缺陷,因为对身份证信息管理的流程不太熟悉,
在分析时未能做到完善。尽管如此,我组还是学到了很多东西。
通过开发这个系统,我掌握了项目基本开发过程,用到的知识巩
固了我数据结构和MFC的学习,但在这次设计中的最大收获并不
是掌握这几门开发工具的应用,而是学习了设计系统的思维方法
这次课程设计也同时让我个人认识到了自己知识的不足,并
让我对数据结构和MFC有了全新的认识,也对其产生了浓厚的兴
趣。同时也要感谢老师和同学业的大力帮助。
9.参考文献
[1] 1. Robert L. Kruse,Data Structures And Program Design
in C++,高等教育出版社,2001.5;
[2] 严蔚敏等编著,数据结构(C语言版),清华大学出版社,
1997.4;
[3] 赵文静等编著,数据结构与算法,科学出版社,2005.08;
[4] 孙鑫等编著,VC++深入详解,电子工业出版社,2007.7;
第 13 页 共 13 页
本文发布于:2023-05-27 19:57:09,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/falv/fa/86/122617.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |