写C语言代码,关于交通处罚单管理系统 主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数; 用不同的函数实现,除以下模块,还可设计其他功能模块: 1)输入记录:交通处罚单信息包括:编号、违音车牌号码、违音种类、罚款、交款记录等: 2)输出记录:输出信息; 3)查询记录:可根据车牌号查找记录: 4)删除记录:指定编号删除该条记录: 5)插入记录:在指定位置插入新的记录。
时间: 2023-03-19 11:23:11 浏览: 79
下面是一个简单的C语言代码,实现了交通处罚单管理系统,包含菜单界面和五个功能模块:
```
#include <stdio.h>
#include <string.h>
#define MAX_RECORDS 1000
#define MAX_PLATE_NUM_LEN 10
// 交通处罚单记录结构体
struct Record {
int id; // 编号
char plateNum[MAX_PLATE_NUM_LEN + 1]; // 车牌号码
char type[20]; // 违法类型
float fine; // 罚款
int paymentStatus; // 交款状态,0表示未交款,1表示已交款
};
// 交通处罚单记录数组
struct Record records[MAX_RECORDS];
int numRecords = 0; // 当前记录数
// 添加记录
void addRecord() {
struct Record newRecord;
printf("请输入车牌号码:");
scanf("%s", newRecord.plateNum);
printf("请输入违法类型:");
scanf("%s", newRecord.type);
printf("请输入罚款金额:");
scanf("%f", &newRecord.fine);
newRecord.paymentStatus = 0; // 初始状态为未交款
newRecord.id = numRecords + 1; // 自动生成编号
records[numRecords++] = newRecord;
printf("添加成功,记录编号为%d。\n", newRecord.id);
}
// 输出记录
void printRecord(struct Record record) {
printf("%-5d %-10s %-20s %-10.2f %s\n", record.id, record.plateNum, record.type, record.fine,
record.paymentStatus == 1 ? "已交款" : "未交款");
}
void printRecords() {
if (numRecords == 0) {
printf("没有记录。\n");
return;
}
printf("%-5s %-10s %-20s %-10s %s\n", "编号", "车牌号码", "违法类型", "罚款金额", "交款状态");
for (int i = 0; i < numRecords; i++) {
printRecord(records[i]);
}
}
// 查询记录
void queryRecord() {
char plateNum[MAX_PLATE_NUM_LEN + 1];
printf("请输入要查询的车牌号码:");
scanf("%s", plateNum);
for (int i = 0; i < numRecords; i++) {
if (strcmp(records[i].plateNum, plateNum) == 0) {
printRecord(records[i]);
}
}
}
// 删除记录
void deleteRecord() {
int id;
printf("请输入要删除的记录编号:");
scanf("%d", &id);
for (int i = 0; i < numRecords; i++) {
if (records[i].id == id) {
for (int j = i; j < numRecords - 1; j++) {
records[j] = records[j + 1];
}
numRecords--;
printf("删除成功。\n");
return;
}
}
printf("没有找到该记录。\n");
}
// 插入记录
void insertRecord() {
int pos;
printf("请输入要插入的位置:");
scanf("%d", &pos);
if (pos < 1 || pos > numRecords + 1) {
printf