免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计实训报告实训题目: 汽车零部件质检管理系统 专 业: 班 级: 姓 名: 成 绩: 完成日期: 指导教师: 课设报告内容:一、-设计题目与要求二、-系统设计三、-程序测试与运行结果四、-实训总结五、-程序源代码一、课设题目与要求:汽车零部件质检管理程序题目描述已知在汽车零部件生产过程中,需要对生产的零部件进行质量检测,保证生产质量,以便对出现生产质量问题的责任人进行考核,设计一个汽车零部件质检管理程序,该程序应该具有完成如下功能:(1)能从键盘输入质检信息。(2)指定质检编号,显示质检信息。(3)指定生产者,显示质检信息。(4)指定质检编号,修改质检信息。(5)指定质检编号,删除质检信息。 题目要求:(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。(2) 质检信息包括:质检编号、零部件名称、生产者、生产部门、质检结果(合格/不合格)、质量问题(设计缺陷/装配质量/加工质量)、质检员、质检日期。(3) 为程序设计windows窗口,在该窗口上以按钮的形式为用户提供“菜单”,通过点击各个功能项对应的按钮完成操作。输入要求: (1)用户可以根据需求,选定相应的操作项目。进入每个操作后,通过窗口的文本框,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。 (2)能对输入的数据进行简单的校验,例如,质检日期必须是一个合法的日期格式,质检编号是唯一的(一个质检编号对应一次质检的质检信息)。输出要求: (1)应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。 (2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。(3)在程序完成处理后,要清楚地给出程序的处理结果。例如,在给定质检编号删除质检信息时,如果该质检信息不存在,要提示没能删除,如果删除成功要提示删除成功。实现要求: (1)在程序中使用链表存储质检信息。 (2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。提示: (1)使用结构体表示质检信息,一个结点保存一条质检信息。 扩展功能: (1)提供一些统计功能。例如统计生产者质检不合格的次数,统计各种质量问题出现次数。 (2)质检信息从文件读入。 (3)将质检信息保存到文件中。二、系统设计(1)系统功能模块划分读取文件输入质检信息通过质检编号显示质检信息通过生产者显示质检信息指定质检编号修改信息指定质检编号删除信息保存文件(2)主函数的流程分析与设计统计保存文件指定质检编号删除质检信息指定质检编号显示质检信息通过生产者显示质检信息通过质检编号显示质检信息输入质检信息读入文件菜单三、程序测试与运行结果void menu() /菜单 system(cls);system(color f0);printf(ttt*n);printf(ttt* 菜单 *n);printf(ttt*n);printf(ttt* 1.读入文件 *n);printf(ttt* 2.输入质检信息 *n);printf(ttt* 3.通过质检编号显示质检信息 *n);printf(ttt* 4.通过生产者显示质检信息 *n);printf(ttt* 5.指定质检编号修改信息 *n);printf(ttt* 6.指定质检编号删除信息 *n);printf(ttt* 7.统计 *n);printf(ttt* 8.保存文件 *n);printf(ttt* 0.退出 *n);printf(ttt*n);printf(ttt 请输入选项(07):);void readFile() / 读取文件FILE *fp;struct qualityTesting *sp,*newp,*sp2;fp = fopen(data.txt,r);if(fp = NULL) printf(文件打开失败!); exit(0);headp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting);headp-next = NULL;sp =headp; while(!feof(fp) newp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting);fscanf(fp,%d%s%s%s%s%s%s%s ,&(newp-quality_number),&(newp-part_name),&(newp-producer),&(newp-production),&(newp-result),&(newp-problem),&(newp-quality_person),&(newp-data);count+;newp-next = NULL;sp-next = newp;sp = sp-next; sp-next = NULL;headp1 = sp;fclose(fp);printf(计数器:%dn,count); printf(文件录入成功!n);sp2=headp-next;while(sp2!=NULL)printf(%d %s %s %s %s %s %s %s n,sp2-quality_number,sp2-part_name,sp2-producer,sp2-production,sp2-result,sp2-problem,sp2-quality_person,sp2-data);sp2=sp2-next; system(pause);void input() /输入质检信息 struct qualityTesting *sp,*newp;int cho=1;sp = headp1;while(cho != 0) newp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting);printf(请输入质检信息n);printf(质检编号:);scanf(%d,&(newp-quality_number);printf(零件名称:);scanf(%s,&(newp-part_name);printf(生产者:);scanf(%s,&(newp-producer);printf(生产部门:);scanf(%s,&(newp-production);printf(质检结果(合格/不合格):);scanf(%s,&(newp-result);printf(质检问题(设计缺陷/装配质量/加工质量):);scanf(%s,&(newp-problem);printf(质检员:);scanf(%s,&(newp-quality_person);printf(质检日期:);scanf(%s,&(newp-data);newp-next = NULL;sp-next = newp;sp=sp-next;count+;printf(继续输入请输入数字键(退出:0);scanf(%d,&cho);sp-next = NULL;void quality_number_search() /通过质检编号显示质检信息 struct qualityTesting *sp;int number;sp = headp-next;printf(n请输入质检编号:);scanf(%d,&number);while(sp != NULL) if(sp-quality_number = number) printf(%d %s %s %s %s %s %s %s n,sp-quality_number,sp-part_name,sp-producer,sp-production,sp-result,sp-problem,sp-quality_person,sp-data);break;sp = sp-next;system(pause);void producer_search() /通过生产者显示质检信息 struct qualityTesting *sp;char name10;sp = headp-next;printf(n请输入生产者:);scanf(%s,&name);while(sp != NULL) if(strcmp(sp-producer,name) = 0) printf(%d %s %s %s %s %s %s %s n,sp-quality_number,sp-part_name,sp-producer,sp-production,sp-result,sp-problem,sp-quality_person,sp-data);break;sp = sp-next;system(pause);void quality_number_change() /指定质检编号修改信息 struct qualityTesting *sp;int number;sp = headp-next;printf(n请输入质检编号:);scanf(%d,&number);while(sp != NULL) if(sp-quality_number = number)printf(请输入质检信息n); printf(质检编号:); scanf(%d,&(sp-quality_number); printf(零件名称:); scanf(%s,&(sp-part_name); printf(生产者:); scanf(%s,&(sp-producer); printf(生产部门:); scanf(%s,&(sp-production); printf(质检结果(合格/不合格):); scanf(%s,&(sp-result); printf(质检问题(设计缺陷/装配质量/加工质量):); scanf(%s,&(sp-problem); printf(质检员:); scanf(%s,&(sp-quality_person); printf(质检日期:); scanf(%s,&(sp-data); break;sp = sp-next;printf(修改成功!);system(pause);void quality_number_delete() /指定质检编号删除信息 struct qualityTesting *sp,*fellowp;int number;sp = headp-next;fellowp = headp;printf(n请输入质检编号:);scanf(%d,&number);while(sp != NULL) if(sp-quality_number = number) fellowp-next = sp-next;free(sp); flag=1;count-; break;fellowp = sp;sp = sp-next;if(flag = 1) printf(删除成功!);else printf(删除失败!);system(pause);void saveFile() /保存文件struct qualityTesting *sp,*fellowp;FILE *fp2;sp = headp-next;fellowp = headp;fp2 = fopen(data.txt,w);while(sp != NULL) fprintf(fp2,%d %s %s %s %s %s %s %s n,sp-quality_number,sp-part_name,sp-producer,sp-production,sp-result,sp-problem,sp-quality_person,sp-data);fellowp = sp;sp = sp-next;free(fellowp);printf(保存成功!(链表清空完毕);system(pause);void add() /统计struct qualityTesting *sp;sp = headp-next;while(sp != NULL) if(strcmp(sp-result,不合格) = 0)a+;if(strcmp(sp-problem,设计缺陷) = 0)b+;if(strcmp(sp-problem,装配质量) = 0)c+;if(strcmp(sp-problem,加工质量) = 0)d+;sp = sp-next;printf(不合格次数:%dn,a);printf(设计缺陷次数:%dn,b);printf(装配质量次数:%dn,c);printf(加工质量次数:%dn,d);system(pause);四、实训总结 通过本次实训,我发现我在c语言的学习上还存在很多的问题,而且对于一些基础知识的掌握还是不够熟练,本次实训的代码中很多地方都需要用到链表的知识,但是我发现我对链表的掌握很差,而且代码中的链表方面的知识还是在同学的的帮助下完成的,所以,在本次实训过后我发现我对链表方面知识的掌握有了进一步的提高。 而且在本次实训中,我发现c语言的学习其实并不是原来想象的那么难,只要对一些基本的知识点掌握的比较熟练了之后,对于一些简单的程序都可以很好的独立完成。所以作为一个计算机专业的学生,在以后的学习和其他各类计算机语言中,我要加强对基础知识的掌握,平时勤加练习,争取今早的掌握。 同时在本次实训中,我也遇到了一些困难和问题,但同时我也学会了一些面对困难时所必须的态度,这都是本次实训所带给我的。最后,我想说,虽然我的c语言基础不是很好,但是,我相信,只要我肯努力,我的c语言成绩肯定会更进一步的。五、程序源代码#include#include#include#includestruct qualityTesting /结构体:质检信息int quality_number; /质检编号char part_name20; /零件名称char producer30; /生产者char production30; /生产部门char result10; /质检结果(合格/不合格)char problem30; /质检问题(设计缺陷/装配质量/加工质量)char quality_person30; /质检员char data30; /质检日期struct qualityTesting *next;struct qualityTesting *headp,*headp1; /头结点int count=0; /计数器int flag =0; /判断删除是否成功int a=0; /统计不合格数量int b=0,c=0,d=0; /统计各种质量问题出现次数void menu() /菜单 system(cls);system(color f0);printf(ttt*n);printf(ttt* 菜单 *n);printf(ttt*n);printf(ttt* 1.读入文件 *n);printf(ttt* 2.输入质检信息 *n);printf(ttt* 3.通过质检编号显示质检信息 *n);printf(ttt* 4.通过生产者显示质检信息 *n);printf(ttt* 5.指定质检编号修改信息 *n);printf(ttt* 6.指定质检编号删除信息 *n);printf(ttt* 7.统计 *n);printf(ttt* 8.保存文件 *n);printf(ttt* 0.退出 *n);printf(ttt*n);printf(ttt 请输入选项(07):);void readFile() / 读取文件FILE *fp;struct qualityTesting *sp,*newp,*sp2;fp = fopen(data.txt,r);if(fp = NULL) printf(文件打开失败!); exit(0);headp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting);headp-next = NULL;sp =headp; while(!feof(fp) newp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting);fscanf(fp,%d%s%s%s%s%s%s%s ,&(newp-quality_number),&(newp-part_name),&(newp-producer),&(newp-production),&(newp-result),&(newp-problem),&(newp-quality_person),&(newp-data);count+;newp-next = NULL;sp-next = newp;sp = sp-next; sp-next = NULL;headp1 = sp;fclose(fp);printf(计数器:%dn,count); printf(文件录入成功!n);sp2=headp-next;while(sp2!=NULL)printf(%d %s %s %s %s %s %s %s n,sp2-quality_number,sp2-part_name,sp2-producer,sp2-production,sp2-result,sp2-problem,sp2-quality_person,sp2-data);sp2=sp2-next; system(pause);void input() /输入质检信息 struct qualityTesting *sp,*newp;int cho=1;sp = headp1;while(cho != 0) newp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting);printf(请输入质检信息n);printf(质检编号:);scanf(%d,&(newp-quality_number);printf(零件名称:);scanf(%s,&(newp-part_name);printf(生产者:);scanf(%s,&(newp-producer);printf(生产部门:);scanf(%s,&(newp-production);printf(质检结果(合格/不合格):);scanf(%s,&(newp-result);printf(质检问题(设计缺陷/装配质量/加工质量):);scanf(%s,&(newp-problem);printf(质检员:);scanf(%s,&(newp-quality_person);printf(质检日期:);scanf(%s,&(newp-data);newp-next = NULL;sp-next = newp;sp=sp-next;count+;printf(继续输入请输入数字键(退出:0);scanf(%d,&cho);sp-next = NULL;void quality_number_search() /通过质检编号显示质检信息 struct qualityTesting *sp;int number;sp = headp-next;printf(n请输入质检编号:);scanf(%d,&number);while(sp != NULL) if(sp-quality_number = number) printf(%d %s %s %s %s %s %s %s n,sp-quality_number,sp-part_name,sp-producer,sp-production,sp-result,sp-problem,sp-quality_person,sp-data);break;sp = sp-next;system(pause);void producer_search() /通过生产者显示质检信息 struct qualityTesting *sp;char name10;sp = headp-next;printf(n请输入生产者:);scanf(%s,&name);while(sp != NULL) if(strcmp(sp-producer,name) = 0) printf(%d %s %s %s %s %s %s %s n,sp-quality_number,sp-part_name,sp-producer,sp-production,sp-result,sp-problem,sp-quality_person,sp-data);break;sp = sp-next;system(pause);void quality_number_change() /指定质检编号修改信息 struct qualityTesting *sp;int number;sp = headp-next;printf(n请输入质检编号:);scanf(%d,&number);while(sp != NULL) if(sp-quality_number = number)printf(请输入质检信息n); printf(质检编号:); scanf(%d,&(sp-quality_number); printf(零件名称:); scanf(%s,&(sp-part_name); printf(生产者:); scanf(%s,&(sp-producer); printf(生产部门:); scanf(%s,&(sp-production); printf(质检结果(合格/不合格):); scanf(%s,&(sp-result); printf(质检问题(设计缺陷/装配质量/加工质量):); scanf(%s,&(sp-problem); printf(质检员:); scanf(%s,&(sp-quality_person); printf(质检日期:); scanf(%s,&(sp-data); break;sp = sp-next;printf(修改成功!);system(pause);void quality_number_delete() /指定质检编号删除信息 struct qualityTesting *sp,*fellowp;int number;sp = headp-next;fellowp = headp;printf(n请输入质检编号:);scanf(%d,&number);while(sp != NULL) if(sp-quality_number = number) fellowp-next = sp-next;free(sp); flag=1;count-; break;fellowp = sp;sp = sp-next;if(flag = 1) printf(删除成功!);else printf(删除失败!);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国建筑一局(集团)有限公司西北分局陕西地区联络员招聘1人笔试历年备考题库附带答案详解2套试卷
- 2025中国国新资产管理有限公司相关岗位招聘4人笔试历年难易错考点试卷带答案解析2套试卷
- 2025中化集团招聘人力资源管理实习生1人(北京)笔试历年常考点试题专练附带答案详解2套试卷
- 通知公司续签合同
- 陕西名校真题试卷及答案
- 电子入股合同
- 小米电子合同
- 2025年及未来5年中国汽车空调管路行业发展监测及投资战略研究报告
- 安卓面试题及答案详解版
- 安全实务面试题及答案
- 汽车吊、随车吊起重吊装施工方案
- Super-Spiderman超凡蜘蛛侠纯英PPT
- 房屋租赁合同补充协议(延期)
- 如愿三声部合唱简谱
- idc 云数据中心英文版本介绍
- 降低阴式分娩产后出血发生率-PDCA
- GB/T 985.2-2008埋弧焊的推荐坡口
- GB/T 40548-2021煤层气井分层控压合层排采技术规范
- 第六章旅游环境管理
- 生物质资源及其开发利用课件
- 山东入额考试试卷B答案定稿
评论
0/150
提交评论