基于C语言设计的菜农种植信息管理系统
一、系统需求分析
要实现的是一个菜农种植信息管理系统,设计一个程序,帮助该菜农管理每年种植的蔬菜品种、蔬菜秧苗数量(株)、收获蔬菜的数量(斤)。
首先系统会进行对基础数据的导入,这一部分是从提供的三个xls文件中读取蔬菜种类信息,蔬菜基本信息,菜农种植信息这三类信息。在我的设计中,将数据载入设计成了打开系统之后会自动从文件夹中的三个文件中进行载入,不需要手动选择。在读取的过程中会构造一个三个方向的十字链表进行数据的保存。然后再对于已经载入到系统中的数据进行几方面的功能:数据维护、数据查询、数据统计、数据保存及导出。
在数据维护中,分为三个子模块:
- 蔬菜种类信息维护:包括对蔬菜种类信息的增加、修改和删除等功能。对于增加种类的功能,需要输入数据为想要增加的种类名称(char[8]),之后会输出添加成功;对于修改种类的功能,需要输入数据为想要改变的蔬菜种类(char[8])或者其分类编号(int),然后会再输入想要把它变成的蔬菜种类(char[8]),之后会输出修改成功;对于删除种类的功能,需要输入数据为想要删除的蔬菜种类(char[8])或者其分类编号(int),然后会输出删除成功;
- 蔬菜基本信息维护:包括对蔬菜基本信息的增加、修改和删除等功能。对于增加信息的功能,需要输入数据为想要增加的信息所属的分类码(int)、想要增加的信息的蔬菜名称(char[8])、想要增加的信息的营养成分(char[50]),之后会输出添加成功;对于修改种类的功能,需要输入数据为想要改变的蔬菜名称(char[8])或者其蔬菜编号(int),然后会再输入想要改成的蔬菜名称(char[8])、想要改成的营养成分(char[50])、之后会输出修改成功;对于删除信息的功能,需要输入数据为想要删除的蔬菜名称(char[8])或者其蔬菜编号(int——,然后会输出删除成功;
- 蔬菜种植信息维护:包括对蔬菜种植信息的增加、修改和删除等功能。对于增加计划的功能,需要输入数据为想要给哪种蔬菜增加新的种植信息(蔬菜编号int)、新增的种植信息中的种植面积(int)、新增的种植信息中的收获重量(float)、新增的种植信息中的种植年份(char[5]),之后会输出添加成功;对于修改种类的功能,需要输入数据为想要改变哪种蔬菜的种植信息(蔬菜编号int)以及想要改变这种蔬菜哪一年的种植信息(种植年份char[5],然后会再输入改成的种植面积(int)、改成的收获重量(float)、改成的种植年份(char[5])、之后会输出修改成功;对于删除信息的功能,需要输入数据为想要删除哪种蔬菜的种植信息(蔬菜编号int)以及想要删除这种蔬菜哪一年的种植信息(种植年份char[5]),然后会输出删除成功;
在数据查询中,分为三个子模块:
- 蔬菜种类信息查询功能:以分类编码为条件来查找并显示。输入数据为分类编码(int),输出结果为显示满足要求的蔬菜种类、基本信息、种植计划。
- 蔬菜基本信息查询功能:蔬菜名称子串为条件查找并显示、或是以分类码和营养成分子串为条件查找并显示。输入数据为想要查询哪类蔬菜中以及名称子串(char[8] char[6])或者想要查询的分类码以及营养成分子串(int char[20]),输出结果为显示满足要求的蔬菜种类、基本信息、种植计划。
- 蔬菜种植信息查询功能:蔬菜名称子串和种植年份为条件查找并显示、或是以蔬菜名称为条件查找并显示。输入数据为想要查询蔬菜名称子串以及年份(char[6] char[5] )或者是想要查询蔬菜名称(char[8]),输出结果为显示满足要求的蔬菜种类、基本信息、种植计划。
在数据统计中,分为四个模块:
- 统计某一年各类蔬菜信息并按收获重量降序排序后显示以及输出柱状统计图,输入为一个年份(char[5]),输出结果为按收获重量降序排序后显示以及输出柱状统计图
- 统计起止年份间某蔬菜信息并按收获重量降序排序后显示。输入为两个个年份(char[5] char[5]),输出结果为按收获重量降序排序后显示
- 统计某类蔬菜中已有的蔬菜数量。入口参数为整型实数,代表哪一类蔬菜,输出结果为当前种类下已有的蔬菜数量。
- 统计含有某营养成分的蔬菜信息并显示,入口参数为字符指针,指向营养成分子串,输出结果为含有该营养成分的蔬菜名称
在数据保存及导出中,首先对于最开始载入的文件,将老师提供的三个蔬菜种类信息,蔬菜基本信息,菜农种植信息文件通过另存为修改成csv文件,而在将数据载入系统后,当选择进行保存退出功能时,会自动地将系统中所有信息按照格式输出到对应的这三个文件中。而对于老师提出的另外两个导出功能(一个是某年各类蔬菜信息的导出形成文件按年份统计表,另一个是某蔬菜几年内种植信息的导出形成文件按蔬菜名称统计表),由于这两个导出功能实际上就是在前面统计某一年各类蔬菜信息以及按蔬菜名称为条件查找这两个功能之上添加了一步将信息输出到一个csv文件之中,所以不再单独列出这两个功能避免大段的前面的代码复制粘贴,而是直接将这两个统计表的导出功能写入到前面这两个功能的实现之中,在进行前两个功能之后自动地执行导出功能生成统计表。
无需输入,输出为csv文件。
二、总体设计
首先系统会进行对基础数据的导入,这一部分是从提供的三个xls文件中读取蔬菜种类信息,蔬菜基本信息,菜农种植信息这三类信息。在读取的过程中会构造一个三个方向的十字链表进行数据的保存。然后再对于已经载入到系统中的数据进行几方面的功能:数据维护、数据查询、数据统计、数据保存及导出。
在数据维护中,分为三个子模块:(1)蔬菜种类信息维护:包括对蔬菜种类信息的增加、修改和删除等功能。(2)蔬菜基本信息维护:包括对蔬菜基本信息的增加、修改和删除等功能。(3)蔬菜种植信息查询功能:蔬菜名称子串和种植年份为条件查找并显示、或是以蔬菜名称为条件查找并显示。
在数据查询中,分为三个子模块:(1)蔬菜种类信息查询功能:以分类编码为条件来查找并显示。(2)蔬菜基本信息查询功能:蔬菜名称子串为条件查找并显示、或是以分类码和营养成分子串为条件查找并显示。(3)蔬菜种植信息查询功能:蔬菜名称子串和种植年份为条件查找并显示、或是以蔬菜名称为条件查找并显示。并在此功能查找蔬菜名称中加入导出按名称统计表(如图2-1所示)。
在数据统计中,分为四个模块:(1)统计某一年各类蔬菜信息并按收获重量降序排序后显示以及输出柱状统计图。并在此功能统计某年蔬菜信息中加入导出按年份统计表(如图2-1所示)。(2)统计起止年份间某蔬菜信息并按收获重量降序排序后显示。(3)统计某类蔬菜中已有的蔬菜数量。(4)统计含有某营养成分的蔬菜信息并显示
在数据保存及导出中,自动地将系统中所有信息按照格式输出到对应的三个文件中。而对于老师提出的另外两个导出功能,在进行前两个功能之后自动地执行导出功能生成统计表。
系统框架图见图2-1。
图2-1 菜农种植管理系统系统框架图
完整的源码和详细的文档,上传到了 【WRITE-BUG数字空间】,需要的请自取:
https://www.writebug.com/code/0c7f3ccd-c792-11ed-a698-6479f0e5e323/#
【文章转自防cc http://www.558idc.com/gfcdn.html 复制请保留原URL】