汽车质检信息管理系统程序_第1页
汽车质检信息管理系统程序_第2页
汽车质检信息管理系统程序_第3页
汽车质检信息管理系统程序_第4页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC 语言程序设计课程设计报告课设题目:汽车质检信息管理系统专业:电子信息工程 (汽车电子)班级:电信 143 班学号:201401180姓名:檀成俊成绩:完成日期 :2015年 7 月5 号10号指导教师 :胡宁亚目录一、课程设计目的4二、课设要求52.1任务描述52.2运行环境52.3开发工具5三、总体设计63.1系统流程设计63.2系统模块设计6四、详细设计74.1数据结构设计74.2模块接口设计84.3 以下是几个主要板块的流程图9五、运行结果显示135.1欢迎界面135.2密码判断显示145.3显示主菜单

2、155.4读入数据成功155.5新建质检信息165.6显示质检信息175.7查找质检信息185.8修改信息205.9删除信息205.10课设题目和要求显示21六、程序调试与测试216.1程序调试216.2程序测试23七、问题与不足24八、建议24九、编程体会25十、参考文献26十一、程序源代码:26题目描述第十题:汽车零部件质检管理程序已知在汽车零部件生产过程中,需要对生产的零部件进行质量检测,保证生产质量,以便对出现生产质量问题的责任人进行考核, 设计一个汽车零部件质检管理程序,该程序应该具有完成如下功能:(1)能从键盘输入质检信息。(2)指定质检编号,显示质检信息。(3)指定生产者,显示质

3、检信息。(4)指定质检编号,修改质检信息。(5)指定质检编号,删除质检信息。题目要求:(1) 按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。(2) 质检信息包括:质检编号、零部件名称、生产者、生产部门、质检结果(合格 / 不合格)、质量问题 ( 设计缺陷 / 装配质量 / 加工质量 ) 、质检员、质检日期。(3) 为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。输入要求:(1) 应用程序运行后在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。 进入每个操作后, 根据应用程序的提示信息, 从键盘输入相应的信息。程序根据

4、用户输入的信息完成相应的处理,实现要求的功能。(2) 能对输入的数据进行简单的校验,例如,质检日期必须是一个合法的日期格式,质检编号是唯一的(一个质检编号对应一次质检的质检信息) 。输出要求:(1) 应用程序运行后,要在屏幕上显示一个菜单。(2) 要求用户输入数据时, 给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。(3) 在程序完成处理后, 要清楚地给出程序的处理结果。 例如,在给定质检编号删除质检信息时, 如果该质检信息不存在, 要提示没能删除, 如果删除成功要提示删除成功。实现要求:(1) 在程序中使用链表存储质检信息。(2) 采用模块化程序设计的方法,将程序中的各项功

5、能用函数实现。提示:(1) 使用结构体表示质检信息,一个结点保存一条质检信息。扩展功能:(1) 提供一些统计功能。 例如统计生产者质检不合格的次数, 统计各种质量问题出现次数。(2) 质检信息从文件读入。(3) 将质检信息保存到文件中。一、课程设计目的1) 通过课程设计,加深对结构化程序设计思想的理解, 能对系统功能进行分析,并设计合理的模块化结构。2) 通过课程设计,进一步掌握 C语言中重要的数据结构。 掌握并熟练运用指针、链表、结构体、文件等数据结构。3) 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。4) 通过课程设计,培养 C 语言知识运用和自学能力,真正的把课

6、堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。5) 通过课程设计,加强了自己的程序分析能力。二、课设要求2.1任务描述此系统以零件质检信息查询为背景,零件信息有零件编号, 零件名称,零件生产者,零件生产部门,质检结果,质检问题,质检员,质检时间。该信息管理系统提供一下功能:1) 系统以菜单方式工作(用键盘输入数字来选择功能) 。2) 信息创建功能。能从键盘创建零件的基本信息。如:零件编号,零件名称,零件生产者,零件生产部门,质检结果,质检问题,质检员,质检时间3) 显示功能。显示所有零件的质检信息。4) 查询功能。可以通过输入零件的生产编号,或者零件的生产者

7、来查找零件的信息。5) 删除功能。指定某个零件的信息,删除这个零件的信息。6) 修改功能。指定某个零件的信息,修改这个零件的信息。2.2运行环境1) WindowsXP/7 系统2) VC+6.0 编译环境2.3开发工具C 语言三、总体设计3.1系统流程设计欢迎界面密码判断正确第三次错主菜单显示误从创显根根根根显退磁建示据据据据示出盘质质编生编编课导检检号产号号设入信信查者修删题质息息找查改除目检信找信信和信息信息息要息息求3.2系统模块设计1) 欢迎界面:构造 void welcome(); 函数,显示课设名称,作者的基本信息,以及指导老师。2) 主菜单显示界面:构造 void menu()

8、; 函数,实现系统主菜单显示。3) 文件导入:构造 void read(); 函数,实现导入质检信息数据的功能。4)创建质检信息:构造void xinjian();函数,实现质检信息录入。5)显示质检信息:构造void zhijianshow();函数,实现对所有质检信息的显示。6)质检信息查找(通过编号) :构造 void findno();函数,实现通过根据质检编号,查找质检信息,并显示出来。7)质检信息查找(通过生产者) :构造 void findpro();函数,实现通过根据生产者,查找质检信息,并显示出来。8) 质检信息修改:构造 void xiugai(); 函数,实现对指定生产编

9、号的零件寻找,并对它进行修改。9) 质检信息删除:构造 void shanchu(); 函数,实现对指定生产编号的零件寻找,并对它删除。10) 显示课设题目和要求:构造 void timu(); 实现显示课设题目的要求11) 退出界面:构造 void byebye(); 函数,实现退出系统的功能,并释放内存。12) 密码判断:构造 void mima(); 函数,实现需要输入密码且密码正确才能进入主菜单页面四、详细设计4.1数据结构设计根据系统要求,系统中需要保存的数据信息,其结构如下:数据项名称数据项系统表示数据类型数据长度备注零件编号p1-no字符串20零件名称p1-name字符串20生产

10、者p1-producer字符串20生产部门p1-department字符串20质检结果p1-result字符串20质检问题p1-problem字符串20质检员p1-zhijianyuan字符串20质检时间p1-time字符串20为了能实现不受限制的增加质检信息,采用链表的结构保存质检信息,在增加质检的基本信息时,创建一个质检信息的节点,将其插入到链表中,示意图如下:质检信息1质检信息 2质检信息 3质检信息4为此,先声明一个类型为struct ZHIJIAN的结构体,其成员为零件的基本信息。然后通过对指针、链表、文件等数据结构的操作,实现对学质检信息的录入,插入,存盘,查询,浏览,删除,修改等

11、一系列操作。其中,结构体定义如下:struct ZHIJIANchar no20;char name20;char producer20;char department20;char result20;char problem20;char zhijianyuan20;char time20;struct ZHIJIAN *next;4.2模块接口设计所有函数模块声明如下:void menu();/*显示主菜单*/void read();/*从磁盘文件导入质检信息到数据库*/void welcome();/*欢迎界面 */void byebye();/*告别界面 */void xinjian(

12、);/*新建信息 */void zhijianshow();/*显示质检信息 */void xiugai();/*修改质检信息 */void shanchu();/*删除质检信息 */void findno();/*根据编号寻找信息 */void findpro();/*根据生产者寻找信息 */void save();/* 保存信息 */4.3以下是几个主要板块的流程图主菜单函数:显示欢迎界面第三次错误密码判断正确退出显示主菜单输入菜单是否否合法是根据菜单选项,执行相应的菜单选项文件读入函数:打开文件文件是否存在文件不显示文件里的存在质检信息按任意键返回主菜单信息新建函数:输入需要建立的信息条

13、数输入需要建立的零件的质检信息显示已经建立的质检信息按任意键返回主菜单查找函数:输入需要查找的编号和生产者编号或生产者是否存在存在不存在显示该编号或生产者的信息按任意键返回修改函数:输入需要修改的的编编号是否存存在输入修改过后的信息不存在显示修改过后的信息任意键返回密码判断程序第一输入密码第二次错误密码是否正确正确进入主 菜单五、 运行结果显示5.1欢迎界面第三次错退出5.2密码判断显示5.2.1 密码判断错误5.3显示主菜单5.4读入数据成功5.5新建质检信息5.5.1 新建信息成功5.6显示质检信息5.7查找质检信息5.7.1 按质检编号查找查找结果显示5.7.2 按生产者查找查找结果显示

14、5.8修改信息5.9删除信息5.10课设题目和要求显示六、 程序调试与测试6.1程序调试因为在读入文件程序中,在新建一个单元那里把p1=p2,写成了 p2=p1。文件信息录入出错页面密码输入错误主菜单选择输入错误6.2程序测试1,建立的文件为:质检信息.txt。文件中的数据为:001 扳手 王二 1 部门 合格 无 李四 20140304003 哈哈 曾五 9 部门 不合格 加工质量张八 20130907018 快乐 丁六 5 部门 合格 无 刘一 201411029887 卡牌 邓子 7 部门 不合格设计缺陷黄上 20031114质检信息按零件编号、零件名称、生产者、生产部门、检测结果、检测

15、问题、质检员、质检时间保存。两个数据质检空格键隔开。2,从文件录入质检信息七、 问题与不足1,比如说,在新建质检信息中,要输入是否合格或不合格时,如果输入其他不能拦截。还有就是,在删除或修改菜单中,输入要修改或删除的编号时,应该显示出原来的信息。2,有些显示画面做得比较粗糙。3,在函数中,再输入时,应该构建个while(1)if (.) break ; , 进行判断。这样有效的拦截了乱输信息。4,在程序执行的过程中,给以适时的清屏可能会给使用者带来耳目一新对使用感觉八、 建议课程设计的题目涉及范围应该更广, 应该把课设时间跟期末考试复习时间错开 . 这样我们有时间去复习 .九、 编程体会刚开始

16、准备编代码时,感觉很茫然,不知道从何写起。虽然在这之前,我们已经对 c 语言这门课程学习了差不多一个学期, 对其有了一定的了解, 但是也仅仅是停留在了解的范围, 对里面的好多东西还是很陌生的, 在运用起来的时候还是感到很棘手。但是在学习链表这一章节之后, 和看了老师所给的优秀例子之后,才慢慢有点感觉去写。首先是要去构建一个基本的框架,搭建框架就好比一栋大楼的地基。框架搭好了,一个程序就慢慢成形了。 在写课设的过程中, 感觉最难的的就是调试程序了。刚刚把全部代码敲出来的时候,整个人那个兴奋啊。但是,一编译运行。像一桶冷水从头浇到底。那错误多的,看的我眼花缭乱。要一条条的去看,去看错在哪要怎么去修

17、改它。真的,有些错误真的很难找出来。这是一个漫长的过程。把一个完整的程序写出来,需要慢慢的去修改,调试,完善,这是一个很无聊的事情。编程序是一个很细心的过程。因为如果你不认真去写,少写了括号,或者分号,都会导致你的程序运行不出来或者运行出来的结果有错误。这些错误都很小,但是让你从一大堆程序中去找,这也是个难题。所以,编程教会了我需要仔细。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题, 同时在设计的过程中发现了自己的不足之处, 对以前所学过的知识理解得不够深刻, 掌握得不够牢固。 还有一点就是, 通过编程让我感觉到了链表在C 语言中的重要性。在我看来,

18、学会运用链表,就等于跨过了C语言的大门。当把整个程序运行出来的时候,感觉整个人都放松了。还有就是那种喜悦的感觉不言而喻。做课设一定要养成良好的编程习惯,写程序注意语法规范格式控制,格式规范了,出了错误也容易找到出错的地方,这是 C 语言的基础。通过这次课设,让我明白了胡老师在上课时经常对我们讲的话。 “你把程序在电脑上敲一边,好过你看十遍。 ”操作是学好 c 语言必不可少的一步。因为不管你理论知识掌握的如何熟练,不上机实际操作的话, 是没有任何效果的, 许多问题都是在实际上机操作中显现出来的,在书本上是体现不出来的。 书本上是永远不会出现你自己的思想成果的,正是应了那句话“实践是检验真理的唯一

19、标准。”总之,通过 c 语言的学习,使我对计算机语言有了一些初步的认识和理解,使我对计算机语言不再像以前一样一无所知,认为那是高不可攀的、 十分难以理解、一般人学不会的东西了。我认为只要学习方法掌握好,再加上刻苦的练习,是完全有可能学好任何一门计算机语言的。最后用一句话表明在学习c 语言过程和写课设的过程中的感受,那就是“痛苦并快乐着。”十、 参考文献1廖湖声 C 程序设计案例教程人民邮电出版社,2010.92何钦铭 C 语言程序设计高等教育出版社,2009.5 3 谭浩强 C 程序设计(第 2、 3、 4 版)清华大学出版社, 2000.1.4 C 语言程序设计教程 ,杨路明著,北京邮电大学

20、出版社.十一、程序源代码:#include#include#include#include #include#define LEN sizeof(struct ZHIJIAN)/ 定义结构体。struct ZHIJIANchar no20;/*char name20;char producer20;/*/*定义零件编号 */定义零件名称 */定义零件生产者 */char department20; /* char result20; /* char problem20; /*定义零件的生产部门定义零件的质检结果定义零件的质检问题*/*/*/char zhijianyuan20; /* char

21、 time20; /* struct ZHIJIAN *next;定义质检员 */定义质检时间 */;/*申明程序中运用到的函数*/void menu();/*显示主菜单 */void read();/*从磁盘文件导入质检信息到数据库 */void welcome();/*欢迎界面 */void byebye();/*告别界面 */void xinjian();/*新建信息 */void zhijianshow();/*显示质检信息 */void xiugai();/*修改质检信息 */void shanchu();/*删除质检信息 */void findno();/*根据编号寻找信息 */v

22、oid findpro();/*根据生产者寻找信息 */void timu();/*显示题目 */void mima();/*密码 */void save();/* 链表操作所用结构体指针*/struct ZHIJIAN *head=NULL,*p1,*p2,*p3; /*定义结构体指针*/* 零件信息保存标志全局变量*/intflag=0;/*主函数 */ 函数声明: int main()/ 入口参数:无/ 出口参数:无/ 功能描述:设置“ color 6F ”颜色型号,设置屏幕背景和字体的颜色。/调用welcome();函数,在进入程序的第一页面显示欢迎函数。/调用mima();函数,显示

23、在欢迎程序后。/定义变量select。选择需要操作的编号08。int main()system(color 6F);welcome();mima();int select;while(1)menu();printf(tt请正确选择需要的操作scanf(%d,&select);fflush(stdin);/*system(cls);switch(select)(08) :);清除键盘缓存区*/case1:system(cls);read();zhijianshow();break;/*从磁盘文件导入质检信息到数据库*/case2:system(cls);xinjian();zhijianshow

24、();break;/*创建质检信息*/case 3:system(cls);zhijianshow();break;/*显示质检信息*/case 4:system(cls);findno();break;/*根据编号查找信息*/case 5:system(cls);findpro();break;/*根据生产者查找信息*/case 6:system(cls);xiugai();break;/*根据编号,修改信息*/case 7:system(cls);shanchu();break;/*根据编号,删除信息 */case 8:system(cls);timu();break;case 0:sys

25、tem(cls);byebye();return 0;/*退出*/default:fflush(stdin);printf(tt选择错误,请正确输入你的选择(08);printf(n);system(pause);fflush(stdin);getch();system(cls);system(pause);fflush(stdin);return 0;/*欢迎界面 */ 函数声明: void welcome()/ 入口参数:无/ 出口参数:无/ 功能描述:显示欢迎界面。void welcome()printf(nnnttt欢迎使用汽车零部件质检管理系统nn);printf(ttn);prin

26、tf(ttn);printf(tt指导老师:胡宁亚n);printf(ttn);printf(tt学生:檀成俊n);printf(ttn);printf(tt班级:电信 143 班n);printf(ttn);printf(tt学号: 201401180n);printf(ttn);printf(tt完成时间: 2015 年 6 月n);printf(ttn);printf(ttQQ号 : 765355275n);printf(ttn);printf(tt短号: 63501n);printf(ttn);printf(tt长号:);printf(ttn);printf(

27、ttn);system(pause);fflush(stdin);system(cls);/*显示题目 */ 函数声明: void timu()/ 入口参数:无/ 出口参数:无/ 功能描述:显示题目的内容和要求。void timu()printf(nnnttt汽车零部件质检管理系统nn);printf(n已知在汽车零部件生产过程中,需要对生产的零部件进行质量检测,保证生);printf(n产质量,以便对出现生产质量问题的责任人进行考核,设计一个汽车零部件质检 );printf(n管理程序,该程序应该具有完成如下功能: );printf(n(1)能从键盘输入质检信息。 );printf(n(2)

28、指定质检编号,显示质检信息。 );printf(n(3)指定生产者,显示质检信息。 );printf(n(4)指定质检编号,修改质检信息。);printf(n(5)指定质检编号,删除质检信息。);printf(nprintf(n(1)题目要求: );按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。);printf(n(2)质检信息包括: 质检编号、零部件名称、生产者、生产部门、质检结果);printf(n(合格 / 不合格)、质量问题 ( 设计缺陷 / 装配质量/ 加工质量) 、质检员、质检日期。 );printf(n(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单

29、,然后用户通过菜单项选择希望进行的操作项目。);printf(nttt);system(pause);return;/*主菜单 */ 函数声明: void menu()/ 入口参数:无/ 出口参数:无/ 功能描述:显示主菜单。void menu()printf(nnntttnn);汽车零部件质检管理系统printf(ttn);printf(ttn);printf(tt1,从磁盘文件导入质检信息到数据库n);printf(ttn);printf(tt2,创建质检信息n);printf(ttn);printf(tt3,显示质检信息n);printf(ttn);printf(tt4,根据编号查找信息

30、n);printf(ttn);printf(tt5,根据生产者查找信息n);printf(ttn);printf(tt6,根据编号,修改信息n);printf(ttn);printf(tt7,根据编号,删除信息n);printf(ttn);printf(tt8,显示题目和要求n);printf(ttn);printf(tt0,退出n);printf(ttn);printf(ttn);fflush(stdin);return ;/*密码判断进入 */ 函数声明: void mima()/ 入口参数:无/ 出口参数:无/ 功能描述:显示密码界面。/你有三次机会输入密码。 三次机会无论第几次输入正确

31、则进入下一个页面。/第一,第二次输错密码,可以重新输。第三次输错,则直接退出程序。void mima()system(cls);int n;char mima110;char mima2=123456;printf(nnnttt密码只有三次输入机会 !);for(n=1;nnext=NULL;while(!feof(fp)/*文件检测 */开辟一个新单元*/n+;fscanf(fp,%s%s%s%s%s%s%s%sn,p1-no,p1-name,p1-producer,p1-d epartment,p1-result,p1-problem,p1-zhijianyuan,p1-time);p2=(struct ZHIJIAN*)malloc(LEN);/*开辟一个新单元*/p1-next =p2;p3=p1;p1=p2;p1-next =NULL;free(p2);p3-next=NULL;printf(nnnnnttt已将 %d项信息读入 ,n);system(pause);fflush(stdin);getchar();system(cls);/* 清屏 */flag=0;/*设置保存记录标志*/if(fclose(fp)/*关闭文件 */printf(文件关闭失败);byebye();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论