集团新闻 - 开元体育·(中国)官方网站-登录入口

c语言程序设计体育器材管理 | 2024-01-05 17:33:43

C语言程序设计体育器材管理 随着人们生活水平的提高,越来越多的人开始关注健康和身体素质,体育运动也成为了人们生活中不可或缺的一部分。而在体育运动中,各种器材的使用也是必不可少的。针对这一需求,我们可以开发一款体育器材管理系统,帮助用户更好地管理和使用体育器材。 一、需求分析 1.用户需求 (1)管理器材:用户需要能够添加、删除、修改、查询、统计体育器材。 (2)管理用户:用户需要能够添加、删除、修改、查询、统计用户信息。 (3)借还器材:用户需要能够借还器材,系统需要能够记录借还信息。 2.系统需求 (1)系统需要能够实现对器材和用户信息的添加、删除、修改、查询、统计。 (2)系统需要能够实现对借还信息的记录和查询。 (3)系统需要能够实现对器材和用户信息的分类管理。 二、系统设计 1.系统功能模块设计 (1)器材管理模块:包括添加、删除、修改、查询、统计器材信息的功能。 (2)用户管理模块:包括添加、删除、修改、查询、统计用户信息的功能。 (3)借还管理模块:包括借还器材、记录借还信息、查询借还信息的功能。 2.系统数据结构设计 (1)器材信息结构体: typedef struct equipment { char name[20]; //器材名称 char type[20]; //器材类型 int count; //器材数量 float price; //器材价格 }Equipment; (2)用户信息结构体: typedef struct user { char name[20]; //用户姓名 char sex[5]; //用户性别 int age; //用户年龄 char phone[20]; //用户联系方式 }User; (3)借还信息结构体: typedef struct borrow { char name[20]; //借还器材名称 char user[20]; //借还用户姓名 char borrow_time[20]; //借出时间 char return_time[20]; //归还时间 }Borrow; 三、系统实现 1.器材管理模块 (1)添加器材信息: void add_equipment() { Equipment equipment; printf("请输入器材名称:"); scanf("%s", equipment.name); printf("请输入器材类型:"); scanf("%s", equipment.type); printf("请输入器材数量:"); scanf("%d", &equipment.count); printf("请输入器材价格:"); scanf("%f", &equipment.price); FILE *fp; fp = fopen("equipment.txt", "a+"); fprintf(fp, "%s %s %d %.2f\n", equipment.name, equipment.type, equipment.count, equipment.price); fclose(fp); printf("添加成功!\n"); } (2)删除器材信息: void delete_equipment() { char name[20]; printf("请输入要删除的器材名称:"); scanf("%s", name); FILE *fp1, *fp2; fp1 = fopen("equipment.txt", "r"); fp2 = fopen("temp.txt", "w"); Equipment equipment; while (fscanf(fp1, "%s %s %d %f", equipment.name, equipment.type, &equipment.count, &equipment.price) != EOF) { if (strcmp(equipment.name, name) != 0) { fprintf(fp2, "%s %s %d %.2f\n", equipment.name, equipment.type, equipment.count, equipment.price); } } fclose(fp1); fclose(fp2); remove("equipment.txt"); rename("temp.txt", "equipment.txt"); printf("删除成功!\n"); } (3)修改器材信息: void modify_equipment() { char name[20]; printf("请输入要修改的器材名称:"); scanf("%s", name); FILE *fp1, *fp2; fp1 = fopen("equipment.txt", "r"); fp2 = fopen("temp.txt", "w"); Equipment equipment; while (fscanf(fp1, "%s %s %d %f", equipment.name, equipment.type, &equipment.count, &equipment.price) != EOF) { if (strcmp(equipment.name, name) == 0) { printf("请输入修改后的器材名称:"); scanf("%s", equipment.name); printf("请输入修改后的器材类型:"); scanf("%s", equipment.type); printf("请输入修改后的器材数量:"); scanf("%d", &equipment.count); printf("请输入修改后的器材价格:"); scanf("%f", &equipment.price); fprintf(fp2, "%s %s %d %.2f\n", equipment.name, equipment.type, equipment.count, equipment.price); } else { fprintf(fp2, "%s %s %d %.2f\n", equipment.name, equipment.type, equipment.count, equipment.price); } } fclose(fp1); fclose(fp2); remove("equipment.txt"); rename("temp.txt", "equipment.txt"); printf("修改成功!\n"); } (4)查询器材信息: void query_equipment() { char name[20]; printf("请输入要查询的器材名称:"); scanf("%s", name); FILE *fp; fp = fopen("equipment.txt", "r"); Equipment equipment; while (fscanf(fp, "%s %s %d %f", equipment.name, equipment.type, &equipment.count, &equipment.price) != EOF) { if (strcmp(equipment.name, name) == 0) { printf("器材名称:%s\n", equipment.name); printf("器材类型:%s\n", equipment.type); printf("器材数量:%d\n", equipment.count); printf("器材价格:%.2f\n", equipment.price); fclose(fp); return; } } printf("未查询到相关信息!\n"); fclose(fp); } (5)统计器材信息: void statistics_equipment() { FILE *fp; fp = fopen("equipment.txt", "r"); Equipment equipment; int count = 0; float price = 0; while (fscanf(fp, "%s %s %d %f", equipment.name, equipment.type, &equipment.count, &equipment.price) != EOF) { count += equipment.count; price += equipment.price; } fclose(fp); printf("器材总数量:%d\n", count); printf("器材总价值:%.2f\n", price); } 2.用户管理模块 (1)添加用户信息: void add_user() { User user; printf("请输入用户姓名:"); scanf("%s", user.name); printf("请输入用户性别:"); scanf("%s", user.sex); printf("请输入用户年龄:"); scanf("%d", &user.age); printf("请输入用户联系方式:"); scanf("%s", user.phone); FILE *fp; fp = fopen("user.txt", "a+"); fprintf(fp, "%s %s %d %s\n", user.name, user.sex, user.age, user.phone); fclose(fp); printf("添加成功!\n"); } (2)删除用户信息: void delete_user() { char name[20]; printf("请输入要删除的用户姓名:"); scanf("%s", name); FILE *fp1, *fp2; fp1 = fopen("user.txt", "r"); fp2 = fopen("temp.txt", "w"); User user; while (fscanf(fp1, "%s %s %d %s", user.name, user.sex, &user.age, user.phone) != EOF) { if (strcmp(user.name, name) != 0) { fprintf(fp2, "%s %s %d %s\n", user.name, user.sex, user.age, user.phone); } } fclose(fp1); fclose(fp2); remove("user.txt"); rename("temp.txt", "user.txt"); printf("删除成功!\n"); } (3)修改用户信息: void modify_user() { char name[20]; printf("请输入要修改的用户姓名:"); scanf("%s", name); FILE *fp1, *fp2; fp1 = fopen("user.txt", "r"); fp2 = fopen("temp.txt

留言