
汽车零部件采购管理系统程序ds.doc
44页HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目: 汽车零部件采购管理 专 业: 电子信息工程〔汽车电子〕 班 级: T1323-15 姓 名: 徐倩 成 绩:完成日期: 2014年19周 指导教师: 吴年志 目录C语言程序设计0课程设计报告01.课程设计目的----------------------------------------------------------------122.1 要求 23444454.详细设计 6数据结构设计 64.2 模块接口设计 71〕所有函数声明 72〕全局变量 93〕主要模块的实现 910135.1 欢迎界面 13 主菜单页面----------------------------------------------------------135.3 信息查询页面 145.4 统计菜单页面 145.5 显示信息页面 155.6 退出页面 15166.1 主菜单项选择择测试 1617采购信息输入调试-----------------------------------------------------18208.建议 2121211.课程设计目的1) 通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进展分析,并设计合理的模块化结构。
2) 通过课程设计,进一步掌握C语言中重要的数据结构掌握并熟练运用指针、链表、结构体、文件等数据结构3) 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序4) 通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统5) 通过课程设计,加强了自己的程序分析能力2.1 要求1) 遵循软件开发过程的根本规;能灵活应用,初步具备运用C程序解决实际问题的能力2) 运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程3) 学会利用数组、结构体、链表进展相关信息表示4) 功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5) 各主要功能模块有详尽的流程图与描述,用函数的形式实现,且调用入口、功能、出口等关系正确6) 所设计的C程序较好的可读性和可靠性;程序书写风格规,注释清晰7) 界面友好〔良好的人机互交〕,凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析8) 程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。
9) 学会通过各功能性测试用例测试程序的能力,尽可能防止原如此性错误的出现10) 掌握编写、调试和测试C语言程序的根本技巧,充分理解结构化程序设计的根本方法11) C语言课程设计报告的容反响实际设计过程,且符合格式要求,无抄袭现象描述在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件采购管理程序,以方便采购管理部门对采购零部件的管理该单位每次采购都有一个采购编号,每次采购一种零部件该程序应该具有如下功能1) 添加并保存采购信息:输入采购编号,零部件名称,采购员名字,采购日期,采购价格,采购数量,供货单位,需要判断采购价格和数量是否大于零,采购编号是否已存在,采购日期是否合法〔形如****-**-**,例如2013-09-08〕2) 根据采购编号查询零部件采购信息3) 根据零部件名称查询其采购信息4) 根据采购编号修改已有采购信息:需要判断修改后的采购编号的唯一性,采购日期的合法性〔形如****-**-**,例如2013-09-08〕5) 根据采购编号删除此条采购信息6) 统计功能境C语言程序整体功能结构如图一所示:开始显示课程以与学生信息显示主菜单,输入选择读取文件中的采购信息添加并保存采购信息由采购编号查找零部件采购信息由零部件名称查找其采购信息修改并保存采购信息删除并保存余下采购信息统计采购信息显示所有采购信息根据零部件名称统计其总数量根据采购员名字统计其采购次数1〕 封面模块函数void huanying()和函数void byebye()构成封面模块,构造和谐人机环境。
2〕 菜单模块 函数void menu()和函数void choise()构成选择菜单,二级菜单void tongji()构成统计功能菜单3〕 查询模块 函数void numshow()和函数void nameshow()分别实现根据采购编号和零部件名称查询采购信息的功能,其中会有其他函数辅助4〕 信息处理模块 函数void change()实现信息修改功能,函数void disapperr()实现信息删除功能,void input()实现信息添加功能,void save()实现信息保存功能,void listCG()实现信息显示功能,其中会有其他函数辅助5〕统计模块 函数int number()实现根据零部件名称统计其总数量功能,int times(〕实现根据采购员名字显示其采购次数的功能,其中会有其他函数辅助6〕日期审查模块 函数 void checkdate()使用标志位方法实现对时间的审查4.详细设计数据结构设计根据系统要求,采购信息包括:数据项名称数据项系统表示数据类型数据长度备注采购编号P1->buynum字符串10零部件名称P1->itemname字符串10采购日期P1->day字符串30采购员名字P1->buyername字符串10采购数量P1->count整型4采购价格P1->price单精度8供货单位P1->source字符串10为了能实现系统的优越性和c语言的精华采用链表的建立采购信息记录表,示意图如下:采购信息2采购信息3采购信息14.2 模块接口设计1〕所有函数声明viod huanying(); /*******封面函数,显示课程题目,学生信息******/ void menu(); /*****主菜单函数,显示各项功能*****/void choise(); /*****根据主菜单项选择择并执行功能*****/void readinto(); /**********读取文件的采购信息***********/void input(); /*****从键盘添加采购信息并保存到文件中******/void listCG(); /**********显示所有采购信息**********/void numshow(); /****根据采购编号查询对应采购信息并显示****/void nameshow(); /****根据零部件名称查询其采购信息并显示****/void change(); /****根据采购编号修改并显示采购信息****/void disapper(); /****根据采购编号删除并显示余下采购信息****/void tongji(); /******统计功能菜单,显示两项统计功能*****/int number(); /***根据零部件名称统计其购置总数量****/int times(); /****根据采购员名字统计其采购次数****/int checktime(int year,int month,int day );/*************审查日期输入是否符合要求**************/void byebye(); /*************告别界面************/void save(); /*********保存采购信息********/2〕全局变量1,用于存储采购信息的结构体struct buy;2,判断文件是否正确读入的标志位变量int flag;3,用于存储采购信息的结构体指针:struct buy *head=NULL,*p,*p1,*p2,*p3.3〕主要模块的实现系统以 int main()为入口,首先调用void huanying()显示课程名称和学生信息,调用void menu()和void choise()实现功能显示和功能选择。
接着,按照用户的要求,调用void numshow()或void nameshow()实现查询功能,或调用void change(),void disapper()实现修改和删除功能......不管是删除还是修改还是添加都要调用void save()实现信息保存功能添加和修改时还要调用int checktime(int year,int month,int day)函数对时间审查当不需要再执行各项功能时,调用void byebye()退出管理器1) 封面模块〔以欢迎界面为例,退出界面与此类似〕显示题目和学生信息进入系统2)菜单模块显示主菜单 承受用户输入选项否是否合法?退出管理系统是否是 执行用户所选功能否是是否合法?是否为7?否是是否为0? / 3) 查询模块〔以根据采购编号查询采购信息为例〕 返回主菜单页面显示编号对应采购信息编号是否存在 输入所查询采购编号主菜单4) 信息处理模块〔以添加采购信息为例〕 输入采购编号否是否是 显示添加信息 输入其他信息是否合格? 输入采购时间是否已存在5) 统计模块〔以根据零部件名称统计采购总数量为例〕是否s加上其数量返回主菜单是否存在?输入零部件名称,s=06)日期审查模块否是 返回0 返回1是否合格调用void checktime()函数输入采购时间,并将其表示成y,m,d5.运行结果5.1 欢迎界面5.2 主菜单5.3 信息查询页面5.4 统计菜单页面5.5 显示信息页面5.6 退出页面6.程序调试与测试测试数据:采购编号001001001002001003001004零部件名称活塞轮胎后视镜方向盘采购日期2013-09-272013-04-232013-09。
