Java课设交通罚单管理系统_交通处罚单管理系统(c语言课程设计).doc

交通处罚单管理系统(c语言课程设计)

交通处罚单管理系统

中国地质大学(武汉) 地球科学学院 014072班

2010-11-26

用C语言编写一个简单的模拟交通处罚单管理系统

[要求]

交通处罚单涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码、处罚时间等信息;

[功能]

要求可以输入、删除、浏览交通处罚单信息;

可以按车辆、驾驶员和开单交警查询;

统计某段时间某个驾驶员的交通处罚单数目及交通处罚单号;

源代码:

#include

#include

#include

#define N 100

struct Plist //处罚单

{

char vno[20]; //车牌号

char dname[20]; //驾驶员姓名

char pname[20]; //交警姓名

char pno[20]; //交警编号

char no[20]; //处罚单编号

char date[20]; //处罚日期

} list[N]; //处罚单数组

void input(); //输入模块

void dele(); //删除模块

void browse(); //浏览模块

void search(); //查询模块

void count(); //统计模块

void menu(); //主菜单

void vno_search(); //按车牌号查询

void dna_search(); //按驾驶员姓名查询

void pna_search(); //按开单交警姓名查询

main()

{

menu();

getchar();

}

void menu()

{

int n;

int r;

do

{

system("cls");

printf("\n\t\t\t\t交通处罚单管理系统\n");

printf("········································");

printf(" 菜单: 1-信息录入 2-信息删除 3-信息浏览 4-信息查询 5-信息统计 6-退出系统\n");

printf("········································");

printf("请从输入数字选择相应的功能:");

scanf("%d",&n);

if(n<1||n>6)

{

r=1;

getchar();

}

else r=0;

}while(r==1);

switch(n)

{

case 1:input();break;

case 2:dele();break;

case 3:browse();break;

case 4:search();break;

case 5:count();break;

case 6:exit(0);

}

}

void input()

{

FILE*fp;

int num;

int i,j;

if((fp=fopen("list.txt","r+"))==NULL)

{

if((fp=fopen("list.txt","w"))==NULL)

{

printf("文件打开或创建失败!\n");

printf("\npress enter to return menu\n");

getchar();

menu();

}

printf("\n请输入处罚单数量:");

scanf("%d",&i);

printf("\n\n");

for(j=0;j

{

printf("输入第%d张处罚单的:\n",j+1);

printf("\n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(\n");

printf("\n注意:中间用空格隔开!\n");

scanf("%s%s%s%s%s%s",&list[j].vno,&list[j].dname,&list[j].pname,&list[j].pno,&list[j].no,&list[j].date);

}

for(j=0;j

{

fprintf(fp,"\n%s\t%s\t%s\t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
需求分析 交通处罚信息用文件存储,因而要提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜以实现功能选择。 总体设计 整个管理系统被设计为信息输入模块、信息删除模块、信息浏览模块、信息查询模块和信息统计模块。 详细设计 数据结构采用结构体,设计交通处罚结构体: Struct TranficPunishBill { Char carNo[10]; //车牌号 Char driverNo[20]; //驾照号 Char policeNo[10]; //开交警号码 Char billNo[20]; //处罚号码 Char time[12]; //处罚时间(yyyymmddhhmm,年月日时分) }TPB; (1)主函数提示用户选择功能:输入 删除 浏览 查询 统计 (2)信息输入模块 采用追加的方式用fwrite或fprintf把处罚信息写入处罚信息文件。 (3)信息删除模块 输入处罚号码,然后在处罚信息文件中查找该条处罚,删除之。具体删除操作:用fopen打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。 (4)信息浏览模块 采用fread或fscanf读处罚信息文件,分屏输出,每屏10条记录。 (5)信息查询模块 通过菜选择查询字段:车辆 驾驶员 开交警, 分别按照车牌号、驾照号、开交警号采用基本的查找算法查找交通处罚信息文件,如果找到相应得记录则输出处罚信息,否则输出“您所查找的信息不存在!”。 (6)信息统计模块 提示输入驾驶员的驾照号和时间段。设置一个计数器,初始化为0。采用基本算法查找交通处罚信息文件,比较驾照号,如果驾照号匹配,再看处罚时间是否出于查询时间段内,如果是,则计数器加1,并输出该处罚号。文件查找结束后,输出计数器的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值