汽车零部件采购管理教材

上传人:213****21g 文档编号:158287097 上传时间:2022-10-03 格式:DOCX 页数:67 大小:390.44KB
返回 下载 相关 举报
汽车零部件采购管理教材_第1页
第1页 / 共67页
汽车零部件采购管理教材_第2页
第2页 / 共67页
汽车零部件采购管理教材_第3页
第3页 / 共67页
点击查看更多>>
资源描述
汽车零部件采购管理 HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序序设计课程设计报报告课设题目: 汽车零零部件采采购管理理 专 业: 电子信信息工程程(汽车车电子) 班 级: T13323-15 姓 名: 徐倩 成 绩: 完成日期: 20114年119周 指导教师: 吴年年志 目录C语言程序序设计0课程设计报报告01.课程设设计目的的-12.需求分分析22.1 要要求22.2任务务描述32.3运行行环境42.4开发发工具43.总体设设计43.1系统统流设计计4 33.2系系统模块块设计54.详细设设计64.1数据据结构设设计64.2 模模块接口口设计71)所有函函数声明明72)全局变变量93)主要模模块的实实现94.3主要要功能模模块的流流程图105.运行结结果135.1 欢欢迎界面面13 55.2 主菜菜单页面面-1335.3 信信息查询询页面145.4 统统计菜单单页面145.5 显显示信息息页面155.6 退退出页面面156.程序调调试与测测试166.1 主主菜单选选择测试试166.2采购购信息未未从文件件读入17 66.3采采购信息息输入调调试-187.问题与与不足208.建议219.编程体体会2110.程序序源代码码211.课程设设计目的的1) 通过课程设设计,加加深对结结构化程程序设计计思想的的理解,能能对系统统功能进进行分析析,并设设计合理理的模块块化结构构。2) 通过课程设设计,进进一步掌掌握C语语言中重重要的数数据结构构。掌握握并熟练练运用指指针、链链表、结结构体、文文件等数数据结构构。3) 通过课程设设计,提提高程序序开发能能力,能能运用合合理的控控制流编编写清晰晰高效的的程序。4) 通过课程设设计,培培养C语语言知识识运用和和自学能能力,真真正的把把课堂上上获得的的知识运运用起来来,培养养自己对对程序编编写的兴兴趣,并并能独立立设计和和实现一一个小型型系统。5) 通过课程设设计,加加强了自自己的程程序分析析能力。2.需求分分析2.1 要要求1) 遵循软件开开发过程程的基本本规范;能灵活活应用,初初步具备备运用CC程序解解决实际际问题的的能力。2) 运用结构化化程序设设计方法法,按照照课程设设计题目目要求,完完成包括括需求分分析、数数据结构构设计、概概要设计计、详细细设计、编编写代码码、调试试和测试试C程序序等过程程。3) 学会利用数数组、结结构体、链链表进行行相关信信息表示示。4) 功能模块划划分清晰晰,系统统结构图图符合功功能操作作要求,且且有详尽尽的功能能描述5) 各主要功能能模块有有详尽的的流程图图及描述述,用函函数的形形式实现现,且调调用入口口、功能能、出口口等关系系正确。6) 所设计的CC程序较较好的可可读性和和可靠性性;程序序书写风风格规范范,注释释清晰。7) 界面友好(良良好的人人机互交交),凡凡需要输输入信息息时,都都有较详详尽的提提示信息息,并对对输入信信息有较较完善的的值域分分析。8) 程序经上机机调试通通过,不不应出现现语法型型、功能能型错误误,并获获得满意意的结果果。9) 学会通过各各功能性性测试用用例测试试程序的的能力,尽尽可能避避免原则则性错误误的出现现。10) 掌握编写、调调试和测测试C语语言程序序的基本本技巧,充充分理解解结构化化程序设设计的基基本方法法。11) C语言课程程设计报报告的内内容反应应实际设设计过程程,且符符合格式式要求,无无抄袭现现象。2.2任务务描述已知在汽车车生产时时,需要要向零部部件生产产厂商采采购零部部件,设设计一个个汽车零零部件采采购管理理程序,以以方便采采购管理理部门对对采购零零部件的的管理。该该单位每每次采购购都有一一个采购购编号,每每次采购购一种零零部件。该该程序应应该具有有如下功功能1) 添加并保存存采购信信息:输输入采购购编号,零零部件名名称,采采购员名名字,采采购日期期,采购购价格,采采购数量量,供货货单位,需需要判断断采购价价格和数数量是否否大于零零,采购购编号是是否已存存在,采采购日期期是否合合法(形形如*-*-*,例例如20013-09-08)。2) 根据采购编编号查询询零部件件采购信信息3) 根据零部件件名称查查询其采采购信息息4) 根据采购编编号修改改已有采采购信息息:需要要判断修修改后的的采购编编号的唯唯一性,采采购日期期的合法法性(形形如*-*-*,例例如20013-09-08)。5) 根据采购编编号删除除此条采采购信息息6) 统计功能2.3运行行环境VC+66.0编编译环境境2.4开发发工具C语言3.总体设设计3.1系统统流设计计程序整体体功能结结构如图图一所示示:开始显示课程以及学生信息显示主菜单,输入选择读取文件中的采购信息添加并保存采购信息由采购编号查找零部件采购信息由零部件名称查找其采购信息修改并保存采购信息删除并保存余下采购信息统计采购信息显示所有采购信息根据零部件名称统计其总数量根据采购员名字统计其采购次数3.2系统统模块设设计1) 封面面模块 函数vvoidd huuanyyingg()和和函数vvoidd byyebyye()构成封封面模块块,构造造和谐人人机环境境。2) 菜单单模块 函数数voiid mmenuu()和和函数vvoidd chhoisse()构成选选择菜单单,二级级菜单vvoidd toongjji()构成统统计功能能菜单。3) 查询询模块 函数vvoidd nuumshhow()和函函数vooid nammeshhow()分别别实现根根据采购购编号和和零部件件名称查查询采购购信息的的功能,其其中会有有其他函函数辅助助。4) 信息息处理模模块 函数vvoidd chhangge()实现信信息修改改功能,函函数vooid dissappperrr()实实现信息息删除功功能,vvoidd innputt()实实现信息息添加功功能,vvoidd saave()实现现信息保保存功能能,vooid lisstCGG()实实现信息息显示功功能,其其中会有有其他函函数辅助助。5)统计模模块 函数数intt nuumbeer()实现根根据零部部件名称称统计其其总数量量功能,iint timmes()实现现根据采采购员名名字显示示其采购购次数的的功能,其其中会有有其他函函数辅助助。6)日期审审查模块块 函数 voiid cchecckdaate()使用用标志位位方法实实现对时时间的审审查。4.详细设设计4.1数据据结构设设计根据系统要要求,采采购信息息包括:数据项名称称数据项系统统表示数据类型数据长度备注采购编号P1-bbuynnum字符串10零部件名称称P1-iitemmnamme字符串10采购日期P1-dday字符串30采购员名字字P1-bbuyeernaame字符串10采购数量P1-ccounnt整型4采购价格P1-ppricce单精度8供货单位P1-ssourrce字符串10为了能实现现系统的的优越性性和c语语言的精精华采用用链表的的建立采采购信息息记录表表,示意意图如下下:采购信息2采购信息3采购信息14.2 模模块接口口设计1)所有函函数声明明viod huaanyiing(); /*封面函函数,显显示课程程题目,学学生信息息*/ void mennu(); /*主菜菜单函数数,显示示各项功功能*/void chooisee(); /*根据据主菜单单选择并并执行功功能*/void reaadinnto(); /*读取文文件内的的采购信信息*/void inpput(); /*从键键盘添加加采购信信息并保保存到文文件中*/void lisstCGG(); /*显示所所有采购购信息*/void nummshoow(); /*根据采采购编号号查询对对应采购购信息并并显示*/void nammeshhow(); /*根据零零部件名名称查询询其采购购信息并并显示*/void chaangee(); /*根据采采购编号号修改并并显示采采购信息息*/void dissappper(); /*根据采采购编号号删除并并显示余余下采购购信息*/void tonngjii(); /*统统计功能能菜单,显显示两项项统计功功能*/int nnumbber(); /*根根据零部部件名称称统计其其购买总总数量*/int ttimees(); /*根据采采购员名名字统计计其采购购次数*/int ccheccktiime(intt yeear,intt moonthh,innt dday );/*审查日日期输入入是否符符合要求求*/void byeebyee(); /*告别界界面*/void savve(); /*保存存采购信信息*/2)全局变变量1,用于存存储采购购信息的的结构体体strructt buuy;2,判断文文件是否否正确读读入的标标志位变变量innt fflagg;3,用于存存储采购购信息的的结构体体指针:strructt buuy *heaad=NNULLL,*pp,*pp1,*p2,*p33.3)主要模模块的实实现系统以 iint maiin()为入口口,首先先调用vvoidd huuanyyingg()显显示课程程名称和和学生信信息,调调用vooid mennu()和vooid chooisee()实实现功能能显示和和功能选选择。接接着,按按照用户户的要求求,调用用voiid nnumsshoww()或或voiid nnameeshoow()实现查查询功能能,或调调用vooid chaangee(),voiid ddisaappeer()实现修修改和删删除功能能.不管是是删除还还是修改改还是添添加都要要调用vvoidd saave()实现现信息保保存功能能。添加加和修改改时还要要调用iint cheeckttimee(innt yyearr,innt mmontth,iint dayy)函数数对时间间审查。当不需要再再执行各各项功能能时,调调用vooid byeebyee()退退出管理理器。4.3主要要功能模模块的流流程图1) 封面模块(以以欢迎界界面为例例,退出出界面与与此类似似)显示题目和学生信息 进入系统2)菜单模模块显示主菜单 接受用户输入选项否是否合法?退出管理系统是否是 执行用户所选功能否是是否合法?是否为7?否是是否为0?第 66 页 共 67 页 制作人:徐倩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.程序调调试与测测试测试数据:采购编号0010001001000200100030010004零部件名称称活塞轮胎后视镜方向盘采购日期2013-09-272013-04-232013-09-082013-09-07采购员名字字刘尧徐倩卫添翼李林琳采购数量90679089采购价格90.0000000078.0000000078.0000000067.00000000供货单位汽院十堰黄冈河南6.1 主主菜单选选择测试试若用户输输入错误误选项,则则如图显显示:6.2采购购信息未未从文件件读入6.3采购购信息的的输入测测试1)若添加加的采购购编号已已存在,则则如图显显示:2) 若添加的采采购信息息日期格格式输入入错误,则则如图显显示3) 若查询的采采购编号号输入错错误,则则如图显显示4) 若查询的零零部件名名称输入入错误,则则如图显显示5) 若输入价格格为负数数时,如如图显示示6) 若输入的数数量为负负值时,如如图显示示7.问题与与不足1、需求分分析中存存在的问问题 每次次只能从从键盘中中添加一一条采购购信息,当当遇到需需要添加加多条信信息时,比比较麻烦烦。统计计功能太太少,如如果要求求几个零零部件的的总价,无无法实现现。2、 程序中存在在的缺陷陷 每次次运行其其他功能能前都要要先从文文件中读读入,比比较耗时时。有些些功能输输入错误误时无法法重新输输入,而而是直接接跳到主主菜单。缓缓存较多多。8.建议题目应更加加贴近生生活,这这样可以以让同学学们看到到c语言言的有用用之处,激激发同学学们的学学习热情情。课程程设计的的题目涉涉及范围围应该更更广。程程序设计计的功能能应相对对更加复复杂一点点,这样样有利培培养同学学们的分分析问题题,解决决问题的的能力,同同时也能能提高同同学们对对代码的的掌握能能力。再再者,就就是验收收时应该该要学生生画出链链表结构构图,帮帮助他们们更加深深刻的掌掌握知识识。9.编程体体会 经经历了编编c语言言课程设设计后,我我对这一一学期cc语言所所学内容容有了更更加深刻刻的了解解和掌握握,特别别是一直直不懂的的链表和和指针,现现在发现现自己都都能运用用了,很很开心自自己的进进步。所所以,虽虽然写程程序的过过程中,遇遇到各种种问题,调调试的时时候也是是遇到各各种令人人头大的的问题,但但能借助助课程设设计提高高自己对对指针和和链表的的熟练度度,提高高自己对对c语言言编程的的熟练度度,也希希望学校校可以多多开设一一些这样样的课程程,既是是让我们们对自己己所学知知识的一一个综合合理解与与使用,也也可以提提高我们们的动手手实践能能力、对对知识的的运用能能力,更更是一个个让我们们学会独独立思考考的好机机会。10.程序序源代码码#inclludee #inclludee #inclludee #inclludee #inclludee #inclludee#defiine LENN siizeoof(sstruuct buyy) /申请请结构体体空间#defiine N 1100/*申明明程序中中运用的的函数*/void huaanyiing(); /封面面函数void reaadinnto(); /读读取文件件void inpput(); /添加加采购信信息void lisstCGG(); /显示示采购信信息void nummshoow(); /根据据采购编编号显示示采购信信息void nammeshhow(); /根据据零部件件名称显显示采购购信息void chaangee(); /修修改采购购信息void dissappper(); /删删除采购购信息void mennu(); /显示示主菜单单void chooisee(); /选择择所需功功能void tonngjii(); /统统计功能能菜单int nnumbber(); /根根据零部部件名称称统计采采购的零零部件总总数量int ttimees(); /根据据采购员员名字统统计采购购的零部部件总数数量int cchecckdaate(intt yeear,intt moonthh,innt dday); /检检测时间间void byeebyee(); /告别别界面void savve(); /保存存文件/*定义全全局变量量*/strucct bbuy /定义义结构体体charr buuynuum110;charr ittemnnamee100;charr daay330;charr buuyerrnamme110;int couunt;floaat ppricce;charr soourcce110;struuct buyy *nnextt;int fflagg=0;/*fllag为为文件是是否以正正确读入入的标志志位*/strucct bbuy *heead=NULLL,*p,*p1,*p22,*pp3; /*定定义结构构体指针针*/*主主函数*/int mmainn()huannyinng();getcch();whille(11)mennu();/*显示示主菜单单*/chooisee();/*显示示选择功功能*/retuurn 0;/*封面面函数*/void huuanyyingg()prinntf(nnnnttt*nn); pprinntf(ttt* *nn); pprinntf(ttt* c语语言课程程设计 *nn); pprinntf(ttt* *nn); pprinntf(ttt* 学生姓姓名:徐徐倩 *n); pprinntf(ttt* 指导老老师:吴吴年志 *n); pprinntf(ttt* 班级:T13323-15 *nn); pprinntf(ttt* 学号:20113022315538 *nn); pprinntf(ttt* 联系系方式:18777299613357(6691880) *n); pprinntf(ttt* *nn); pprinntf(ttt* 课程程题目:汽车零零部件采采购管理理程序 *n); pprinntf(ttt* *nn); pprinntf(ttt*nn); fffluush(stddin); pprinntf(请按按回车键键继续);/*告告别界面面*/void byeebyee()prinntf(nnnnttt*nn); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* *n); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* *nn); pprinntf(ttt* 欢欢迎下次次使用 *nn); pprinntf(ttt*nn);/*主菜单单函数*/void mennu()systtem(clls);prinntf(nnnnttt*欢欢迎使用用汽车零零部件管管理系统统*nn);prinntf(ttt | ttttt|n);prinntf(ttt |ttt11,读取取采购信信息tttt|n);prinntf(ttt | ttttt|n);prinntf(ttt |ttt22,从键键盘添加加并保存存采购信信息tt|nn);prinntf(ttt | ttttt|n);prinntf(ttt |ttt33,根据据采购编编号查找找零件信信息tt|nn);prinntf(ttt | ttttt|n);prinntf(ttt |ttt44,根据据零部件件名称查查找采购购信息t|n);prinntf(ttt | ttttt|n);prinntf(ttt |ttt55,修改改并保存存采购信信息ttt|n);prinntf(ttt | ttttt|n);prinntf(ttt |ttt66,删除除并保存存余下采采购信息息t|n);prinntf(ttt | ttttt|n);prinntf(ttt |ttt77,统计计采购信信息tttt|n);prinntf(ttt | ttttt|n);prinntf(ttt |ttt88,显示示采购信信息tttt|n);prinntf(ttt | ttttt|n);prinntf(ttt |ttt00,退出出管理系系统tttt|n);prinntf(ttt*n);/*读入入文件函函数*/void reaadinnto()FILEE *ffp; /*文件指指针*/ iint n=00; if(fp=foppen(liingjjiann.txxt,r)=NUULL) /*打开开文件时时无此文文件*/ priintff(文文件打开开错误:n); exiit(00); p1=(strructt buuy *)maallooc(LLEN); headd=p11;p1-nexxt =NULLL; whille(!feoof(ffp)/*读取文文件内的的信息*/ fsccanff(fpp,%s%ss%s%s%dd%f%s, p11-bbuynnum,p1-ittemnnamee,p11-dday,p1-buuyerrnamme,&p1-coountt,&pp1-priice,p1-soourcce); p2=(sttrucct bbuy *)mmallloc(LENN); /*p22指向新新申请的的节点*/p1-neext =p22; p3=p1; p1=p2; p1-neext =NUULL; freee(p22); p3-nexxt=NNULLL; fcloose(fp);/*关闭闭文件*/ flagg=1;prinntf(文件件读取成成功!n);listtCG();/*选择择所需功功能函数数*/void chooisee()int n;prinntf(-请从从键盘输输入您的的选择(00-8内内的整数数):);scannf(%d,&nn);whille(nn8)priintff(输输入不合合法,请请再输入入一次:);scaanf(%dd,&n);swittch(n)casee 1:sysstemm(ccls);/*清屏屏*/reaadinnto();breeak;casee 2:sysstemm(ccls);inpput();breeak;casee 3:sysstemm(ccls);nummshoow();breeak;casee 4:sysstemm(ccls);nammeshhow();breeak;casee 5:sysstemm(ccls);chaangee();breeak;casee 6:sysstemm(ccls);dissappper();breeak;casee 7:sysstemm(ccls);tonngjii();breeak;casee 8:sysstemm(ccls);lisstCGG();breeak;casee 0:sysstemm(ccls);byeebyee();exiit(00);/*从键盘盘添加并并保存采采购信息息函数*/void inpput()int n=00,i=0,kk;charr chh;longg y,m,dd;if(fflagg=00) priintff(未未建立,采采购信息息数据库库为空n); priintff(按按任意键键返回);gettch(); retturnn; pprinntf(请输输入将要要添加的的采购编编号(形形如00010002,以以回车键键结束)n);ffluush(stddin);scannf(%s,p22-bbuynnum);p1=hheadd;whille(pp1!=NULLL)if(strrcmpp(p22-bbuynnum,p1-buuynuum)=0)/*找到数数据库信信息中与与输入相相同的采采购编号号*/prrinttf(你输入入的采购购编号已已存在!);prrinttf(对应零零部件信信息如下下:);prrinttf(采购编编号:%snn,pp1-buyynumm);prrinttf(零部件件名称:%sn,p1-ittemnnamee);prrinttf(采购日日期:%snn,pp1-dayy);prrinttf(采购员员名字:%sn,p1-buuyerrnamme);prrinttf(采购数数量:%dnn,pp1-couunt);prrinttf(采购价价格:%fnn,pp1-priice);prrinttf(供货单单位:%snn,pp1-souurcee);n=1;/*标标志位*/prrinttf(请按任任意键返返回!n);geetchh();syysteem(clss);brreakk;p1=p1-neext;if(nn!=11)sysstemm(ccls);p1=heaad;whiile(p1-neext!=NUULL) p11=p11-nnextt;priintff(请请输入);p2=(sttrucct bbuy *)mmallloc(LENN); /开开辟一个个新单元元 ffllushh(sttdinn);forr(i=0;iibuyynumm);iff(i=1) fffluush(stddin);pprinntf(零部部件名称称(文字字或英文文字符串串型):);sscannf(%s, pp2-iteemnaame);iff(i=2)ddopriintff(采采购日期期(形如如*-*-*,以以回车键键结束):);ffllushh(sttdinn);scaanf(%ss,pp2-dayy);if(p2-daay44=-&pp2-dayy7=-&sttrleen(pp2-dayy)=10)y=(p2-daay00-448)*10000+(p2-daay11-448)*1000+(pp2-dayy2-488)*110+(p2-daay33-448);m=(p2-daay55-448)*10+(p22-dday6-48);d=(p2-daay88-448)*10+(p22-dday9-48);k=cchecckdaate(y,mm,d);/*根根据函数数返回值值判断是是否要重重新输入入*/if(k=1)breeak;whiile(1);iff(i=3)fffluush(stddin);pprinntf(采购购员名字字(文字字或英文文字符串串型,以以回车键键结束):);sscannf(%s,p22-bbuyeernaame);iff(i=4)fffluush(stddin);pprinntf(采购购数量(文文字或英英文字符符串型,以以回车键键结束):);sscannf(%d, &p2-coountt);wwhille(pp2-couuntcoountt);iff(i=5) fffluush(stddin);pprinntf(采购购价格(数数字型,以以回车键键结束):);sscannf(%f,&pp2-priice);wwhille(pp2-priiceprricee);iff(i=6)fffluush(stddin);pprinntf(供货货单位(文文字或英英文字符符串型,以以回车键键结束):);sscannf(%s,p22-ssourrce);p2-neext=NULLL;p1-neext =p22; p1=heaad;sysstemm(ccls);priintff(所所有信息息如下,请请核实-);whiile(p1!=NUULL)prrinttf(采购编编号:%snn,pp1-buyynumm);prrinttf(零部件件名称:%sn,p1-ittemnnamee);prrinttf(采购日日期:%snn,pp1-dayy);prrinttf(采购员员名字:%sn,p1-buuyerrnamme);prrinttf(采购数数量:%dnn,pp1-couunt);prrinttf(采购价价格:%fnn,pp1-priice);prrinttf(供货单单位:%snn,pp1-souurcee);prrinttf(nnnn);p11=p11-nnextt;savee();prinntf(按任任意键返返回);ffluush(stddin);scannf(%c,&cch);/*根据采采购编号号查找采采购信息息函数*/void nummshoow()charr annum10,chh;p1=hheadd;if(pp1=NULLL)priintff(采采购信息息数据库库为空n);priintff(按按任意键键返回);gettch();sysstemm(ccls);exiit(00);prinntf(请输输入所查查零件编编号(形形如00000001,以以回车键键结束):nn);getccharr();scannf(%s,annum);whille(pp1!=NULLL)if(strrcmpp(annum,p1-
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!