C语言设备管理系统:实现实验室公共设备信息管理
#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 purchaseDate[20];\n char location[50];\n char owner[50];\n char borrower[50];\n char borrowDate[20];\n char returnDate[20];\n} Device;\n\n// 用户信息结构体\ntypedef struct {\n char username[50];\n char password[50];\n} User;\n\n// 全局变量\nDevice devices[MAX_DEVICES];\nUser users[MAX_USERS];\nint numDevices = 0;\nint numUsers = 0;\n\n// 函数声明\nvoid printMenu();\nvoid addDevice();\nvoid modifyDevice();\nvoid deleteDevice();\nvoid addUser();\nvoid deleteUser();\nvoid searchDevice();\nvoid borrowDevice();\n\nint main() {\n int choice;\n\n while (1) {\n printMenu();\n printf("请输入您的选择:");\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 exit(0);\n default:\n printf("无效的选择\n");\n }\n }\n\n return 0;\n}\n\n// 打印菜单\nvoid printMenu() {\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}\n\n// 添加设备\nvoid addDevice() {\n if (numDevices >= MAX_DEVICES) {\n printf("设备数量已达到上限,无法添加新设备\n");\n return;\n }\n\n printf("请输入设备名称:");\n scanf("%s", devices[numDevices].name);\n printf("请输入设备型号:");\n scanf("%s", devices[numDevices].model);\n printf("请输入采购时间:");\n scanf("%s", devices[numDevices].purchaseDate);\n printf("请输入存放位置:");\n scanf("%s", devices[numDevices].location);\n printf("请输入设备负责人:");\n scanf("%s", devices[numDevices].owner);\n\n numDevices++;\n\n printf("设备添加成功\n");\n}\n\n// 修改设备\nvoid modifyDevice() {\n char name[50];\n int i;\n\n printf("请输入要修改的设备名称:");\n scanf("%s", name);\n\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n printf("请输入新的设备型号:");\n scanf("%s", devices[i].model);\n printf("请输入新的采购时间:");\n scanf("%s", devices[i].purchaseDate);\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 int i, j;\n\n printf("请输入要删除的设备名称:");\n scanf("%s", name);\n\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n for (j = i; j < numDevices - 1; j++) {\n devices[j] = devices[j + 1];\n }\n\n numDevices--;\n\n printf("设备删除成功\n");\n return;\n }\n }\n\n printf("找不到该设备\n");\n}\n\n// 添加用户\nvoid addUser() {\n if (numUsers >= MAX_USERS) {\n printf("用户数量已达到上限,无法添加新用户\n");\n return;\n }\n\n printf("请输入用户名:");\n scanf("%s", users[numUsers].username);\n printf("请输入密码:");\n scanf("%s", users[numUsers].password);\n\n numUsers++;\n\n printf("用户添加成功\n");\n}\n\n// 删除用户\nvoid deleteUser() {\n char username[50];\n int i, j;\n\n printf("请输入要删除的用户名:");\n scanf("%s", username);\n\n for (i = 0; i < numUsers; i++) {\n if (strcmp(users[i].username, username) == 0) {\n for (j = i; j < numUsers - 1; j++) {\n users[j] = users[j + 1];\n }\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 int i;\n\n printf("请输入要查询的设备名称:");\n scanf("%s", name);\n\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].purchaseDate);\n printf("存放位置:%s\n", devices[i].location);\n printf("设备负责人:%s\n", devices[i].owner);\n printf("借用人:%s\n", devices[i].borrower);\n printf("借用时间:%s\n", devices[i].borrowDate);\n printf("归还时间:%s\n", devices[i].returnDate);\n\n return;\n }\n }\n\n printf("找不到该设备\n");\n}\n\n// 借用设备\nvoid borrowDevice() {\n char name[50];\n int i;\n\n printf("请输入要借用的设备名称:");\n scanf("%s", name);\n\n for (i = 0; i < numDevices; i++) {\n if (strcmp(devices[i].name, name) == 0) {\n if (strcmp(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].borrowDate);\n\n printf("设备借用成功\n");\n return;\n }\n }\n\n printf("找不到该设备\n");\n}\n
原文地址: https://www.cveoy.top/t/topic/pqKz 著作权归作者所有。请勿转载和采集!