做一个C语言程序,题目为 运动会成绩管理系统,要求有进入页面,并用鼠标键操作。 主要内容:设计一个运动会成绩关系系统,包括学院,项目、运动员姓名、成绩、名次 要求 功能要求: 1. 录入成绩: 2. 删除成绩; 3. 查询成绩 4. 分类统计成绩 执行一个具体的功能之后,程序将重新显示菜单
时间: 2024-02-18 07:05:51 浏览: 74
好的,以下是一个简单的运动会成绩管理系统的 C 语言程序,具有录入成绩、删除成绩、查询成绩和分类统计成绩的功能,每次执行完一个功能后会重新显示菜单,你可以根据自己的需求进行修改和完善。
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义结构体存储运动员信息
struct athlete {
char college[20]; // 学院
char project[20]; // 项目
char name[20]; // 运动员姓名
float score; // 成绩
int rank; // 名次
};
// 定义全局变量和函数
struct athlete athletes[100];
int count = 0;
void menu();
void add();
void del();
void search();
void stat();
int main() {
menu();
return 0;
}
void menu() {
int choice;
while (1) {
printf("\n欢迎使用运动会成绩管理系统\n");
printf("1. 录入成绩\n");
printf("2. 删除成绩\n");
printf("3. 查询成绩\n");
printf("4. 分类统计成绩\n");
printf("5. 退出程序\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch (choice) {
case 1:
add();
break;
case 2:
del();
break;
case 3:
search();
break;
case 4:
stat();
break;
case 5:
printf("\n感谢使用,再见!\n");
exit(0);
default:
printf("\n您的输入有误,请重新输入!\n");
}
}
}
void add() {
struct athlete a;
printf("\n请输入学院:");
scanf("%s", a.college);
printf("请输入项目:");
scanf("%s", a.project);
printf("请输入运动员姓名:");
scanf("%s", a.name);
printf("请输入成绩:");
scanf("%f", &a.score);
a.rank = 0;
athletes[count] = a;
count++;
printf("\n录入成功!\n");
}
void del() {
char name[20];
printf("\n请输入要删除的运动员姓名:");
scanf("%s", name);
int i, j;
for (i = 0; i < count; i++) {
if (strcmp(athletes[i].name, name) == 0) {
for (j = i; j < count - 1; j++) {
athletes[j] = athletes[j + 1];
}
count--;
printf("\n删除成功!\n");
return;
}
}
printf("\n未找到该运动员!\n");
}
void search() {
char name[20];
printf("\n请输入要查询的运动员姓名:");
scanf("%s", name);
int i;
for (i = 0; i < count; i++) {
if (strcmp(athletes[i].name, name) == 0) {
printf("\n学院:%s\n", athletes[i].college);
printf("项目:%s\n", athletes[i].project);
printf("运动员姓名:%s\n", athletes[i].name);
printf("成绩:%.2f\n", athletes[i].score);
printf("名次:%d\n", athletes[i].rank);
return;
}
}
printf("\n未找到该运动员!\n");
}
void stat() {
char college[20];
char project[20];
printf("\n请输入要统计的学院:");
scanf("%s", college);
printf("请输入要统计的项目:");
scanf("%s", project);
int i, j;
float max, min, avg, sum;
int count_college, count_project, count_score;
max = 0;
min = 1000;
avg = 0;
sum = 0;
count_college = 0;
count_project = 0;
count_score = 0;
for (i = 0; i < count; i++) {
if (strcmp(athletes[i].college, college) == 0 && strcmp(athletes[i].project, project) == 0) {
count_college++;
count_project++;
count_score++;
sum += athletes[i].score;
if (athletes[i].score > max) {
max = athletes[i].score;
}
if (athletes[i].score < min) {
min = athletes[i].score;
}
}
}
if (count_college == 0) {
printf("\n未找到该学院和项目的运动员!\n");
return;
}
printf("\n学院:%s\n", college);
printf("项目:%s\n", project);
printf("参赛人数:%d\n", count_score);
printf("最高分:%.2f\n", max);
printf("最低分:%.2f\n", min);
avg = sum / count_score;
printf("平均分:%.2f\n", avg);
printf("\n该学院和项目的所有运动员的成绩如下:\n");
printf("学院 项目 运动员姓名 成绩 名次\n");
for (i = 0; i < count; i++) {
if (strcmp(athletes[i].college, college) == 0 && strcmp(athletes[i].project, project) == 0) {
printf("%-8s%-8s%-14s%-8.2f%-8d\n", athletes[i].college, athletes[i].project, athletes[i].name, athletes[i].score, athletes[i].rank);
}
}
}
```
以上是简单的运动会成绩管理系统 C 语言程序,希望能对你有所帮助。
阅读全文