收藏 分销(赏)

汽车索赔标准管理系统程序ds.doc

上传人:精**** 文档编号:2716622 上传时间:2024-06-04 格式:DOC 页数:54 大小:764.04KB 下载积分:16 金币
下载 相关 举报
汽车索赔标准管理系统程序ds.doc_第1页
第1页 / 共54页
汽车索赔标准管理系统程序ds.doc_第2页
第2页 / 共54页


点击查看更多>>
资源描述
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY C语言程序设计 课程设计汇报 课设题目: 汽车索赔管理系统 专 业: 电子信息工程(汽车电子) 班 级: 电信143 姓 名: 顾应洪 成 绩: 完成日期: 7月5日到7月10日 指导老师: 胡宁亚 目 录 C语言程序设计 1 课程设计汇报 1 一、设计题目和要求 3 二、系统设计 4 2.1系统设计 4 2.2系统模块设计 5 2.3具体设计 6 2.4关键模块步骤图 7 三.测试结果 11 3.1欢迎界面 11 3.2主菜单界面 11 3.3录入学生成绩 12 3.4给定索赔编号,显示索赔信息 13 3.6给定索赔编号,删除索赔信息 14 3.7给定索赔编号,添加索赔信息 15 3.8给定索赔编号,修改索赔信息 15 3.9保留索赔信息 16 3.10题目要求 17 3.11各模块测试用例数据确实定 17 四、课程设计总结 18 五.程序源代码 19 一、设计题目和要求 汽车索赔管理程序 题目描述 已知在汽车销售后,服务站在对故障汽车维修后,能够向汽车生产厂家进行索赔,设计一个汽车索赔管理程序,以方便汽车生产厂家对汽车售后索赔进行管理,该程序完成以下功效: (1)能从键盘输入索赔信息。 (2)指定索赔编号,显示索赔信息。 (3)指定底盘号,显示索赔历史。 (4)给定索赔编号,修改索赔信息。 (5)给定索赔编号,删除索赔信息。 题目要求: (1)根据分析、设计、编码、调试、测试软件过程完成这个应用程序。 (2)索赔信息包含:索赔编号、服务站名称、底盘号、审核人、索赔金额、索赔日期。 (3)为各项操作功效设计一个菜单,应用程序运行后,先显示这个菜单,然后用户经过菜单项选择期望进行操作项目。 输入要求: (1)应用程序运行后在屏幕上显示一个菜单。用户能够依据需求,选定对应操作项目。进入每个操作后,依据应用程序提醒信息,从键盘输入对应信息。程序依据用户输入信息完成对应处理,实现要求功效。 (2)能对输入数据进行简单校验,比如,维修日期必需是一个正当日期格式,索赔编号是唯一(一个索赔编号对应一次索赔索赔信息) 输出要求: (1)应用程序运行后,要在屏幕上显示一个菜单。 (2)要求用户输入数据时,给出清楚、明确提醒信息,包含输入数据内容、格式和结束方法等。 (3)在程序完成处理后,要清楚地给出程序处理结果。比如,在给定索赔编号删除索赔信息时,假如该索赔不存在,要提醒没能删除,假如删除成功要提醒删除成功。 实现要求: (1)在程序中使用链表存放索赔信息。 (2)采取模块化程序设计方法,将程序中各项功效用函数实现。 提醒: (1)使用结构体表示索赔信息,一个结点保留一条索赔信息。 扩展功效: (1)提供部分统计功效。比如统计每个服务站索赔金额,依据审核人统计审核索赔次数。 (2)索赔信息从文件读入。 (3)将索赔信息保留到文件中。 二、系统设计 2.1系统设计 欢迎界面 打印主菜单 汽车索赔信息情况 录入汽车索赔信息历史情况 给定索赔编号,显示历史索赔信息 给定地盘号,显示历史索赔信息 给定索赔编号,删除历史索赔信息 给定新索赔编号,添加索赔信息 给定新索赔编号,修改索赔信息 保留修改以后索赔信息 退出此系统 课设题目 2.2系统模块设计 1)主菜单界面:结构函数void menu (),实现系统主菜单显示。 2) 索赔信息录入:结构函数void input(),实现从文件录入汽车索赔信息历史情况。 3)给定索赔编号,查询历史索赔信息:结构void find(),将输入索赔编号和全部索赔信息对照,输出和输入编号相匹配索赔信息。 4)给定底盘号,查询历史索赔信息:结构void finddomain(),将输入底盘号和全部编号底盘号信息对照,输出和输入底盘号相匹配索赔信息。 5)修改指定索赔信息:结构void change(),找出任意选项索赔信息,修改该对应选项索赔信息。 6)删除指定编号索赔信息:结构void delete (),找出给定编号索赔信息,删除该编号信息。 7)添加新增索赔信息:结构void addclaim(),指定新编号,添加索赔信息。 8)保留索赔信息:结构void writeinfo(),将操作以后索赔信息保留到文件里边。 2.3具体设计 1、宏定义 #define LEN sizeof(struct claim ) 2、结构体定义 struct claim { char num[20]; char name[50]; char Audit[30]; char money[20]; char date[30]; char domain[30]; struct claim *next; }; 3、全局变量及结构体指针定义 int info_flag,f=0; int flage=0; struct claim *head=NULL,*p,*p1,*p2,*p3; 4、函数申明 void welcome(); /*欢迎函数*/ void input(); /*读取索赔信息*/ int menue() ; /*菜单函数*/ void find() ; /*索赔编号查找索赔信息*/ void finddomain(); /*按底盘号查找索赔信息*/ void delete() ; /*按索赔编号删除索赔信息*/ void addclaim() ; /*添加索赔信息*/ void change(); /*修改索赔信息*/ void writeInfo(); /*把链表内容写进文*/ 5、 关键模块实现 系统以主函数int main()为入口,首先调用void welcome()函数,显示系统欢迎界面。然后显示主菜单界面,其次调用void input()函数,从文件读入索赔。最终调用void writeinfo()函数,使索赔信息保留。 2.4关键模块步骤图 打印欢迎界面 打印主菜单 接收用户选择 是否正当 是否为0 调用对应序号函数 退出系统 是 否 (1)主菜单函数 (2)给定索赔编号,显示某位学生作业完成情况 索赔信息录入 按任意键继续 输入编号 否 判定正当性 是 (3)给定底盘号,显示全部对应索赔信息 索赔录入 按任意键退出 显示该底盘号对应索赔信息 输入底盘号 是 (4)给定索赔编号,修改该对应索赔信息 修改索赔信息 按任意键退出 输入编号 否 判定是否存在 是 (5)给定索赔编号,删除对应索赔信息 输入编号 否 判定是否存在 是 删除其对应得索赔信息 按任意键退出 (6)保留索赔信息 输入路径 将索赔信息写入文件 信息保留完成,关闭文件 按任意键退出 三.测试结果 3.1欢迎界面 3.2主菜单界面 3.3录入学生成绩 3.4给定索赔编号,显示索赔信息 3.5给定底盘号,显示全部对应索赔信息 3.6给定索赔编号,删除索赔信息 3.7给定索赔编号,添加索赔信息 3.8给定索赔编号,修改索赔信息 3.9保留索赔信息 3.10题目要求 3.11各模块测试用例数据确实定 建立文件为:索赔信息表.txt; 数据为: 1001 北京 小王 1000 0210 111 1002 湖北 小张 1002 112 1003 云南 小李 3000 1212 113 1004 浙江 小明 4000 0211 114 1005 上海 小周 5000 0630 115 保留后文件为:1.txt 数据为: 1002 湖北 顾应洪 1002 112 1003 云南 小李 3000 1212 113 1004 浙江 小明 4000 0211 114 1005 上海 小周 5000 0630 115 1006 十堰 顾应洪 2800 -05-06 116 四、课程设计总结 在本学期对c语言粗略学习以后,我们进行这次课程设计,无疑加深了对c语言认识和应用。要想从书本走向实践是一个很艰苦地过程,所以刚开始时候,我碰到了多种多样阻碍,以至于差点儿打消了我做这次设计念头。一开始就碰到了怎样能正确创建一个链表问题,在上课时候就模糊不清,不知道所以然,开始翻书本,问同学,仍然是朦朦胧胧,又玩命上机操作才最终得四处理。 在过程中问我才认识到自己自己还有很多知识没学好,基础知识没理清,而且很多东西还要去翻书,去网上搜索,而且碰到部分小错误运行不出来就会烦躁不安,逐步克服这些问题后我发觉对c语言越来越感爱好了,以后我要克服这些,尽可能保持一颗良好心态,学好c语言。首先我必需学好c语言基础知识,然后能在电脑上熟练利用,上网时候多看部分优异代码,看看她人怎么写,再结合自己不足之处进行更正。总而言之,这次课设是是我记忆里一个新篇章,更是c语言编程上一个里程碑。 接着又是多种类型错误,很多是学艺不精结果,一个一个处理,时而还有道查一下单词。就这么实践是检验真理标准,在屡败屡战以后,迎来了成功花朵。然后我抓破破脑袋让我程序愈加合理和多功效。 我们已经学习了《C 语言程序设计》这门课,不过我所学知识最多也就是在做作业时候才会用到,平时没有什么练习机会,这次课程设计是我第一次经过自己构思,和同学讨论而且不停查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学知识,还让我对c语言有了更深一步了解,掌握了更多技巧和技能。 C语言是计算机程序设计关键理论基础,在我们以后学习和工作中全部有着十分关键地位。要学好这种语言,仅仅学习书本上知识是不够,还要常常自己动手,有较强实践能力。只有多动手,常常编写程序,才能发觉我们学习上漏洞和自己不足,并在实践中处理这些问题,不停提升自己转化知识能力。 在我有处理不了问题时,我会主动查阅相关资料,或向其它同学问询,这不仅丰富了我们知识,还促进了我们同学之间友谊。为了增大信息安全性,需要用文件来存放信息,因为我在上课时不重视对文件利用,所以在这方面有较大困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和促进自己了解,最终,经过我们不懈努力,我程序有了突破,成功地实现了用文件来保留并查看学索赔信息。 这次设计中,我收获还有就是学会了用步骤图来表示自己想法,并依据步骤图来逐步实现程序功效。开始时候,我画步骤图很是困难,需要一个多小时才能清楚依据自己想法画出图来,以后画多了,就愈加了解它功效,十分得心应手,能够比较快而正确画出来。 在这次课程设计中,我们首先对系统整体功效进行了构思,然后用结构化分析方法进行分析,将整个系统清楚划分为多个模块,再依据每个模块功效编写代码。而且尽可能将模块细分,最终在进行函数调用。我们在函数编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间调用(包含递归调用)。因为我们是分工编写代码,最终需要将每个人代码放到一起进行调试。在调试过程中也碰到了困难,但经过我耐心修改,最终功夫不负有心人,我成功了! 在这么一个过程中,我收获了很多在书本上根本学不到东西。了解到了自己不足之处,受益匪浅。 五.程序源代码 #include<stdio.h> #include<stdlib.h> #include<malloc.h> #include<process.h> #include<string.h> #include<conio.h> /*********************************************** **************************************************************** *********/ #define LEN sizeof(struct claim ) /*********************************************结构体定义 **************************************************************** *******/ struct claim { char num[20]; char name[50]; char Audit[30]; char money[20]; char date[30]; char domain[30]; struct claim *next; }; /*****************************************全局变量及结构体指针定义 *********************************************************/ int info_flag,f=0; int flage=0; struct claim *head=NULL,*p,*p1,*p2,*p3; /*函数申明*/ void welcome(); /*欢迎函数*/ void input(); /*读取索赔信息*/ int menue() ; /*菜单函数*/ void find() ; /*按索赔编号查找索赔信息*/ void finddomain(); /*按底盘号查找索赔信息*/ void declared() ; /*按索赔编号删除索赔信息*/ void addclaim() ; /*添加索赔信息*/ void change(); /*修改索赔信息*/ void writeInfo(); /*把链表内容写进文件*/ void keti(); /*题目*/ void miam(); /*密码*/ /************************************************************/ /*函数名:密码函数*/ /*功效描述:本函数用于实现加密功效,目标是保护内部系统资料*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*密码函数*/ void mima () { int n; char mima1[10]; char mima2[]={"123456"}; printf("\n\n\n\t\t\t密码有三次输入机会!!!"); for(n=1;n<=3;n++) { printf("\n\n\n\t\t\t请输入密码(123456):"); scanf("%s",mima1); if(strcmp(mima1,mima2)!=0) { printf("\n\t\t\t密码错误,请重新输入!"); } else { system("cls"); return; } } printf("\n\t\t\t密码输入错误,按任意键退出"); exit(0); } /************************************************************/ /*函数名:主函数*/ /*功效描述:本函数用于实现调用函数功效*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*主函数*/ int main() { mima(); welcome(); while(1) { system("cls"); switch(menue()) { case 1: system("cls"); if(info_flag==1) { printf("信息已建立\n"); getch(); break; } else { input(); break; } case 2: system("cls"); find();break; case 3: system("cls"); finddomain();break; case 4: system("cls"); declared();break; case 5: system("cls"); addclaim();break; case 6: system("cls"); change();break; case 7: system("cls"); writeInfo();break; case 8: system("cls"); keti();break; case 0: return 0; default : { fflush(stdin); printf("\n 选择错误,请正确输入你选择(0~7),:\n"); printf("\n 任意键返回......\n"); fflush(stdin); getch(); system("cls"); } } } return 0; } /************************************************************/ /*函数名:课设题目*/ /*功效描述:本函数用于实现显示课设题目标功效*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*课设题目*/ void keti() { printf("9.汽车索赔管理程序\n"); printf("题目描述\n"); printf("已知在汽车销售后,服务站在对故障汽车维修后,能够向汽车生产厂家进行索赔,设计一个汽车索赔管理程序,以方便汽车生产厂家对汽车售后索赔进行管理,该程序完成以下功效:\n"); printf("(1)能从键盘输入索赔信息。\n"); printf("(2)指定索赔编号,显示索赔信息。\n"); printf("(3)指定底盘号,显示索赔历史。\n"); printf("(4)给定索赔编号,修改索赔信息。\n"); printf("(5)给定索赔编号,删除索赔信息。\n"); printf("题目要求:\n"); printf("(1)根据分析、设计、编码、调试、测试软件过程完成这个应用程序。\n"); printf("(2)索赔信息包含:索赔编号、服务站名称、底盘号、审核人、索赔金额、索赔日期。\n"); printf("(3)为各项操作功效设计一个菜单,应用程序运行后,先显示这个菜单,然后用户经过菜单项选择期望进行操作项目。\n"); printf("输入要求:\n"); printf("(1)应用程序运行后在屏幕上显示一个菜单。用户能够依据需求,选定对应操作项目。进入每个操作后,依据应用程序提醒信息,从键盘输入对应信息。程序依据用户输入信息完成对应处理,实现要求功效。\n"); printf("(2)能对输入数据进行简单校验,比如,维修日期必需是一个正当日期格式,索赔编号是唯一(一个索赔编号对应一次索赔索赔信息)\n"); printf("输出要求:\n"); printf(" (1)应用程序运行后,要在屏幕上显示一个菜单。\n"); printf("(2)要求用户输入数据时,给出清楚、明确提醒信息,包含输入数据内容、格式和结束方法等。\n"); printf("(3)在程序完成处理后,要清楚地给出程序处理结果。比如,在给定索赔编号删除索赔信息时,假如该索赔不存在,要提醒没能删除,假如删除成功要提醒删除成功。:\n"); printf("实现要求:\n"); printf("(1)在程序中使用链表存放索赔信息。\n"); printf("(2)采取模块化程序设计方法,将程序中各项功效用函数实现。\n"); printf("扩展功效:\n"); printf("(1)提供部分统计功效。比如统计每个服务站索赔金额,依据审核人统计审核索赔次数。\n"); printf("(2)索赔信息从文件读入。\n"); printf("(3)将索赔信息保留到文件中。\n"); system("pause"); } /************************************************************/ /*函数名:欢迎函数*/ /*功效描述:欢迎界面*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*欢迎函数*/ void welcome() { system("color 8a"); printf("\n\n\n\n\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ 欢 迎 使 用 汽 车 索 赔 管 理 系 统! ☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ \t\t\t\t\t\t ☆☆\n"); printf("\t\t☆☆ 制 作 人:顾应洪 指 导 教 师:胡宁亚 ☆☆\n"); printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); printf("\t\t☆☆☆☆☆☆ 请 按 任 意 键 进 入 系 统☆☆☆☆☆☆☆☆☆☆ \n"); printf("\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"); fflush(stdin); getch(); system("cls"); return; } /************************************************************/ /*函数名:读取索赔信息*/ /*功效描述:本函数用于实现读取索赔信息功效*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*读取索赔信息*/ void input() { FILE *fp; int n=0; if((fp=fopen("c:\\索赔信息表.txt","r"))==NULL) { printf("cannot open this file:\n"); exit(0); } head=p1=(struct claim *)malloc(LEN); p1->next =NULL; while(!feof(fp)) { fscanf(fp,"%s%s%s%s%s%s", p1->num,p1->name,p1->Audit,p1->money,p1->date,p1->domain); p2=(struct claim *)malloc(LEN); p1->next =p2; p3=p1; p1=p2; p1->next =NULL; } free(p2); p3->next=NULL; fclose(fp); info_flag=1; p1=head; printf("\t\t索赔信息以下:\n\n\n"); while(p1!=NULL) { n=1; printf("\t\t索赔编号:%s\n",p1->num); printf("\t\t服务站名称:%s\n",p1->name); printf("\t\t审核人:%s\n",p1->Audit); printf("\t\t索赔金额:%s\n",p1->money); printf("\t\t索赔日期:%s\n",p1->date); printf("\t\t底盘号:%s\n",p1->domain); printf("\n\n"); p1=p1->next; } if(n==0) printf("\n\n\n\n\t\t\t没有索赔信息!!!"); getch(); } /************************************************************/ /*函数名:按索赔编号查找索赔信息*/ /*功效描述:本函数用于实现按索赔编号查找索赔信息功效*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*按索赔编号查找索赔信息*/ void find() { char num[20]; p1=head; if(p1==NULL) { printf("数据库为空\n"); printf("任意键返回"); system("cls"); return; } printf("请输入要查找索赔编号"); scanf("%s",num); while(p1!=NULL) { if(strcmp(p1->num,num)==0) { printf("\t\t索赔编号:%s\n",p1->num); printf("\t\t服务站名称:%s\n",p1->name); printf("\t\t审核人:%s\n",p1->Audit); printf("\t\t索赔金额:%s\n",p1->money); printf("\t\t索赔日期:%s\n",p1->date); printf("\t\t底盘号:%s\n",p1->domain); printf("\n\n"); break; } else p1=p1->next; } if(p1==NULL) printf("\n\n找不到索赔信息!!!!\n"); printf("\n 任意键返回......\n"); getch(); system("cls"); } /************************************************************/ /*函数名:按底盘号查找索赔信息*/ /*功效描述:本函数用于实现按底盘号查找索赔信息功效功效*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*按底盘号查找索赔信息*/ void finddomain() { char domain[30]; p1=head; if(p1==NULL) { printf("\n\n数据库为空!!! \n"); printf("\n 任意键返回......\n"); getch(); system("cls"); return ; } printf("\n\n 请输入底盘号:\n"); fflush(stdin); scanf("%s",domain); while(p1!=NULL) { if(strcmp(p1->domain,domain)==0) //查找底盘号 { printf("\t\t索赔编号:%s\n",p1->num); printf("\t\t服务站名称:%s\n",p1->name); printf("\t\t审核人:%s\n",p1->Audit); printf("\t\t索赔金额:%s\n",p1->money); printf("\t\t索赔日期:%s\n",p1->date); printf("\t\t底盘号:%s\n",p1->domain); printf("\n\n"); f=1; //标志变量 } p1=p1->next; } if(f!=1) { printf("\n\n没有%s底盘号信息!!!\n",domain); printf("\n 任意键返回......\n"); getch(); system("cls"); //清屏 } else { printf("按任意键返回"); getch(); system("cls"); } } /************************************************************/ /*函数名:按索赔编号删除索赔信息*/ /*功效描述:本函数用于实现按索赔编号查找索赔信息功效*/ /*入口参数:无*/ /*出口参数:无*/ /*返回值:无*/ /************************************************************/ /*按索赔编号删除索赔信息*/ void declared() { char num[20] if(info_flag==0) { printf("未建立,数据库为空\n"); printf("任意键返回"); g
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 机械/制造/汽车

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服