c语言实现车牌信息录入查询代码
时间: 2024-12-21 12:26:55 浏览: 4
在C语言中实现车牌信息录入查询功能,通常会涉及到数据结构(如数组、链表或哈希表)来存储车辆信息,并提供函数来进行输入和查询。由于实际的数据库操作可能涉及更复杂的库或文件系统,这里给出一个简化版的示例,使用字符串数组来存储车牌和对应的信息。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义车辆信息结构体
typedef struct {
char licensePlate[8]; // 车牌号
char ownerName[32]; // 车主名字
int vehicleType; // 车辆类型
} VehicleInfo;
// 动态内存分配用于存储车辆信息
VehicleInfo* create_vehicle_info(char* plate, char* owner, int type) {
VehicleInfo* new_info = (VehicleInfo*)malloc(sizeof(VehicleInfo));
strcpy(new_info->licensePlate, plate);
strcpy(new_info->ownerName, owner);
new_info->vehicleType = type;
return new_info;
}
// 录入车辆信息
void add_vehicle(VehicleInfo** vehicles, int* count, char* plate, char* owner, int type) {
*count += 1;
*vehicles = realloc(*vehicles, (*count) * sizeof(VehicleInfo));
(*vehicles)[*count - 1] = create_vehicle_info(plate, owner, type);
}
// 查询车辆信息
VehicleInfo* search_vehicle(VehicleInfo* vehicles, int count, char* plate) {
for (int i = 0; i < count; i++) {
if (strcmp(vehicles[i].licensePlate, plate) == 0) {
return &vehicles[i];
}
}
return NULL; // 表示未找到匹配的车牌
}
int main() {
VehicleInfo* vehicles = NULL;
int count = 0;
// 示例录入车辆信息
add_vehicle(&vehicles, &count, "ABC123", "张三", 1); // 假设车辆类型1代表私家车
// 查询并打印车辆信息
VehicleInfo* result = search_vehicle(vehicles, count, "ABC123");
if (result) {
printf("车牌: %s, 主人: %s, 类型: %d\n", result->licensePlate, result->ownerName, result->vehicleType);
} else {
printf("车牌 %s 未找到。\n", "ABC123");
}
// 清理内存
for (int i = 0; i < count; i++) {
free(vehicles[i]);
}
free(vehicles);
return 0;
}
```
这是一个非常基础的实现,实际应用中可能需要考虑错误处理、更大规模的数据管理和持久化存储。
阅读全文