车辆违章查询系统

一、系统功能模块结构图

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

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

所以采用的数据结构如下

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,提示输入信息.输入12345678123110

输入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;

}

}

}

}

《车辆违章查询系统.doc》
将本文的Word文档下载,方便收藏和打印
推荐:
下载文档
热门推荐
相关推荐