C语言交通处罚单管理系统

时间:2025-02-24

2011年度高级语言课程设计期末大作业

《题目》

院 系: 工学院机械系

专 业: 机械工程及自动化 年 级: 10 级 学生姓名: 学 号: 指导教师:

题 号:

2011年6月

一、题目(课程设计题库第X题)

【说明及要求】

实现交通罚款信息(车辆牌号、驾驶证号、交警代号、违章时间、罚款金额、缴费状态) 的登记、删除、修改功能,并能分别按车辆牌号、驾驶证号、交警代号查询交通罚款信息。 【提示】

(1)定义结构体表示罚款信息; (2)用文件实现罚款信息存储;

(3)分别编写函数实现罚款信息登记、修改、删除以及按车辆牌号、驾驶证号、交警代号 查询交通罚款信息。

(4)在 main 函数中调用上述函数进行演示。

二、问题分析

(一)需求分析

1.交通处罚单信息用文件储存,提供文件的输入输出操作; 2.要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;

3.要车辆、驾驶员和开单交警查询,则要提供查找操作; 4.另外提供系统操作和键盘式选择菜单以实现功能选择。

(二)该问题可以分为以下几个模块

三、程序流程图

【信息输入模块】

【删除罚单模块】

【信息查询模块】

【信息查询模块】

四、程序代码

#include<stdio.h> #include<string.h> #include<stdlib.h> #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<i;j++) {

printf("输入第%d张处罚单的:\n",j+1); printf("\n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20110601)\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<i;j++) {

fprintf(fp,"\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pno,list[j].no,list[j].date);

} fclose(fp); printf("\n保存成功!"); printf("\npress enter to return menu\n"); getchar(); getchar(); menu(); }

printf("\n请输入处罚单数量:"); scanf("%d",&i);

for(j=0;!feof(fp);j++) //读取文件 {

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

num=j+i; if(num>N) {

printf("\n结构体数组数的N太小,请先修改N的值\n"); printf("\npress enter to return menu\n"); getchar(); getchar(); menu(); }

printf("\n"); for(j=0;j<i;j++) {

printf("输入第%d张处罚单的:\n",j+1); printf("\n车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20110601)\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<i;j++) { fprintf(fp,"\n%s\t%s\t%s\t%s\t%s\t%s",list[j].vno,list[j].dname,list[j].pname,list[j].pno,li …… 此处隐藏:5704字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言交通处罚单管理系统.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219