用c语言编程设备管理系统 要求对所有的库存设备都能按照品 名进行显示、 查找、 增加和删除、 保存的功能。
时间: 2023-12-16 13:04:11 浏览: 23
好的,你需要一个简单的设备管理系统,它可以用C语言编写。下面是一个基本的实现。
首先,你需要定义一个设备的结构体,包括设备的品名、数量等信息。例如:
```c
typedef struct device {
char name[50];
int quantity;
} Device;
```
接下来,你需要定义一些函数来处理设备的操作,包括显示设备、查找设备、增加设备、删除设备和保存设备信息。
```c
// 显示所有设备信息
void displayDevices(Device devices[], int numDevices) {
printf("设备列表:\n");
for (int i = 0; i < numDevices; i++) {
printf("%d. %s (%d)\n", i+1, devices[i].name, devices[i].quantity);
}
}
// 查找设备
int findDevice(Device devices[], int numDevices, char name[]) {
for (int i = 0; i < numDevices; i++) {
if (strcmp(devices[i].name, name) == 0) {
return i;
}
}
return -1;
}
// 增加设备
void addDevice(Device devices[], int *numDevices, char name[], int quantity) {
int index = findDevice(devices, *numDevices, name);
if (index == -1) {
// 设备不存在,增加一个新设备
Device newDevice;
strcpy(newDevice.name, name);
newDevice.quantity = quantity;
devices[*numDevices] = newDevice;
(*numDevices)++;
} else {
// 设备已存在,增加它的数量
devices[index].quantity += quantity;
}
}
// 删除设备
void removeDevice(Device devices[], int *numDevices, char name[]) {
int index = findDevice(devices, *numDevices, name);
if (index != -1) {
// 将最后一个设备移动到要删除的设备的位置
devices[index] = devices[(*numDevices)-1];
(*numDevices)--;
}
}
// 保存设备信息到文件中
void saveDevicesToFile(Device devices[], int numDevices, char filename[]) {
FILE *fp = fopen(filename, "w");
if (fp != NULL) {
for (int i = 0; i < numDevices; i++) {
fprintf(fp, "%s %d\n", devices[i].name, devices[i].quantity);
}
fclose(fp);
printf("设备信息已保存到文件 %s 中.\n", filename);
} else {
printf("无法打开文件 %s 进行写入.\n", filename);
}
}
```
最后,你可以编写主函数来测试这些功能。
```c
int main() {
Device devices[50];
int numDevices = 0;
// 从文件中加载设备信息
char filename[] = "devices.txt";
FILE *fp = fopen(filename, "r");
if (fp != NULL) {
char name[50];
int quantity;
while (fscanf(fp, "%s %d", name, &quantity) == 2) {
addDevice(devices, &numDevices, name, quantity);
}
fclose(fp);
printf("设备信息已从文件 %s 中加载.\n", filename);
} else {
printf("无法打开文件 %s 进行读取.\n", filename);
}
// 显示设备信息
displayDevices(devices, numDevices);
// 增加一个新设备
addDevice(devices, &numDevices, "电视机", 10);
displayDevices(devices, numDevices);
// 删除一个设备
removeDevice(devices, &numDevices, "电视机");
displayDevices(devices, numDevices);
// 保存设备信息到文件中
saveDevicesToFile(devices, numDevices, filename);
return 0;
}
```
以上就是一个简单的设备管理系统的实现,你可以根据实际需求进行修改和扩展。