爱游戏公司:c语言程序设计体育器材管理
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
发表评论