车辆违章查询系统方案

  • 格式:doc
  • 大小:143.00 KB
  • 文档页数:6

下载文档原格式

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

一、系统功能模块结构图

二、数据结构设计及用法说明

需处理的车辆及违章基本信息包括:车牌号、车主、违章停车次数、闯红灯次数、超速次数。这些信息采用结构体数据类型表示更为方便,这更符合实际应用

所以采用的数据结构如下

typedef struct Pe /*建立结构体*/

{

char vno[8]; /*车牌号*/

char name[15]; /*车主*/

int parking; /*违章停车次数*/

int redlight; /*闯红灯次数*/

int speeding; /*超速次数*/

}PECCANCY;

其中char vno[8] 用来存储车牌号,char name[15]存储车主int parking 记录违章停车次数,int redlight;记录闯红灯次数,int speeding;记录超速次数,。

三、各模块的功能

本程序一共具有3个功能。因此,一共将程序分为3个模块。

模块一是车辆及违章信息的录入。

具体流程为:输入的车牌号、车主,依此输入这个车牌号所违章的项

目的次数。输入1继续输入,输入0停止输入。

模块二、基于车牌号查询违章记录

具体流程为:根据输入的车牌号查找每一条存储的信息。有符合的信息则输出

模块三、根据车牌号统计每辆车的罚款总金额

具体流程为:根据输入的车牌号查找所储存的信息,并计算出罚款总金额。

四、设计程序

见附录。

五、实验结果

运行程序。

输入1,提示输入信息.输入12345678,123,1,1,0。

输入2.输入车牌号12345678程序输出该车违章信息。其中违章停车一次,闯红灯一次,超速0次。返回主菜单。

输入3. 输入车牌12345678.输出罚款300.

六、体会

编写程序速度较慢,感觉力不从心。同时,c语言很久没有使用,感觉比较生疏,很多基本的语句都会出错。

完成这个实验让我明白,只有不断地编写程序才能提高自己,才能是自己更快的找到完成程序的算法。同时,第一的实验也为第二个实验开了个好头。

七、部分功能截图信息输入

信息输出

附录:程序清单

#include

#include

typedef struct Pe /*建立结构体*/

{

char vno[8]; /*车牌号*/

char name[15]; /*车主*/

int parking; /*违章停车次数*/

int redlight; /*闯红灯次数*/

int speeding; /*超速次数*/

}PECCANCY;

void main()

{

PECCANCY a[20];

int i,j,sum;

sum=-1;

i=1;

{

int key;

while (key!=4)

{

printf("请输入指令 \n1.车辆及违章信息的录入\n2.车辆的违章情况\n3.车辆的罚款总金额\n4.退出\n");

scanf("%d",&key);

switch(key) /*功能选择*/

{

case 1: /*信息录入*/

{

int k=1;

while (k!=0)

{

printf("输入请按1 退出请按0");

scanf("%d",&k);

for (j=1;j<=k;j++)

{

printf("请输入违章车辆的车牌号车主违章停车次数闯红灯次数超速次数\n");

scanf("%s",&a[sum+j].vno);

scanf("%s",&a[sum+j].name);

scanf("%d",&a[sum+j].parking);

scanf("%d",&a[sum+j].redlight);

scanf("%d",&a[sum+j].speeding);

printf("\n");

}

sum=sum+k;

}

}

break;

case 2: /*信息查询*/

{

printf("请输入违章车辆的车牌号");

char vnoc[8];

scanf("%s",vnoc);

for (j=0;j

if (strcmp(vnoc,a[j].vno)==0)

{

printf("违章车辆的车牌号%s\n",a[j].vno);

printf("车主%s\n",a[j].name);

printf("违章停车次数%d\n",a[j].parking);

printf("闯红灯次数%d\n",a[j].redlight);

printf("超速次数%d\n",a[j].speeding);

}

}

break;

case 3: /*罚金查询*/

{

printf("请输入违章车辆的车牌号");

char vnoc[8];

scanf("%s",vnoc);

for (j=0;j

if (strcmp(vnoc,a[j].vno)==0)

{

int fine;

fine= a[j].parking*100+a[j].redlight*200+a[j].speeding*500;

printf("应缴罚金:");

printf("%d",fine);

}

}

break;

}

}

}

}

相关主题