本文共 1850 字,大约阅读时间需要 6 分钟。
C语言课程设计交通处罚单管理系统
C语言课程设计
交通处罚单管理
题目要求
交通处罚单涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码、处罚时间等信息。
功能:
要求可以输入、删除、浏览交通处罚单信息。
可以按车辆、驾驶员和开单交警查询。
统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。
需求分析
交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。
总体设计
交通处罚单管理系统信息输入
交通处罚单管理系统
信息输入
信息删除
信息浏览
信息查询
信息统计
退出
详细设计
主函数
[主函数流程图]
显示一系列功能选项
显示一系列功能选项
输入n,判断n是否是1—6
根据n的值调用各功能模块函数
[主函数程序]
menu() /*主界面*/
{
int n,w; /*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*/
do
{
printf("\t\t\t欢迎来到交通处罚单管理系统!\n\n");
printf("\t\t*******************MENU*******************\n\n");
printf("\t\t\t\t1.信息输入\n");
printf("\t\t\t\t2.信息删除\n");
printf("\t\t\t\t3.信息浏览\n");
printf("\t\t\t\t4.信息查询\n");
printf("\t\t\t\t5.信息统计\n");
printf("\t\t\t\t6.退出\n");
puts("\n\n\t\t********************************************\n");
printf("\t\t请输入您的操作(1-6):[ ]\b\b");
scanf("%d",&n);
if(n<1||n>6) /*对选择的数字作判断*/
{
w=1;
getchar();
}
else
w=0;
}
while(w==1); /*选择功能*/
switch(n)
{
case 1:shuru();break;
case 2:shanchu();break;
case 3:liulan();break;
case 4:chaxun();break;
case 5:tongji();break;
case 6:exit(0);
}
return(n);
}
void main() /*主函数*/
{
menu();
}
各功能模块设计
(1)、输入模块
[数据结构]
采用结构体的形式,把处罚单的处罚单号、车牌号码、驾驶员姓名、开单警察ID、处罚时间作为结构体成员,用结构体数组的形式存放若干条处罚单信息。
struct fandan
{
int num; /*处罚单号码*/
int chepai; /*车牌号码*/
char name[8]; /*驾驶员名字*/
int id; /*开单警察的信息ID*/
char time[11]; /*处罚时间为年月日排列*/
}dan[N]; /*dan[500]中每个数组元素对应一个处罚单信息*/
[注意]
dan[N]中的N为处罚单条数,本程序采用宏定义#define N 500。
[输入模块流程图]
输入用户要输入处罚单纪录的条数j
输入用户要输入处罚单纪录的条数j
能否打开文件
退出
i从0到j-1依次输入处罚单信息,并保存到文件中
j
开始
选择浏览还是返回主菜单
[输入模块程序]
void shuru() /*输入模块*/
{
int i,j;
FILE *fp;
if((fp=fopen("data.txt","w"))==NULL)
{
printf("无法打开文件!\n");
exit(0);
}
printf("\n你要输入多少条处罚单信息:");
scanf("%d",&j);
for(i=0;i
{
printf("\n请依次输入罚单信息:\n");
printf("\n罚单号 车牌号 驾驶员姓名 警察ID 处罚时间\n");
scanf("%3d %5d %8s %5d %11s",&dan[i].num,&dan[i].chepai,&dan[i].name,&dan[i].
转载地址:http://bekfs.baihongyu.com/