ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:178.22KB ,
资源ID:7788009      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7788009.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汽车零部件采购管理程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汽车零部件采购管理程序.docx

1、汽车零部件采购管理程序HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目: 汽车零部件采购管理 专 业: 电子信息工程(汽车电子) 班 级: T1323-15 *成 绩: 完成日期: 2014年19周 * *1.课程设计目的-1 主菜单页面-13 采购信息输入调试-181.课程设计目的1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2)通过课程设计,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、链表、结构体、文件等数据结构。3)通过课程设计,提高程序开发能力,能运用合理的控

2、制流编写清晰高效的程序。4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。5)通过课程设计,加强了自己的程序分析能力。2.需求分析 要求1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。3)学会利用数组、结构体、链表进行相关信息表示。4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5)各主要功能模块有详尽的流程图及描述,

3、用函数的形式实现,且调用入口、功能、出口等关系正确。6)所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。11)C语言课程设计报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。任务描述已知在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件

4、采购管理程序,以方便采购管理部门对采购零部件的管理。该单位每次采购都有一个采购编号,每次采购一种零部件。该程序应该具有如下功能1)添加并保存采购信息:输入采购编号,零部件名称,采购员名字,采购日期,采购价格,采购数量,供货单位,需要判断采购价格和数量是否大于零,采购编号是否已存在,采购日期是否合法(形如*-*-*,例如2013-09-08)。2)根据采购编号查询零部件采购信息3)根据零部件名称查询其采购信息4)根据采购编号修改已有采购信息:需要判断修改后的采购编号的唯一性,采购日期的合法性(形如*-*-*,例如2013-09-08)。5)根据采购编号删除此条采购信息6)统计功能运行环境VC+编

5、译环境开发工具C语言3.总体设计 系统流设计 程序整体功能结构如图一所示:系统模块设计1) 封面模块 函数void huanying()和函数void byebye()构成封面模块,构造和谐人机环境。2) 菜单模块 函数void menu()和函数void choise()构成选择菜单,二级菜单void tongji()构成统计功能菜单。3) 查询模块 函数void numshow()和函数void nameshow()分别实现根据采购编号和零部件名称查询采购信息的功能,其中会有其他函数辅助。4) 信息处理模块 函数void change()实现信息修改功能,函数void disapperr(

6、)实现信息删除功能,void input()实现信息添加功能,void save()实现信息保存功能,void listCG()实现信息显示功能,其中会有其他函数辅助。5)统计模块 函数int number()实现根据零部件名称统计其总数量功能,int times()实现根据采购员名字显示其采购次数的功能,其中会有其他函数辅助。6)日期审查模块 函数 void checkdate()使用标志位方法实现对时间的审查。4.详细设计数据结构设计根据系统要求,采购信息包括:数据项名称数据项系统表示数据类型数据长度备注采购编号P1-buynum字符串10零部件名称P1-itemname字符串10采购日期

7、P1-day字符串30采购员名字P1-buyername字符串10采购数量P1-count整型4采购价格P1-price单精度8供货单位P1-source字符串10为了能实现系统的优越性和c语言的精华采用链表的建立采购信息记录表,示意图如下: 模块接口设计1)所有函数声明viod huanying(); /*封面函数,显示课程题目,学生信息*/ void menu(); /*主菜单函数,显示各项功能*/void choise(); /*根据主菜单选择并执行功能*/void readinto(); /*读取文件内的采购信息*/void input(); /*从键盘添加采购信息并保存到文件中*/v

8、oid listCG(); /*显示所有采购信息*/void numshow(); /*根据采购编号查询对应采购信息并显示*/void nameshow(); /*根据零部件名称查询其采购信息并显示*/void change(); /*根据采购编号修改并显示采购信息*/void disapper(); /*根据采购编号删除并显示余下采购信息*/void tongji(); /*统计功能菜单,显示两项统计功能*/int number(); /*根据零部件名称统计其购买总数量*/int times(); /*根据采购员名字统计其采购次数*/int checktime(int year,int mo

9、nth,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()实现功能显示和功能选择。接着,按照用户的要求,调用vo

10、id numshow()或void nameshow()实现查询功能,或调用void change(),void disapper()实现修改和删除功能.不管是删除还是修改还是添加都要调用void save()实现信息保存功能。添加和修改时还要调用int checktime(int year,int month,int day)函数对时间审查。当不需要再执行各项功能时,调用void byebye()退出管理器。主要功能模块的流程图1)封面模块(以欢迎界面为例,退出界面与此类似) 2)菜单模块3)查询模块(以根据采购编号查询采购信息为例)4)信息处理模块(以添加采购信息为例)5)5)统计模块(以

11、根据零部件名称统计采购总数量为例)6)日期审查模块5.运行结果 欢迎界面 主菜单 信息查询页面 统计菜单页面 显示信息页面 退出页面6.程序调试与测试测试数据:采购编号001001001002001003001004零部件名称活塞轮胎后视镜方向盘采购日期2013-09-272013-04-232013-09-082013-09-07采购员名字刘尧徐倩卫添翼李林琳采购数量90679089采购价格供货单位汽院十堰黄冈河南 主菜单选择测试 若用户输入错误选项,则如图显示:采购信息未从文件读入采购信息的输入测试1)若添加的采购编号已存在,则如图显示:2)若添加的采购信息日期格式输入错误,则如图显示3)

12、若查询的采购编号输入错误,则如图显示4)若查询的零部件名称输入错误,则如图显示5)若输入价格为负数时,如图显示6)若输入的数量为负值时,如图显示7.问题与不足1、需求分析中存在的问题 每次只能从键盘中添加一条采购信息,当遇到需要添加多条信息时,比较麻烦。统计功能太少,如果要求几个零部件的总价,无法实现。2、程序中存在的缺陷 每次运行其他功能前都要先从文件中读入,比较耗时。有些功能输入错误时无法重新输入,而是直接跳到主菜单。缓存较多。8.建议题目应更加贴近生活,这样可以让同学们看到c语言的有用之处,激发同学们的学习热情。课程设计的题目涉及范围应该更广。程序设计的功能应相对更加复杂一点,这样有利培

13、养同学们的分析问题,解决问题的能力,同时也能提高同学们对代码的掌握能力。再者,就是验收时应该要学生画出链表结构图,帮助他们更加深刻的掌握知识。9.编程体会 经历了编c语言课程设计后,我对这一学期c语言所学内容有了更加深刻的了解和掌握,特别是一直不懂的链表和指针,现在发现自己都能运用了,很开心自己的进步。所以,虽然写程序的过程中,遇到各种问题,调试的时候也是遇到各种令人头大的问题,但能借助课程设计提高自己对指针和链表的熟练度,提高自己对c语言编程的熟练度,也希望学校可以多开设一些这样的课程,既是让我们对自己所学知识的一个综合理解与使用,也可以提高我们的动手实践能力、对知识的运用能力,更是一个让我

14、们学会独立思考的好机会。10.程序源代码#include #include #include #include #include #include#define LEN sizeof(struct buy) /申请结构体空间#define N 100/*申明程序中运用的函数*/void huanying(); /封面函数void readinto(); /读取文件void input(); /添加采购信息void listCG(); /显示采购信息void numshow(); /根据采购编号显示采购信息void nameshow(); /根据零部件名称显示采购信息void change();

15、 /修改采购信息void disapper(); /删除采购信息void menu(); /显示主菜单void choise(); /选择所需功能void tongji(); /统计功能菜单int number(); /根据零部件名称统计采购的零部件总数量int times(); /根据采购员名字统计采购的零部件总数量int checkdate(int year,int month,int day); /检测时间void byebye(); /告别界面void save(); /保存文件 /*定义全局变量*/struct buy /定义结构体 char buynum10; char itemn

16、ame10; char day30; char buyername10; int count; float price; char source10; struct buy *next;int flag=0;/*flag为文件是否以正确读入的标志位*/struct buy *head=NULL,*p,*p1,*p2,*p3; /*定义结构体指针*/*主函数*/int main() huanying(); getch(); while(1) menu(); /*显示主菜单*/ choise(); /*显示选择功能*/ return 0;/*封面函数*/void huanying() printf

17、(nnntt*n); printf(tt* *n); printf(tt* c语言课程设计 *n); printf(tt* *n); printf(tt* 学生姓名:徐倩 *n); printf(tt* 指导老师:吴年志 *n); printf(tt* 班级:T1323-15 *n); printf(tt* 学号:538 *n); printf(tt* 联系方式:(69180) *n); printf(tt* *n); printf(tt* 课程题目:汽车零部件采购管理程序 *n); printf(tt* *n); printf(tt*n); fflush(stdin); printf(请按回

18、车键继续);/*告别界面*/void byebye() printf(nnntt*n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* *n); printf(tt* 欢迎下次使用 *n); printf(tt*n);/*主菜单函数*/void menu() system(cls); printf(nnntt*欢迎使用汽车零部件管理系

19、统*n); printf(tt | tttt|n); printf(tt |tt1,读取采购信息ttt|n); printf(tt | tttt|n); printf(tt |tt2,从键盘添加并保存采购信息t|n); printf(tt | tttt|n); printf(tt |tt3,根据采购编号查找零件信息t|n); printf(tt | tttt|n); printf(tt |tt4,根据零部件名称查找采购信息t|n); printf(tt | tttt|n); printf(tt |tt5,修改并保存采购信息tt|n); printf(tt | tttt|n); printf(t

20、t |tt6,删除并保存余下采购信息t|n); printf(tt | tttt|n); printf(tt |tt7,统计采购信息ttt|n); printf(tt | tttt|n); printf(tt |tt8,显示采购信息ttt|n); printf(tt | tttt|n); printf(tt |tt0,退出管理系统ttt|n); printf(tt*n);/*读入文件函数*/void readinto() FILE *fp; /*文件指针*/ int n=0; if(fp=fopen(,r)=NULL) /*打开文件时无此文件*/ printf(文件打开错误:n); exit(

21、0); p1=(struct buy *)malloc(LEN); head=p1; p1-next =NULL; while(!feof(fp) /*读取文件内的信息*/ fscanf(fp,%s%s%s%s%d%f%s, p1-buynum,p1-itemname,p1-day,p1-buyername,&p1-count,&p1-price,p1-source); p2=(struct buy *)malloc(LEN); /*p2指向新申请的节点*/ p1-next =p2; p3=p1; p1=p2; p1-next =NULL; free(p2); p3-next=NULL; fc

22、lose(fp); /*关闭文件*/ flag=1; printf(文件读取成功!n); listCG(); /*选择所需功能函数*/void choise() int n; printf(-请从键盘输入您的选择(0-8内的整数):); scanf(%d,&n); while(n8) printf(输入不合法,请再输入一次:); scanf(%d,&n); switch(n) case 1:system(cls); /*清屏*/ readinto(); break; case 2:system(cls); input(); break; case 3:system(cls); numshow(); break; case 4:system(cls); nameshow(); break; case 5:system(cls); change(); break; case 6:system(cls); disapper(); break; case 7:system(cls); tongji(); break; case 8:system(cls); listCG(); break; case 0:system(cls); byebye(); exit(0); /*从键盘添加并保存采购信息函数*/void input() int n=0,i=0,k; char ch;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1