◆C语言课程设计----车辆交通违章管理程序◆

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:43:25
内容及要求:
1. 字符串按反序:写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
2. 车辆交通违章管理程序
主要用结构体数组实现,用结构体表示每项记录,数据为:编号、车牌号、车主姓名、性别、违章情况、违章时间、地点。
设计各个函数,分别实现以下功能:
(1)录入:完成违章信息的输入;
(2)删除:完成违章信息的删除;
(3)修改:允许对已经录入的数据重新进行编辑、修改;
(4)显示:显示所有违章的信息;
(5)查询:a. 按车牌号查找违章记录,如果记录超过5次打印警告信息;
b. 按车主姓名查找违章记录;
(6)统计,
a. 输入日期,输出所有违章记录;
b. 查找事故发生最频繁的地点(选作)。

设计菜单,通过选择菜单调用以上各函数。

//VC++6.0下调试通过
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <time.h>

typedef enum {s_park=1, s_speed, s_signal, s_other} SheetType;
typedef enum {f_id, f_car, f_driver, f_police} FindType;

typedef struct Sheet
{
signed long id;//罚单号
char carNo[20];//车牌号
char driver[20];//司机名
char police[20];//警察编号
SheetType type;//罚单类型
tm time;//出单日期
}Sheet;

typedef struct Node
{
Sheet data;
Node* next;
}Node;

static Node* begin=NULL;//哨兵结点
static signed long len=0;//链表长度

void printMenu();//打印菜单
void printBye();//打印退出界面
void printList(Node* bg);//打印所有罚单信息
void printNode(Sheet sheet);//打印单条罚单
Node* lookupSheet(void* pInfo, signed short* n,
FindType type=f_id);//根据类型查询罚单。成功返回结点。失败NULL
int addNode(Node* bg, Sheet sheet);//添加罚单。成功返回链表长度。内存分配