汽车索赔管理系统程序ds.docx

上传人:b****5 文档编号:6193447 上传时间:2023-01-04 格式:DOCX 页数:42 大小:691.57KB
下载 相关 举报
汽车索赔管理系统程序ds.docx_第1页
第1页 / 共42页
汽车索赔管理系统程序ds.docx_第2页
第2页 / 共42页
汽车索赔管理系统程序ds.docx_第3页
第3页 / 共42页
汽车索赔管理系统程序ds.docx_第4页
第4页 / 共42页
汽车索赔管理系统程序ds.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

汽车索赔管理系统程序ds.docx

《汽车索赔管理系统程序ds.docx》由会员分享,可在线阅读,更多相关《汽车索赔管理系统程序ds.docx(42页珍藏版)》请在冰豆网上搜索。

汽车索赔管理系统程序ds.docx

汽车索赔管理系统程序ds

HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGY

 

C语言程序设计

课程设计报告

 

课设题目:

汽车索赔管理系统

专业:

电子信息工程(汽车电子)

班级:

电信143

****************************************

成绩:

完成日期:

2015年7月5日到2015年7月10日

***************************************

 

一、设计题目与要求

汽车索赔管理程序

题目描述

已知在汽车销售后,服务站在对故障汽车维修后,可以向汽车生产厂家进行索赔,设计一个汽车索赔管理程序,以方便汽车生产厂家对汽车售后索赔进行管理,该程序完成如下功能:

(1)能从键盘输入索赔信息。

(2)指定索赔编号,显示索赔信息。

(3)指定底盘号,显示索赔历史。

(4)给定索赔编号,修改索赔信息。

(5)给定索赔编号,删除索赔信息。

题目要求:

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

(2)索赔信息包括:

索赔编号、服务站名称、底盘号、审核人、索赔金额、索赔日期。

(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

输入要求:

(1)应用程序运行后在屏幕上显示一个菜单。

用户可以根据需求,选定相应的操作项目。

进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。

程序根据用户输入的信息完成相应的处理,实现要求的功能。

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

输出要求:

(1)应用程序运行后,要在屏幕上显示一个菜单。

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

(3)在程序完成处理后,要清楚地给出程序的处理结果。

例如,在给定索赔编号删除索赔信息时,如果该索赔不存在,要提示没能删除,如果删除成功要提示删除成功。

实现要求:

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

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

提示:

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

扩展功能:

(1)提供一些统计功能。

例如统计每个服务站索赔金额,根据审核人统计审核的索赔次数。

(2)索赔信息从文件读入。

(3)将索赔信息保存到文件中。

二、系统设计

2.1系统设计

 

 

2.2系统模块设计

1)主菜单界面:

构造函数voidmenu(),实现系统主菜单的显示。

2)索赔信息录入:

构造函数voidinput(),实现从文件录入汽车索赔信息的历史情况。

3)给定索赔编号,查询历史索赔信息:

构造voidfind(),将输入的索赔编号和全部索赔信息对照,输出与输入编号相匹配的索赔信息。

4)给定底盘号,查询历史索赔信息:

构造voidfinddomain(),将输入的底盘号和全部编号的底盘号信息对照,输出与输入底盘号相匹配的索赔信息。

5)修改指定索赔的信息:

构造voidchange(),找出任意选项的索赔信息,修改该对应选项的索赔信息。

6)删除指定编号的索赔信息:

构造voiddelete(),找出给定编号的索赔信息,删除该编号的信息。

7)添加新增的索赔信息:

构造voidaddclaim(),指定新的编号,添加索赔信息。

8)保存索赔信息:

构造voidwriteinfo(),将操作之后的索赔信息保存到文件里边。

2.3详细设计

1、宏定义

#defineLENsizeof(structclaim)

2、结构体定义

structclaim

{

charnum[20];

charname[50];

charAudit[30];

charmoney[20];

chardate[30];

chardomain[30];

structclaim*next;

};

3、全局变量及结构体指针的定义

intinfo_flag,f=0;

intflage=0;

structclaim*head=NULL,*p,*p1,*p2,*p3;

4、函数声明

voidwelcome();/*欢迎函数*/

voidinput();/*读取索赔信息*/

intmenue();/*菜单函数*/

voidfind();/*索赔编号查找索赔信息*/

voidfinddomain();/*按底盘号查找索赔信息*/

voiddelete();/*按索赔编号删除索赔信息*/

voidaddclaim();/*添加索赔信息*/

voidchange();/*修改索赔信息*/

voidwriteInfo();/*把链表内容写进文*/

5、主要模块的实现

系统以主函数intmain()为入口,首先调用voidwelcome()函数,显示系统欢迎界面。

然后显示主菜单界面,其次调用voidinput()函数,从文件读入索赔。

最后调用voidwriteinfo()函数,使索赔信息保存。

2.4主要模块流程图

(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北京小王100020090210111

1002湖北小张200020101002112

1003云南小李300020111212113

1004浙江小明400020120211114

1005上海小周500020130630115

保存后的文件为:

1.txt

数据为:

1002湖北顾应洪200020101002112

1003云南小李300020111212113

1004浙江小明400020120211114

1005上海小周500020130630115

1006十堰顾应洪28002012-05-06116

四、课程设计总结

在本学期对c语言的粗略学习之后,我们进行的这次课程设计,无疑加深了对c语言的认识和应用。

要想从书本走向实践是一个很艰难地过程,所以刚开始的时候,我遇到了各种各样的阻碍,以至于差点儿打消了我做这次设计的念头。

一开始就遇到了怎样能正确创建一个链表的问题,在上课的时候就模糊不清,不知道所以然,开始翻课本,问同学,依然是朦朦胧胧,又玩命的上机操作才终于得到解决。

在过程中问我才认识到自己自己还有很多的知识没学好,基础知识没理清,而且很多东西还要去翻书,去网上搜索,而且遇到一些小错误运行不出来就会烦躁不安,逐渐克服这些问题后我发现对c语言越来越感兴趣了,以后我要克服这些,尽量保持一颗良好的心态,学好c语言。

首先我必须学好c语言的基础知识,然后能在电脑上熟练的运用,上网的时候多看一些优秀的代码,看看别人怎么写,再结合自己的不足之处进行改正。

总之,这次的课设是是我记忆里的一个新篇章,更是c语言编程上的一个里程碑。

接着又是各种类型的错误,很多是学艺不精的结果,一个一个解决,时而还有道查一下单词。

就这样实践是检验真理的标准,在屡败屡战之后,迎来了成功的花朵。

然后我抓破破脑袋的让我的程序更加合理和多功能。

我们已经学习了《C语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。

这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。

C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。

要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。

只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。

在我有解决不了的问题时,我会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。

为了增大信息的安全性,需要用文件来存储信息,由于我在上课时不注重对文件的运用,所以在这方面有较大的困难。

我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我的程序有了突破,成功地实现了用文件来保存并查看学索赔信息。

这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。

开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。

在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。

而且尽可能的将模块细分,最后在进行函数的调用。

我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。

由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。

在调试的过程中也遇到了困难,但经过我耐心的修改,终于功夫不负有心人,我成功了!

在这样一个过程中,我收获了许多在书本上根本学不到的东西。

了解到了自己的不足之处,受益匪浅。

五.程序源代码

#include

#include

#include

#include

#include

#include

/***********************************************

****************************************************************

*********/

#defineLENsizeof(structclaim)

/*********************************************结构体定义

****************************************************************

*******/

structclaim

{

charnum[20];

charname[50];

charAudit[30];

charmoney[20];

chardate[30];

chardomain[30];

structclaim*next;

};

/*****************************************全局变量及结构体指针的定义

*********************************************************/

intinfo_flag,f=0;

intflage=0;

structclaim*head=NULL,*p,*p1,*p2,*p3;

/*函数声明*/

voidwelcome();/*欢迎函数*/

voidinput();/*读取索赔信息*/

intmenue();/*菜单函数*/

voidfind();/*按索赔编号查找索赔信息*/

voidfinddomain();/*按底盘号查找索赔信息*/

voiddeclared();/*按索赔编号删除索赔信息*/

voidaddclaim();/*添加索赔信息*/

voidchange();/*修改索赔信息*/

voidwriteInfo();/*把链表内容写进文件*/

voidketi();/*题目*/

voidmiam();/*密码*/

 

/************************************************************/

/*函数名:

密码函数*/

/*功能描述:

本函数用于实现加密功能,目的是保护内部系统资料*/

/*入口参数:

无*/

/*出口参数:

无*/

/*返回值:

无*/

/************************************************************/

/*密码函数*/

voidmima()

{

intn;

charmima1[10];

charmima2[]={"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);

}

/************************************************************/

/*函数名:

主函数*/

/*功能描述:

本函数用于实现调用函数的功能*/

/*入口参数:

无*/

/*出口参数:

无*/

/*返回值:

无*/

/************************************************************/

/*主函数*/

intmain()

{

mima();

welcome();

while

(1)

{

system("cls");

switch(menue())

{

case1:

system("cls");

if(info_flag==1)

{

printf("信息已建立\n");

getch();

break;

}

else

{

input();

break;

}

case2:

system("cls");find();break;

case3:

system("cls");finddomain();break;

case4:

system("cls");declared();break;

case5:

system("cls");addclaim();break;

case6:

system("cls");change();break;

case7:

system("cls");writeInfo();break;

case8:

system("cls");keti();break;

case0:

return0;

default:

{

fflush(stdin);

printf("\n选择错误,请正确输入你的选择(0~7),:

\n");

printf("\n任意键返回......\n");

fflush(stdin);

getch();

system("cls");

}

}

}

return0;

}

/************************************************************/

/*函数名:

课设题目*/

/*功能描述:

本函数用于实现显示课设题目的功能*/

/*入口参数:

无*/

/*出口参数:

无*/

/*返回值:

无*/

/************************************************************/

/*课设题目*/

voidketi()

{

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");

}

/************************************************************/

/*函数名:

欢迎函数*/

/*功能描述:

欢迎界面*/

/*入口参数:

无*/

/*出口参数:

无*/

/*返回值:

无*/

/************************************************************/

/*欢迎函数*/

voidwelcome()

{

system("color8a");

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;

}

/************************************************************/

/*函数名:

读取索赔信息*/

/*功能描述:

本函数用于实现读取索赔信息功能*/

/*入口参数:

无*/

/*出口参数:

无*/

/*返回值:

无*/

/************************************************************/

/*读取索赔信息*/

voidinput()

{

FILE*fp;

intn=0;

if((fp=fopen("c:

\\索赔信息表.txt","r"))==NULL)

{

printf("cannotopenthisfile:

\n");

exit(0);

}

head=p1=(structclaim*)malloc(LEN);

p1->next=NULL;

while(!

feof(fp))

{

fscanf(fp,"%s%s%s%s%s%s",p1->num,p1-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1