#define _CRT_SECURE_NO_WARNINGS\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n\n#define MAX_DEVICES 100 // 最大设备数量\n#define MAX_USERS 100 // 最大用户数量\n\n// 设备信息结构体\ntypedef struct {\n char name[50];\n char model[50];\n char purchase_date[20];\n char location[100];\n char owner[50];\n char borrower[50];\n char borrow_date[20];\n char return_date[20];\n} Device;\n\n// 用户信息结构体\ntypedef struct {\n char username[50];\n char password[50];\n} User;\n\nDevice devices[MAX_DEVICES]; // 设备数组\nint numDevices = 0; // 当前设备数量\n\nUser users[MAX_USERS]; // 用户数组\nint numUsers = 0; // 当前用户数量\n\n// 添加设备\nvoid addDevice() {\n if (numDevices >= MAX_DEVICES) {\n printf("设备数量已达到上限,无法添加新设备。\n");\n return;\n }\n\n Device newDevice;\n\n printf("请输入设备名称:");\n scanf("%s", newDevice.name);\n printf("请输入设备型号:");\n scanf("%s", newDevice.model);\n printf("请输入设备采购时间:");\n scanf("%s", newDevice.purchase_date);\n printf("请输入设备存放位置:");\n scanf("%s", newDevice.location);\n printf("请输入设备负责人:");\n scanf("%s", newDevice.owner);\n\n devices[numDevices++] = newDevice;\n\n printf("设备添加成功。\n");\n}\n\n// 修改设备\nvoid modifyDevice() \n{\n char name[50];\n printf("请输入要修改的设备名称:");\n scanf("%s", name);\n\n int i;\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n printf("请输入新的设备名称:");\n scanf("%s", devices[i].name);\n printf("请输入新的设备型号:");\n scanf("%s", devices[i].model);\n printf("请输入新的设备采购时间:");\n scanf("%s", devices[i].purchase_date);\n printf("请输入新的设备存放位置:");\n scanf("%s", devices[i].location);\n printf("请输入新的设备负责人:");\n scanf("%s", devices[i].owner);\n\n printf("设备信息修改成功。\n");\n return;\n }\n }\n\n printf("未找到要修改的设备。\n");\n}\n\n// 删除设备\nvoid deleteDevice() {\n char name[50];\n printf("请输入要删除的设备名称:");\n scanf("%s", name);\n\n int i;\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n int j;\n for (j = i; j < numDevices - 1; j++) {\n devices[j] = devices[j + 1];\n }\n numDevices--;\n\n printf("设备删除成功。\n");\n return;\n }\n }\n\n printf("未找到要删除的设备。\n");\n}\n\n// 添加用户\nvoid addUser() \n {\n if (numUsers >= MAX_USERS) {\n printf("用户数量已达到上限,无法添加新用户。\n");\n return;\n }\n\n User newUser;\n\n printf("请输入用户名:");\n scanf("%s", newUser.username);\n printf("请输入密码:");\n scanf("%s", newUser.password);\n\n users[numUsers++] = newUser;\n\n printf("用户添加成功。\n");\n}\n\n// 删除用户\nvoid deleteUser() {\n char username[50];\n printf("请输入要删除的用户名:");\n scanf("%s", username);\n\n int i;\n for (i = 0; i < numUsers; i++) {\n if (strcmp(users[i].username, username) == 0) {\n int j;\n for (j = i; j < numUsers - 1; j++) {\n users[j] = users[j + 1];\n }\n numUsers--;\n\n printf("用户删除成功。\n");\n return;\n }\n }\n\n printf("未找到要删除的用户。\n");\n}\n\n// 查询设备\nvoid searchDevice() {\n char name[50];\n printf("请输入要查询的设备名称:");\n scanf("%s", name);\n\n int i;\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n printf("设备名称:%s\n", devices[i].name);\n printf("设备型号:%s\n", devices[i].model);\n printf("设备采购时间:%s\n", devices[i].purchase_date);\n printf("设备存放位置:%s\n", devices[i].location);\n printf("设备负责人:%s\n", devices[i].owner);\n if (strlen(devices[i].borrower) > 0) {\n printf("设备借用人:%s\n", devices[i].borrower);\n printf("设备借用时间:%s\n", devices[i].borrow_date);\n printf("设备归还时间:%s\n", devices[i].return_date);\n }\n return;\n }\n }\n\n printf("未找到该设备。\n");\n}\n\n// 申请借用设备\nvoid borrowDevice() {\n char name[50];\n printf("请输入要借用的设备名称:");\n scanf("%s", name);\n\n int i;\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n if (strlen(devices[i].borrower) > 0) {\n printf("该设备已被借用。\n");\n return;\n }\n\n printf("请输入借用人姓名:");\n scanf("%s", devices[i].borrower);\n printf("请输入借用日期:");\n scanf("%s", devices[i].borrow_date);\n\n printf("设备借用成功。\n");\n return;\n }\n }\n\n printf("未找到该设备。\n");\n}\n\n// 显示所有设备\nvoid displayDevices() {\n int i;\n for (i = 0; i < numDevices; i++) {\n printf("设备名称:%s\n", devices[i].name);\n printf("设备型号:%s\n", devices[i].model);\n printf("设备采购时间:%s\n", devices[i].purchase_date);\n printf("设备存放位置:%s\n", devices[i].location);\n printf("设备负责人:%s\n", devices[i].owner);\n if (strlen(devices[i].borrower) > 0) {\n printf("设备借用人:%s\n", devices[i].borrower);\n printf("设备借用时间:%s\n", devices[i].borrow_date);\n printf("设备归还时间:%s\n", devices[i].return_date);\n }\n printf("\n");\n }\n}\n\n// 保存用户信息和设备信息到文件\nvoid saveToFile() {\n{ FILE* file = fopen("C:\Users\额额\Desktop\cvb\789", "w");\n if (file == NULL) \n\t{\n printf("无法打开文件。\n");\n return;\n }\n\n // 保存用户信息\n int i;\n for (i = 0; i < numUsers; i++) \n {\n fprintf(file, "%s %s\n", users[i].username, users[i].password);\n }\n\n // 保存设备信息\n for (i = 0; i < numDevices; i++) {\n fprintf(file, "%s %s %s %s %s %s %s %s\n", devices[i].name, devices[i].model, devices[i].purchase_date,devices[i].location, devices[i].owner, devices[i].borrower, devices[i].borrow_date, devices[i].return_date);\n }\n\n fclose(file);\n}\n}\n// 从文件中加载用户信息和设备信息\nvoid loadFromFile() \n{\n FILE* file = fopen("C:\Users\额额\Desktop\cvb\789", "r");\n if (file == NULL) \n\t{\n printf("无法打开文件。\n");\n return;\n }\n\n // 加载用户信息\n while (!feof(file)) {\n fscanf(file, "%s %s", users[numUsers].username, users[numUsers].password);\n numUsers++;\n }\n\n // 关闭文件\n fclose(file);\n\n // 打开文件以加载设备信息\n file = fopen("C:\Users\额额\Desktop\cvb\789", "r");\n if (file == NULL) \n\t{\n printf("无法打开文件。\n");\n return;\n }\n\n // 跳过用户信息\n while (!feof(file)) {\n char buffer[100];\n fgets(buffer, 100, file);\n }\n\n // 加载设备信息\n while (!feof(file)) {\n fscanf(file, "%s %s %s %s %s %s %s %s", devices[numDevices].name, devices[numDevices].model,\n devices[numDevices].purchase_date, devices[numDevices].location, devices[numDevices].owner,\n devices[numDevices].borrower, devices[numDevices].borrow_date, devices[numDevices].return_date);\n numDevices++;\n }\n\n // 关闭文件\n fclose(file);\n}\n\nint main() \n{\n loadFromFile();\n\n int choice;\n do {\n printf("欢迎使用设备管理系统,请选择操作:\n");\n printf("1. 添加设备\n");\n printf("2. 修改设备\n");\n printf("3. 删除设备\n");\n printf("4. 添加用户\n");\n printf("5. 删除用户\n");\n printf("6. 查询设备\n");\n printf("7. 申请借用设备\n");\n printf("8. 显示所有设备\n");\n printf("0. 退出\n");\n\n scanf("%d", &choice);\n\n switch (choice) {\n case 1:\n addDevice();\n break;\n case 2:\n modifyDevice();\n break;\n case 3:\n deleteDevice();\n break;\n case 4:\n addUser();\n break;\n case 5:\n deleteUser();\n break;\n case 6:\n searchDevice();\n break;\n case 7:\n borrowDevice();\n break;\n case 8:\n displayDevices();\n break;\n case 0:\n break;\n default:\n printf("无效的选择。\n");\n }\n } while (choice != 0);\n\n saveToFile();\n\n return 0;\n

设备管理系统:C语言实现设备借用管理

原文地址: https://www.cveoy.top/t/topic/psgi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录