实验室设备管理系统 - C语言实现
{///'title///':///'实验室设备管理系统 - C语言实现///',///'description///':///'本系统使用 C 语言实现,用于管理实验室设备和用户,包括添加、修改、删除设备和用户,查询设备,申请借用设备,以及保存和加载数据。///',///'keywords///':///'实验室设备管理系统, C语言, 设备管理, 用户管理, 借用设备///',///'content///':///'#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 {//n if (strlen(devices[i].borrower) > 0)//n {//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 printf(/'请输入归还日期:/');//n scanf(/'%s/', devices[i].return_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 {//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 {//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 {//n printf(/'无法打开文件。//n/');//n return;//n }//n//n // 加载用户信息//n char line[100];//n while (fgets(line, sizeof(line), file) != NULL) //n {//n sscanf(line, /'%s %s/', users[numUsers].username, users[numUsers].password);//n numUsers++;//n }//n//n // 加载设备信息//n while (fgets(line, sizeof(line), file) != NULL) //n {//n sscanf(line, /'%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 fclose(file);//n}//n//nint main() //n{//n int memanu();//n/tint admanu();//n loadFromFile();//n/tint a;//n/tprintf(/'请输入://n1.管理者系统//n2.用户系统//n/');//n/tscanf(/'%d/',/'&a);//n/tif(a==1)//n/t/tadmanu();//n/telse//n/t/tmemanu();//n/treturn 0;//n}//n //n/t//n/tint admanu()//n/t{//n/t 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 saveToFile();//n/treturn 0;//n/t}//n//nint memanu()//n{//n/tint choice;//n do {//n printf(/'欢迎使用实验室设备管理系统,请选择操作://n/');//n printf(/'1. 查询设备//n/');//n printf(/'2. 申请借用设备//n/');//n printf(/'3. 显示所有设备//n/');//n printf(/'0. 退出//n/');//n//n scanf(/'%d/', &choice);//n//n switch (choice) //n {//n case 1://n searchDevice();//n break;//n case 2://n borrowDevice();//n break;//n case 3://n displayDevices();//n break;//n case 0://n break;//n default://n printf(/'无效的选择。//n/');//n }//n }//n/t/twhile (choice != 0);//n saveToFile();//n/t/treturn 0;//n/t}//n/
原文地址: https://www.cveoy.top/t/topic/ptNu 著作权归作者所有。请勿转载和采集!