C语言课程设计汽车零部件质检管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY

C语言程序设计

实训报告

实训题目: 汽车零部件质检管理系统

专业:

班级:

姓名:

成绩:

完成日期:

指导教师:

课设报告内容:

一、-----------------------------设计题目与要求

二、-----------------------------系统设计

三、------------------------------程序测试与运行结果

四、------------------------------实训总结

五、------------------------------程序源代码

一、课设题目与要求:

汽车零部件质检管理程序

题目描述

已知在汽车零部件生产过程中,需要对生产的零部件进行质量检测,保证生产质量,以便对出现生产质量问题的责任人进行考核,设计一个汽车零部件质检管理程序,该程序应该具有完成如下功能:

(1)能从键盘输入质检信息。

(3)指定生产者,显示质检信息。

(4)指定质检编号,修改质检信息。

(5)指定质检编号,删除质检信息。

题目要求:

(1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。

(2) 质检信息包括:质检编号、零部件名称、生产者、生产部门、质检结果(合格/不合格)、质量问题(设计缺陷/装配质量/加工质量)、质检员、质检日期。

(3) 为程序设计windows窗口,在该窗口上以按钮的形式为用户提供“菜单”,通过点击各个功能项对应的按钮完成操作。输入要求:

(1)用户可以根据需求,选定相应的操作项目。进入每个操作后,通过窗口的文本框,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。

(2)能对输入的数据进行简单的校验,例如,质检日期必须是一个合法的日期格式,质检编号是唯一的(一个质检编号对应一次质检的质检信息)。

输出要求:

(1)应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。

(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。

(3)在程序完成处理后,要清楚地给出程序的处理结果。例如,在给定质检编号删除质检信息时,如果该质检信息不存在,要提示没能删除,如果删除成功要提示删除成功。

实现要求:

(1)在程序中使用链表存储质检信息。

(2)采用模块化程序设计的方法,将程序中的各项功能用函数实现。

提示:

(1)使用结构体表示质检信息,一个结点保存一条质检信息。

扩展功能:

(1)提供一些统计功能。例如统计生产者质检不合格的次数,统计各种质量问题出现次数。

(2)质检信息从文件读入。

(3)将质检信息保存到文件中。

二、系统设计

(1)系统功能模块划分

○1读取文件

○2输入质检信息

○3通过质检编号显示质检信息

○4通过生产者显示质检信息

○5指定质检编号修改信息

○6指定质检编号删除信息

○7保存文件

(2)主函数的流程分析与设计

void menu() //菜单

{

system("cls");

s ystem("color f0");

p rintf("\t\t\t**********************************************\n");

p rintf("\t\t\t* 菜单*\n");

p rintf("\t\t\t**********************************************\n");

p rintf("\t\t\t* 1.读入文件*\n");

p rintf("\t\t\t* 2.输入质检信息*\n");

p rintf("\t\t\t* 3.通过质检编号显示质检信息*\n");

p rintf("\t\t\t* 4.通过生产者显示质检信息*\n");

p rintf("\t\t\t* 5.指定质检编号修改信息*\n");

p rintf("\t\t\t* 6.指定质检编号删除信息*\n");

p rintf("\t\t\t* 7.统计*\n");

p rintf("\t\t\t* 8.保存文件*\n");

p rintf("\t\t\t* 0.退出*\n");

p rintf("\t\t\t**********************************************\n");

p rintf("\t\t\t 请输入选项(0~7):");

}

void readFile() // 读取文件

{

F ILE *fp;

s truct qualityTesting *sp,*newp,*sp2;

f p = fopen("data.txt","r");

i f(fp == NULL)

{

printf("文件打开失败!");

exit(0);

}

h eadp = (struct qualityTesting *) malloc(sizeof(struct qualityTesting));

h eadp->next = NULL;

s p =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),&(n ewp->quality_person),&(newp->data));

count++;

newp->next = NULL;

sp->next = newp;

sp = sp->next;

}

sp->next = NULL;

h eadp1 = sp;

f close(fp);

p rintf("计数器:%d\n",count);

printf("文件录入成功!\n");

s p2=headp->next;

w hile(sp2!=NULL)

{

相关文档
最新文档