数 据 结 构 课 程 设 计 报告
题目: 学生通讯录管理系统课程设计
学 院 信息工程学院 专 业 计算机科学与技术 年级班别 12级4班 学 号 2012051411 学生姓名 潘 小 恩 指导教师 米 文 丽 成 绩
2013年12月19日
目 录
一.总体设计方案 …………………………………………………………
二.各模块的功能和实现 ………………………………………………
三.课程设计心得 ………………………………………………………
四.项目源程序代码 ………………………………………………………
一、题目:学生通讯录管理系统
二、目的和要求
目的:1.掌握数据结构编程的基础知识较熟练的编写数据结构应用程序。
2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。 3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高, 进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。 要求: 1.学生信息包括学号、姓名、性别、年龄、住址、电话等(学号不重复)。
⑴ 系统以菜单方式工作
⑵ 学生信息录入功能(学生信息用文件保存)--输入 ⑶ 学生信息浏览功能--输出 ⑷ 学生信息查询功能--算法 2. 查询方式
⑴ 按学号查询等 ⑵ 按电话号查询等
3. 学生信息删除、修改功能(可选项)
三、信息描述
1. 学生信息包括学号(不允许重复)、姓名、性别、年龄、住址、电话等。
2. 使这个管理系统具有以下功能:可以使系统以菜单方式工作、能够录入,查 询,删除、排序学生的信息。
3. 可以按学号、电话号查询学生信息。使查询学生信息变得方便、简单。
四、解决方案
1、首先进行需求分析,搞清楚系统功能和任务;
2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;
3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;
4、根据分析编写数据结构编程代码。
一、 总体设计方
. 系统的总体流程图
图1.系统的总体流程图
二.各模块的功能和实现
1.菜单模块:显示学生通讯录管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。
2.输入模块:输入学生的学号、姓名以及其它的一些学生的相关信息,通过自己定义的void input(int)函数来实现。
3.保存模块:将内存中学生的信息输出到磁盘文件中,可以通过自己定义的void save()函数来实现。
4.浏览模块:浏览所有学生的相关信息,通过自己定义的void display()函数来实现。
5.删除模块:删除需要删除的学生的所有信息,通过自己定义的void del()函数来实现。
6.添加模块:添加需要添加的学生的相关信息,通过自己定义的void add()函数来实现。
7.修改模块:可以修改需要修改的学生的相关信息,通过自己定义的void modify()函数 来实现。
8.退出系统模块:退出学生信息管理系统,通过头文件stdlib.h中的exit(0)函数来实现。
三、学习心得
此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,运行的结果
也没有预想 中的好,数据的输出格式不太规范,而且各模块也出现了一些小问题,在老师和同学的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本上达到了预期的目的。本次数据结构课程设计的实习课让我对数据结构的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,这次程序设计课让我增添了许多程序设计经验,为我们将来走上工作岗位添加了不小的铺垫作用。本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到那些同学都在那认真的写程序,给了我继续的信心。在同学和老师的帮助下,我顺利的结束了本次实习,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了友谊和团结的重要性。
数 据 结 构 课 程 设 计 报告
题目: 学生通讯录管理系统课程设计
学 院 信息工程学院 专 业 计算机科学与技术 年级班别 12级4班 学 号 2012051411 学生姓名 潘 小 恩 指导教师 米 文 丽 成 绩
2013年12月19日
目 录
一.总体设计方案 …………………………………………………………
二.各模块的功能和实现 ………………………………………………
三.课程设计心得 ………………………………………………………
四.项目源程序代码 ………………………………………………………
一、题目:学生通讯录管理系统
二、目的和要求
目的:1.掌握数据结构编程的基础知识较熟练的编写数据结构应用程序。
2.能够利用所学的基本知识和技能,解决简单的程序设计问题,增强独立完成工作的能力。 3.通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高, 进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。 要求: 1.学生信息包括学号、姓名、性别、年龄、住址、电话等(学号不重复)。
⑴ 系统以菜单方式工作
⑵ 学生信息录入功能(学生信息用文件保存)--输入 ⑶ 学生信息浏览功能--输出 ⑷ 学生信息查询功能--算法 2. 查询方式
⑴ 按学号查询等 ⑵ 按电话号查询等
3. 学生信息删除、修改功能(可选项)
三、信息描述
1. 学生信息包括学号(不允许重复)、姓名、性别、年龄、住址、电话等。
2. 使这个管理系统具有以下功能:可以使系统以菜单方式工作、能够录入,查 询,删除、排序学生的信息。
3. 可以按学号、电话号查询学生信息。使查询学生信息变得方便、简单。
四、解决方案
1、首先进行需求分析,搞清楚系统功能和任务;
2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;
3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;
4、根据分析编写数据结构编程代码。
一、 总体设计方
. 系统的总体流程图
图1.系统的总体流程图
二.各模块的功能和实现
1.菜单模块:显示学生通讯录管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。
2.输入模块:输入学生的学号、姓名以及其它的一些学生的相关信息,通过自己定义的void input(int)函数来实现。
3.保存模块:将内存中学生的信息输出到磁盘文件中,可以通过自己定义的void save()函数来实现。
4.浏览模块:浏览所有学生的相关信息,通过自己定义的void display()函数来实现。
5.删除模块:删除需要删除的学生的所有信息,通过自己定义的void del()函数来实现。
6.添加模块:添加需要添加的学生的相关信息,通过自己定义的void add()函数来实现。
7.修改模块:可以修改需要修改的学生的相关信息,通过自己定义的void modify()函数 来实现。
8.退出系统模块:退出学生信息管理系统,通过头文件stdlib.h中的exit(0)函数来实现。
三、学习心得
此次实践课编写的是一个应用程序,相对于以前我们见到的程序,它要大得多,运行的结果
也没有预想 中的好,数据的输出格式不太规范,而且各模块也出现了一些小问题,在老师和同学的帮助下,我很有耐心的一次又一次的进行修改,最后运行的结果基本上达到了预期的目的。本次数据结构课程设计的实习课让我对数据结构的学习又有了更深入的了解,也让我更深刻地领悟到了“实践出真理”这个道理,在上机实践过程中学到的知识远远超过了在课堂上十几周学到的,这次程序设计课让我增添了许多程序设计经验,为我们将来走上工作岗位添加了不小的铺垫作用。本次实习中遇到了很多以前没有遇到过的问题,也曾想过要放弃,但看到那些同学都在那认真的写程序,给了我继续的信心。在同学和老师的帮助下,我顺利的结束了本次实习,让我知道原来凭借自己努力取得的成功会让自己这么欣慰,也让我知道了友谊和团结的重要性。