《C语言程序设计之交通处罚单管理系统 报告(内含代码)》由会员分享,可在线阅读,更多相关《C语言程序设计之交通处罚单管理系统 报告(内含代码)(22页珍藏版)》请在金锄头文库上搜索。
1、C C 语言程序设计语言程序设计姓名:张强强姓名:张强强学号:学号:2012100369520121003695班序号:班序号:011121011121前言:前言:C 语言是近年来国内得到迅速推广使用的一种计算机语言。C 语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,无论是计算机专业还是非计算器专业的学生,学习好 C 语言是非常重要的。一一. .交通处罚单管理交通处罚单管理 要求: 交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。 功能:(1) 要求可以输入,删除,浏览交通处罚单信息。(2) 可以按车辆,驾驶员和开单交警进行查询。(3) 统计某
2、时间段某个驾驶员的交通处罚数目及交通处罚单号码。(一)需求分析(一)需求分析交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入,输出,删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。(二)(二)总体设计总体设计整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查询模块和信息统计模块等。如下图:交通处罚单管理信息输入信息删除信息浏览信息查询信息统计按车辆查询按驾驶员查询按交警查询(三)(三)详细设计详细设计1. 主函数实现的是显示菜单以及函数调用,其中各功能
3、模块用菜单方式选择。程序:int main() int n; /*变量 n 保存选择菜单数字*/ printf(“nn“)printf ( “ *菜单*n“); printf ( “ * *n“);printf ( “ * 1.输入 2.删除 *n“); printf ( “ * *n“);printf ( “ * 3.浏览 4.查询 *n“); printf ( “ * *n“);Printf ( “ * 5.统计 6.退出*n“);printf ( “* *n“);printf(“*n“); printf(“请选择功能菜单: bb“); scanf(“%d“, if (n7) n=7;sw
4、itch (n) /*选择功能*/ case 1:shuru();liulan();main();break; /*输入模块*/ case 2:shanchu();liulan();main();break; /*删除模块*/ case 3:liulan();main();break; /* 浏览模块*/ case 4:chaxun();main();break; /* 查询模块*/ case 5:tongji();main();break; /* 统计模块*/ case 6:exit(0); break; /*退出*/case 7: printf(“errorn“); 2. 信息储存函数。v
5、oid save()FILE *fp;int i;if(fp=fopen(“fadan.txt“,“w“)=NULL)printf(“不能打开“);return;for(i=0;iM;i+)if(fwrite(fclose(fp);3. 信息读取函数。FILE*fp;if(fp=fopen(“fadan.txt“,“r“)=NULL)printf(“不能打开“);exit(0);for(i=0;iN;i+)fscanf(fp,“%s%s%s%s%s“,TPBi.cp,TPBi.jz,TPBi.kdjj,TPBi.cfd,TPBi.cfsj);fclose(fp);4. 信息从键盘输入函数。vo
6、id shuru()int j;printf(“请输入数据:n“);for(j=0;jM;j+)scanf(“%s%s%s%s%s“,TPBj.cp,TPBj.jz,TPBj.kdjj,TPBj.cfd,TPBj.cfsj);save(); return 0;5.信息显示函数。void liulan() FILE*fp;int i,j;if(fp=fopen(“fadan.txt“,“r+“)=NULL)printf(“不能打开“);exit(0);system(“cls“);printf(“车牌号 驾照号 开单交警号 处罚单号 处罚时间n“);for(i=0,j=0;iN;i+,j+) fs
7、canf(fp,“%s%s%s%s%s“,TPBi.cp,TPBi.jz,TPBi.kdjj,TPBi.cfd,TPBi.cfsj);printf(“%3.2s%10.2s%10.2s%12.2s%12.2s“,TPBi.cp,TPBi.jz,TPBi.kdjj,TPBi.cfd,TPBi.cfsj);6. 记录删除函数。void shanchu()FILE*fp;int i,k,j=-1;char m10,d10,f10;if(fp=fopen(“fadan.txt“,“r“)=NULL) /打开文件printf(“不能打开“);exit(0);for(i=0;iN;i+) /读取文件到结构
8、体中fscanf(fp,“%s%s%s%s%s“,TPBi.cp,TPBi.jz,TPBi.kdjj,TPBi.cfd,TPBi.cfsj);fclose(fp); /关闭文件system(“cls“);printf(“删除模块:“);printf(“nnn“);printf(“ *n“);printf(“ * *n“);printf(“ * *n“);printf(“ * *n“);printf(“ * 1.车牌号 2.驾照号 3.开单交警号 *n“);printf(“ * *n“);printf(“ * *n“);printf(“ * *n“);printf(“ *n“);printf(“
9、nn 请输入删除选项:“);scanf(“%d“,if(k=1)printf(“请输入车牌号:“);scanf(“%s“,m);for(i=0;iN;i+)if(strcmp(m,TPBi.cp)=0)j=i; else if(k=2)printf(“请输入驾照号:“);scanf(“%s“,d);for(i=0;iN;i+)if(strcmp(d,TPBi.jz)=0)j=i;else if(k=3)printf(“请输入开单交警号:“);scanf(“%s“,f);for(i=0;iN;i+)if(strcmp(f,TPBi.kdjj)=0)j=i;if(j!=-1) /在结构体中运算 f
10、or(i=j;iNi+)TPBi=TPBi+1; N=N-1;else if(j=-1)printf(“不能打开“);if(fp=fopen(“fadan.txt“,“w“)=NULL) /*打开文件*/printf(“不能打开“);exit(0);for(i=0;iN;i+) /*写入文件*/ fprintf(fp,“n%5s%10s%13s%11s%12s“,TPBi.cp,TPBi.jz,TPBi.kdjj,TPBi.cfd,TPBi.cfsj);fclose(fp); /*关闭文件*/7. 信息查询函数。void chaxun()int i,k,t=0; char m10,d10,f1
11、0;FILE*fp;if(fp=fopen(“fadan.txt“,“r+“)=NULL) /打开文件printf(“不能打开“);exit(0);for(i=0;iN;i+) /读取文件 fscanf(fp,“%s%s%s%s%s“,TPBi.cp,TPBi.jz,TPBi.kdjj,TPBi.cfd,TPBi.cfsj);fclose(fp); /关闭文件system(“cls“);printf(“查询模块“);printf(“nnn“);printf(“ *n“);printf(“ * *n“);printf(“ * *n“);printf(“ * *n“);printf(“ * 1.车牌号 2.驾照号 3.开单交警号 *n“);printf(“ * *n“);printf(“ * *n“);printf(“ *