#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 500
struct fandan
{
int num;
int chepai;
char name[8];
int id;
char time[11];
char time1;
char time2;
}dan[N];
void luru();
void shanchu();
void liulan();
void chaxun();
void tongji();
void printf_back();
void menu();
int main()
{
int n;
while(1)
{
menu();
scanf("%d\n",&n);
switch(n)
{
case 1:
luru();break;
case 2:
shanchu();break;
case 3:
liulan();break;
case 4:
chaxun();break;
case 5:
tongji();break;
case 6:
exit(0);
}
return(n);
}
}
}
void menu()
{
printf("\n");
printf("欢迎来到交通处罚单管理系统\n");
printf("**********************************************************\n");
printf("1 信息录入\n");
printf("2 删除信息\n");
printf("3 浏览信息\n");
printf("4 信息查询\n");
printf("5 信息统计\n");
printf("6 退出\n");
printf("**********************************************************\n");
printf("输入数字选择对应的功能\n");
}
void luru()
{
int i,j;
FILEfp;
if((fp=fopen("data.txt","r"))==NULL)
{
if((fp=fopen("data.txt","w"))==NULL)
{
printf("无法打开文件!\n");
exit(0);
}
printf("--------------------录入建立模块------------------\n");
printf("\n输入罚单信息条数\n");
scanf("%d",&j);
printf("\n\n请依次输入罚单信息:\n\n");
for(i=0;i<j;i++);
{
printf("请输入罚单号:\n");
scanf("%3d\n",&dan[i].num);
printf("请输入车牌号:\n");
scanf("%5d\n",&dan[i].chepai);
printf("请输入车主姓名:\n");
scanf("%8s\n",&dan[i].name);
printf("请输入交警ID:\n");
scanf("%5d\n",&dan[i].id);
printf("请输入处罚时间:\n");
scanf("%11s\n",&dan[i].time);
printf("\n\n");
printf("--------------------------------------------------\n");
fprintf(fp,"\n%3d%5d%8s%5d%11s%",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].id,&dan[i].time);
}
printf("输入信息成功\n");
fclose (fp);
printf_back();
}
}
void shanchu()
{
int i;
int m;
int c;
int w;
int t;
int NUM;
int flag=0;
FILE*fp;
printf("--------------------删除模块------------------\n");
printf("输入管理员密码:\n");
scanf("%d",&m);
if(m=12345678)
{
printf("密码正确!\n");
printf("输入要删除的处罚单号:");
scanf("%d",&m);
fp=fopen("data.txt","r");
for(i=0;!feof(fp);i++)
fscanf(fp,"%3d%5d%8s%5d%11s%",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].id,&dan[i].time);
}
NUM=i;
for(i=0;i<NUM;i++)
{
if(w==dan[i].num)
c=i;
printf("---------------------------\n");
printf("请输入罚单号:\n");
scanf("%3d\n",&dan[i].num);
printf("请输入车牌号:\n");
scanf("%5d\n",&dan[i].chepai);
printf("请输入车主姓名:\n");
scanf("%8s\n",&dan[i].name);
printf("请输入交警ID:\n");
scanf("%5d\n",&dan[i].id);
printf("请输入处罚时间:\n");
scanf("%11s\n",&dan[i].time);
printf("---------------------------\n");
flag=1;
}
}
if( flag=0)
{
printf("找不到要删除的罚单信息!\n");
fclose(fp);
printf_back();
}
fclose(fp);
printf("是否删除此罚单号?\n1.确定\t2.取消[]\b\b");
scanf("%d",&t);
if(t==1)
{
fp=fopen("data.txt","w");
for(i=0;i<NUM;i++)
{
if(i!=c)
{
fprintf(fp,"%3d%5d%8s%5d%11s%",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].id,&dan[i].time);
}
}
printf("成功删除罚单号码!");
fclose(fp);
printf_back();
}
else
printf_back();
}
}
void liulan()
{
int i,NUM;
FILE*fp;
fp=fopen("data.txt","r");
printf("--------------------浏览模块------------------\n");
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%3d%5d%8s%5d%11s%",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].id,&dan[i].time);
}
fclose(fp);
NUM=i;
for(i=0;i<NUM;i++)
{
printf("---------------------------\n");
printf("请输入罚单号:\n");
scanf("%3d\n",&dan[i].num);
printf("请输入车牌号:\n");
scanf("%5d\n",&dan[i].chepai);
printf("请输入车主姓名:\n");
scanf("%8s\n",&dan[i].name);
printf("请输入交警ID:\n");
scanf("%5d\n",&dan[i].id);
printf("请输入处罚时间:\n");
scanf("%11s\n",&dan[i].time);
printf("---------------------------\n");
}
printf_back();
}
void chaxun()
{
int i,j,x,flag=0;
int NUM;
char m[10];
FILE*fp;
fp=fopen("data.txt","r");
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%3d%5d%8s%5d%11s%",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].id,&dan[i].time);
}
NUM=i;
printf("--------------------查询模块------------------\n");
printf("输入查询的车辆信息:\n");
printf("1_按车牌号查询\n");
printf("2_按车主姓名查询\n");
printf("3_按开单交警查询\n");
scanf("%d\n",&x);
if(x==1)
{
printf("请输入要查询的车牌号:\n");
scanf("%d",&j);
for(i=0;i<NUM;i++)
{
if(dan[i].chepai=j)
{
printf("处罚单号:%d\n",&dan[i].num);
printf("车牌号码:%d\n",&dan[i].chepai);
printf("车主姓名:%d\n",&dan[i].name);
printf("交警ID:%d\n",&dan[i].id);
printf("处罚时间:%d\n",&dan[i].time);
printf("---------------------------\n");
flag=1;
}
}
if(flag==0)
printf("找不到此罚单信息!\n")
fclose(fp);
printf_back();
}
else if(x==2)
printf("请输入要查询的驾驶员姓名:");
scanf("%s",m);
for(i=0;i<NUM;i++)
{
if(dan[i].chepai&&dan[i].name==0)
{
printf("处罚单号:%d\n",&dan[i].num);
printf("车牌号码:%d\n",&dan[i].chepai);
printf("车主姓名:%d\n",&dan[i].name);
printf("交警ID:%d\n",&dan[i].id);
printf("处罚时间:%d\n",&dan[i].time);
printf("---------------------------\n");
flag=1;
}
}
if(flag==0)
printf("找不到罚单信息!\n");
fclose(fp);
printf_back();
}
else if(x==3)
{
printf("输入查询的开单警察ID:");
scanf("%d",&j);
fp=fopen("data.txt","r");
for(i=0;i<NUM;i++)
{
if(dan[i].chepai&&dan[i].name==0)
{
printf("处罚单号:%d\n",&dan[i].num);
printf("车牌号码:%d\n",&dan[i].chepai);
printf("车主姓名:%d\n",&dan[i].name);
printf("交警ID:%d\n",&dan[i].id);
printf("处罚时间:%d\n",&dan[i].time);
printf("---------------------------\n");
flag=1;
}
}
if(flag==0)
printf("找不到罚单信息!\n");
fclose(fp);
printf_back();
}
else
{
printf("输入错误!\n");
printf_back();
}
}
void tongji()
{
int sum;
int t=0;
int NUM;
int i;
int z;
int a,b;
char v[8];
char name[20];
char time1[20];
char time2[20];
FILE*fp;
fp=fopen("data.txt","r");
printf("----------------------统计模块------------------\n");
printf("请输入车主姓名: ");
scanf("%s",v);
printf("请输入要统计的时间段:\n");
printf("\n输入一个起始时间:");
scanf("%s",time1);
printf("\n输入一个截止时间:");
scanf("%s",time2);
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%3d%5d%8s%5d%11s%",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].id,&dan[i].time);
}
fclose(fp);
NUM=i;
for(i=0;i<NUM;i++)
{
if(strcmp(v,dan[i].name)==0)
if(dan[i].time1>a&&dan[i].time2<b)
{
printf("交通处罚单号码:%d\n",dan[i].num);
t++;
}
else
{
printf("%d\n",t=0);aa
}
printf("从起始时间到截止时间",time1,time2);
puts(v);
printf("共有罚单数是:%d\n",t);
printf("总罚金:%d\n",sum=zt);
printf_back();
}
void printf_back()
{
int w;
printf("\nWhat do you want to do?\n\n\t(1).浏览\t(2).返回主界面 []\b\b");
scanf("%d",&w);
if(w==1)
liulan();
else
main();
}
}