运动会管理系统数据结构C语言
时间: 2024-01-01 21:04:12 浏览: 29
运动会管理系统的数据结构可以使用结构体来设计。结构体是一种自定义的数据类型,可以将不同类型的数据组合在一起,形成一个新的数据类型。
以下是一个示例的运动会管理系统的数据结构设计:
```c
#include <stdio.h>
// 定义一个结构体来表示运动员
struct Athlete {
char name[50]; // 运动员姓名
int age; // 运动员年龄
char gender; // 运动员性别
};
// 定义一个结构体来表示项目
struct Event {
char name[50]; // 项目名称
struct Athlete athletes[100]; // 参加该项目的运动员数组
int numAthletes; // 参加该项目的运动员数量
};
// 定义一个结构体来表示运动会
struct SportsMeet {
struct Event events[10]; // 运动会的项目数组
int numEvents; // 运动会的项目数量
};
int main() {
// 创建一个运动会管理系统的实例
struct SportsMeet sportsMeet;
// 添加男子项目
struct Event menEvent;
menEvent.numAthletes = 3;
strcpy(menEvent.name, "Men's 100m");
strcpy(menEvent.athletes[0].name, "John");
menEvent.athletes[0].age = 25;
menEvent.athletes[0].gender = 'M';
strcpy(menEvent.athletes[1].name, "Mike");
menEvent.athletes[1].age = 28;
menEvent.athletes[1].gender = 'M';
strcpy(menEvent.athletes[2].name, "Tom");
menEvent.athletes[2].age = 23;
menEvent.athletes[2].gender = 'M';
sportsMeet.events[0] = menEvent;
sportsMeet.numEvents = 1;
// 添加女子项目
struct Event womenEvent;
womenEvent.numAthletes = 2;
strcpy(womenEvent.name, "Women's 200m");
strcpy(womenEvent.athletes[0].name, "Alice");
womenEvent.athletes[0].age = 24;
womenEvent.athletes[0].gender = 'F';
strcpy(womenEvent.athletes[1].name, "Emily");
womenEvent.athletes[1].age = 26;
womenEvent.athletes[1].gender = 'F';
sportsMeet.events[1] = womenEvent;
sportsMeet.numEvents = 2;
// 输出运动会信息
printf("Sports Meet Information:\n");
for (int i = 0; i < sportsMeet.numEvents; i++) {
printf("Event: %s\n", sportsMeet.events[i].name);
printf("Number of Athletes: %d\n", sportsMeet.events[i].numAthletes);
printf("Athletes:\n");
for (int j = 0; j < sportsMeet.events[i].numAthletes; j++) {
printf("Name: %s\n", sportsMeet.events[i].athletes[j].name);
printf("Age: %d\n", sportsMeet.events[i].athletes[j].age);
printf("Gender: %c\n", sportsMeet.events[i].athletes[j].gender);
}
printf("\n");
}
return 0;
}
```
运行以上代码,将会输出运动会的信息,包括项目名称、参加该项目的运动员信息等。