学 号课 程 设 计 报 告
课程名称 数据结构课程设计
题 目 信息工程学部 专 业班 级姓 名指导教师
2015年月日
1.1课程设计目的3
1.2 课程设计内容和要求3
1.2.2 要求:3
1.2.3 运行环境4
1.3课程设计分析4
1.4 算法描述4
1.5 源代码7
1.6运行结果分析17
小 结24
参考文献24
课程设计评分表25
1.1课程设计目的
通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。
通过实习巩固并提高实习者的C语言知识,并初步了解Visual C++的知识,提高其编程能力与专业水平。
1.2 课程设计内容和要求
1.2.1 课程设计内容
建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间的货物。
分步实施:
1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2.完成最低要求:建立一个文件,包括5个种类的货物情况,能对商品信息进行扩充(追加),修改和删除以及简单的排序;
3.进一步要求:扩充商品数量,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。
1.2.2 要求:
1.界面友好,函数功能要划分好
2.总体设计应画一流程图
3.程序要加必要的注释
4.要提供程序测试方案
5.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
1.2.3 运行环境
该程序的运行环境为Windows xp系统,Microsoft Visual C++6.0版本。
1.3课程设计分析
需要定义一个结构体数组,其中name表示商品的名称,time表示商品
的进货时间,year表示商品的生产日期,no表示商品的保质期。
利用冒泡法,对商品进行排序。
选择需要的功能,其中功能包括商品的最原始添加,商品的插入,删除,查找,将数据写入文件中,从文件中读出数据等操作。
选择输入0~9,10个数的其中一个数,进行相应的操作。
进行完所的操作之后,选择保存功能,将数据保存到文件中。
退出程序。
1.4 算法描述
先定义一个商品的结构体数组:
typedef struct /*定义结构体数组*/
{
char name[20];/*商品名称*/
int time;/*进货时间*/
int year;/*生产日期*/
int no;/*保质期*/
}goods;
建立一个菜单函数,显示10个功能,供用户选择,进行人机对话。
设置一个排序的函数,int shuru(shangp gs[],int n)。利用冒泡法先对商品按进货的时间排序,对进货时间一样的货物,再按离保质期最近排序。
设置一个输入的函数,int Input(goods gs[],int n)。这个函数是最初商品输入函数,当选择了这个功能后,如果是第一次运行这个程序,保存输入,那将在D盘产生一个名为“商品.doc”的文件,如果已经运行过了,并保存输入,那输入的商品信息将代替原有的信息,数据输入使用交互输入,进行人机对话,确定是否进行下一个数据的添加。并且调用了上面的排序函数,对输入的数据进行排序。
设置一个显示的函数,void shuchu(goods gs[],int n)。显示上面输入的所有数据,或者是从文件中读取的数据。
设置一个插入的函数,int charu(goods gs[],int n)。每次插入一组数据,如果要再插入,则再选择这个功能进行操作。并且在插入的同时,已经排好序,把数据插入适合的位置。
设置一个查找删除的函数,intchazhaoxianshi((goods gs[],int n)。输入要查找的商品名称,如果不存在,则输出失败信息,如果存在,则用下一个信息代替原有信息的位置。
设置一个查找显示的函数void chazhaoxianshi(goods gs[],int n)。输入要查找的商品名称,如果不存在,则输出失败信息,如果存在,则显示信息。
设置一个写入文件的函数,void xiewenjian(goods gs[],int n)。设置文件指针,先判断文件是否能打开并且能进行写操作,不能则输出失败信息,能则循环写入数据,写完关闭文件。
设置一个读文件的函数,int duwenjian