欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:100711       资源大小:178KB        全文页数:36页
    • 资源格式: DOC        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目: 汽车零部件采购管理 专 业: 电子信息工程汽车电子 班 级: T1323-15 姓 名: 徐倩 成 绩:完成日期: 2014年19周 指导教师: 吴年志 目录C语言程序设计0课程设计报告01.课程设计目的-12.需求分析22.1 要求22.2任务描述32.3运行环境42.4开发工具43.总体设计43.1系统流设计43.2系统模块设计54.详细设计64.1数据构造设计64.2 模块接口设计71所有函数声明72全局变量93主要模块的实现94.3主要功能模块的流程图105.运行结

    2、果135.1 欢送界面13 5.2 主菜单页面-135.3 信息查询页面145.4 统计菜单页面145.5 显示信息页面155.6 退出页面156.程序调试与测试166.1 主菜单项选择择测试166.2采购信息未从文件读入17 6.3采购信息输入调试-187.问题与缺乏208.建议219.编程体会2110.程序源代码211.课程设计目的1) 通过课程设计,加深对构造化程序设计思想的理解,能对系统功能进展分析,并设计合理的模块化构造。2) 通过课程设计,进一步掌握C语言中重要的数据构造。掌握并熟练运用指针、链表、构造体、文件等数据构造。3) 通过课程设计,提高程序开发能力,能运用合理的控制流编写

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

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

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

    6、功能2.3运行环境VC+6.0编译环境2.4开发工具C语言3.总体设计3.1系统流设计程序整体功能构造如图一所示:开场显示课程以及学生信息显示主菜单,输入选择读取文件中的采购信息添加并保存采购信息由采购编号查找零部件采购信息由零部件名称查找其采购信息修改并保存采购信息删除并保存余下采购信息统计采购信息显示所有采购信息根据零部件名称统计其总数量根据采购员名字统计其采购次数3.2系统模块设计1 封面模块函数void huanying()和函数void byebye()构成封面模块,构造和谐人机环境。2 菜单模块 函数void menu()和函数void choise()构成选择菜单,二级菜单voi

    7、d tongji()构成统计功能菜单。3 查询模块 函数void numshow()和函数void nameshow()分别实现根据采购编号和零部件名称查询采购信息的功能,其中会有其他函数辅助。4 信息处理模块 函数void change()实现信息修改功能,函数void disapperr()实现信息删除功能,void input()实现信息添加功能,void save()实现信息保存功能,void listCG()实现信息显示功能,其中会有其他函数辅助。5统计模块 函数int number()实现根据零部件名称统计其总数量功能,int times(实现根据采购员名字显示其采购次数的功能,其

    8、中会有其他函数辅助。6日期审查模块函数 void checkdate()使用标志位方法实现对时间的审查。4.详细设计4.1数据构造设计根据系统要求,采购信息包括:数据项名称数据项系统表示数据类型数据长度备注采购编号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所有函数声明v

    9、iod huanying(); /*封面函数,显示课程题目,学生信息*/ void menu(); /*主菜单函数,显示各项功能*/void choise(); /*根据主菜单项选择择并执行功能*/void readinto(); /*读取文件的采购信息*/void input(); /*从键盘添加采购信息并保存到文件中*/void listCG(); /*显示所有采购信息*/void numshow(); /*根据采购编号查询对应采购信息并显示*/void nameshow(); /*根据零部件名称查询其采购信息并显示*/void change(); /*根据采购编号修改并显示采购信息*/v

    10、oid 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,用

    11、于存储采购信息的构造体指针: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(

    12、int year,int month,int day)函数对时间审查。当不需要再执行各项功能时,调用void byebye()退出管理器。4.3主要功能模块的流程图1) 封面模块以欢送界面为例,退出界面与此类似显示题目和学生信息进入系统2)菜单模块显示主菜单 承受用户输入选项否是否合法?退出管理系统是否是 执行用户所选功能否是是否合法是否为7?否是是否为0?. z.-3) 查询模块以根据采购编号查询采购信息为例 返回主菜单页面显示编号对应采购信息编号是否存在 输入所查询采购编号主菜单4) 信息处理模块以添加采购信息为例 输入采购编号否是否是 显示添加信息 输入其他信息是否合格? 输入采购时间是

    13、否已存在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-082013-09-07采购员名字尧徐倩卫添翼林琳采购数量9067908

    14、9采购价格90.00000078.00000078.00000067.000000供货单位汽院黄冈6.1 主菜单项选择择测试假设用户输入错误选项,则如图显示:6.2采购信息未从文件读入6.3采购信息的输入测试1假设添加的采购编号已存在,则如图显示:2) 假设添加的采购信息日期格式输入错误,则如图显示3) 假设查询的采购编号输入错误,则如图显示4) 假设查询的零部件名称输入错误,则如图显示5) 假设输入价格为负数时,如图显示6) 假设输入的数量为负值时,如图显示7.问题与缺乏1、需求分析中存在的问题 每次只能从键盘中添加一条采购信息,当遇到需要添加多条信息时,比拟麻烦。统计功能太少,如果要求几个

    15、零部件的总价,无法实现。2、 程序中存在的缺陷 每次运行其他功能前都要先从文件中读入,比拟耗时。有些功能输入错误时无法重新输入,而是直接跳到主菜单。缓存较多。8.建议题目应更加贴近生活,这样可以让同学们看到c语言的有用之处,激发同学们的学习热情。课程设计的题目涉及围应该更广。程序设计的功能应相对更加复杂一点,这样有利培养同学们的分析问题,解决问题的能力,同时也能提高同学们对代码的掌握能力。再者,就是验收时应该要学生画出链表构造图,帮助他们更加深刻的掌握知识。9.编程体会经历了编c语言课程设计后,我对这一学期c语言所学容有了更加深刻的了解和掌握,特别是一直不懂的链表和指针,现在发现自己都能运用了

    16、很开心自己的进步。所以,虽然写程序的过程中,遇到各种问题,调试的时候也是遇到各种令人头大的问题,但能借助课程设计提高自己对指针和链表的熟练度,提高自己对c语言编程的熟练度,也希望学校可以多开设一些这样的课程,既是让我们对自己所学知识的一个综合理解与使用,也可以提高我们的动手实践能力、对知识的运用能力,更是一个让我们学会独立思考的好时机。10.程序源代码#include #include #include #include #include #include#define LEN sizeof(struct buy) /申请构造体空间#define N 100/*申明程序中运用的函数*/voi

    17、d huanying(); /封面函数void readinto(); /读取文件void input(); /添加采购信息void listCG(); /显示采购信息void numshow(); /根据采购编号显示采购信息void nameshow(); /根据零部件名称显示采购信息void change(); /修改采购信息void disapper(); /删除采购信息void menu(); /显示主菜单void choise(); /选择所需功能void tongji(); /统计功能菜单int number(); /根据零部件名称统计采购的零部件总数量int times(); /

    18、根据采购员名字统计采购的零部件总数量int checkdate(int year,int month,int day); /检测时间void byebye(); /辞别界面void save(); /保存文件/*定义全局变量*/struct buy /定义构造体char buynum10;char itemname10;char day30;char buyername10;int count;float price;char source10;struct buy *ne*t;int flag=0;/*flag为文件是否以正确读入的标志位*/struct buy *head=NULL,*p,

    19、p1,*p2,*p3; /*定义构造体指针*/*主函数*/int main()huanying();getch();while(1)menu();/*显示主菜单*/choise();/*显示选择功能*/return 0;/*封面函数*/void huanying()printf(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* *: *n);

    20、 printf(tt* 联系方式:69180 *n); printf(tt* *n); printf(tt* 课程题目:汽车零部件采购管理程序 *n); printf(tt* *n); printf(tt*n); fflush(stdin); printf(请按回车键继续);/*辞别界面*/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* *

    21、n); printf(tt* *n); printf(tt* *n); printf(tt* 欢送下次使用 *n); printf(tt*n);/*主菜单函数*/void menu()system(cls);printf(nnntt*欢送使用汽车零部件管理系统*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 | tt

    22、tt|n);printf(tt |tt4,根据零部件名称查找采购信息t|n);printf(tt | tttt|n);printf(tt |tt5,修改并保存采购信息tt|n);printf(tt | tttt|n);printf(tt |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);/*读

    23、入文件函数*/void readinto()FILE *fp; /*文件指针*/ int n=0; if(fp=fopen(lingjian.t*t,r)=NULL) /*翻开文件时无此文件*/ printf(文件翻开错误:n); e*it(0); p1=(struct buy *)malloc(LEN); head=p1;p1-ne*t =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-sour

    24、ce); p2=(struct buy *)malloc(LEN); /*p2指向新申请的节点*/p1-ne*t =p2; p3=p1; p1=p2; p1-ne*t =NULL; free(p2); p3-ne*t=NULL; fclose(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:s

    25、ystem(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);byeby

    26、e();e*it(0);/*从键盘添加并保存采购信息函数*/void input()int n=0,i=0,k;char ch;long y,m,d;if(flag=0) printf(未建立,采购信息数据库为空n); printf(按任意键返回);getch();return; printf(请输入将要添加的采购编号形如001002,以回车键完毕n);fflush(stdin);scanf(%s,p2-buynum);p1=head;while(p1!=NULL)if(strcmp(p2-buynum,p1-buynum)=0)/*找到数据库信息中与输入一样的采购编号*/printf(你输入

    27、的采购编号已存在!);printf(对应零部件信息如下:);printf(采购编号:%sn,p1-buynum);printf(零部件名称:%sn,p1-itemname);printf(采购日期:%sn,p1-day);printf(采购员名字:%sn,p1-buyername);printf(采购数量:%dn,p1-count);printf(采购价格:%fn,p1-price);printf(供货单位:%sn,p1-source);n=1;/*标志位*/printf(请按任意键返回!n);getch();system(cls);break;p1=p1-ne*t;if(n!=1)syste

    28、m(cls);p1=head;while(p1-ne*t!=NULL) p1=p1-ne*t;printf(请输入);p2=(struct buy *)malloc(LEN); /开辟一个新单元 fflush(stdin);for(i=0;ibuynum);if(i=1) fflush(stdin);printf(零部件名称文字或英文字符串型:);scanf(%s, p2-itemname);if(i=2)doprintf(采购日期(形如*-*-*,以回车键完毕):);fflush(stdin);scanf(%s,p2-day);if(p2-day4=-&p2-day7=-&strlen(p2

    29、day)=10)y=(p2-day0-48)*1000+(p2-day1-48)*100+(p2-day2-48)*10+(p2-day3-48);m=(p2-day5-48)*10+(p2-day6-48);d=(p2-day8-48)*10+(p2-day9-48);k=checkdate(y,m,d);/*根据函数返回值判断是否要重新输入*/if(k=1)break;while(1);if(i=3)fflush(stdin);printf(采购员名字(文字或英文字符串型,以回车键完毕):);scanf(%s,p2-buyername);if(i=4)fflush(stdin);prin

    30、tf(采购数量文字或英文字符串型,以回车键完毕:);scanf(%d, &p2-count);while(p2-countcount);if(i=5) fflush(stdin);printf(采购价格数字型,以回车键完毕:);scanf(%f,&p2-price);while(p2-priceprice);if(i=6)fflush(stdin);printf(供货单位文字或英文字符串型,以回车键完毕:);scanf(%s,p2-source);p2-ne*t=NULL;p1-ne*t =p2; p1=head;system(cls);printf(所有信息如下,请核实-);while(p1!=NULL)printf(采购编号:%sn,p1-buynum);printf(零部件名称:%sn,p1-itemname);printf(采购日期:%sn,p1-day);printf(采购员名字:%sn,p1-buyername);printf(采购数量:%dn,p1-count);printf(采购价格:%fn,p1-price);printf(供货单位:%sn,p1-source);printf(nnn);p1=p1-ne*t;sa


    注意事项

    本文(汽车零部件采购管理程序ds.doc)为本站会员(飞猪)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开