基于结构体的学生分数统计系统设计
"数据结构分数统计系统" 数据结构分数统计系统是一个使用C++语言开发的分数统计系统,适合学生群体使用。该系统使用结构体来存储学生的信息,包括学校编号、学校名称、运动员编号、运动员姓名、性别、项目编号、项目名称和成绩等。 该系统的主要功能包括: 1. 添加学生信息:用户可以添加新的学生信息,包括学校编号、学校名称、运动员编号、运动员姓名、性别、项目编号、项目名称和成绩等。 2. 查看学生信息:用户可以查看已经添加的学生信息,包括学校编号、学校名称、运动员编号、运动员姓名、性别、项目编号、项目名称和成绩等。 3. 统计学生成绩:用户可以统计学生的成绩,包括总成绩、平均成绩、最高成绩和最低成绩等。 4. 查看学生排名:用户可以查看学生的排名,根据学生的成绩进行排名。 该系统使用了结构体来存储学生信息,结构体的定义如下: ```c struct athlete { int school_number; char school_name[20]; int athlete_number; char athlete_name[20]; char athlete_sex[4]; int item_number; char item_name[20]; int athlete_score; struct athlete* next; }; ``` 该结构体包括了学校编号、学校名称、运动员编号、运动员姓名、性别、项目编号、项目名称和成绩等信息。 该系统还使用了一个名为`totalscore`的结构体来存储学生的总成绩信息,定义如下: ```c struct totalscore { int j; int i; struct totalscore* next; }; ``` 该结构体包括了总成绩和平均成绩信息。 系统的主菜单函数`menu()`如下: ```c void menu() { printf("\n\t\t\t\tݽṹγ\n"); printf("\t\t\t\t\t\t\t\t\t\t\t\t\t˶ͳϵͳ\n"); printf("\t\t\t-------------------------------\n"); printf("\t1.¼¼\n"); printf("\t2.Ӽ¼\n"); printf("\t3.ѯ¼\n"); printf("\t\t\tѧԺŲѯ\n"); printf("\t\t\tĿŲѯ\n"); printf("\t4.ʾ\n"); printf("\t\t\tѧԺ\n"); printf("\t\t\t˶Ա\n"); printf("\t\t\tܳɼ\n"); printf("\t\t\tŮܳɼ\n"); printf("\t\t\tѧУܳɼ\n"); printf("\t5.˳\n"); printf("\t\t\t-------------------------------\n"); } ``` 该函数将显示系统的主菜单,包括添加学生信息、查看学生信息、统计学生成绩、查看学生排名和退出系统等选项。 系统的子菜单函数`menu2()`如下: ```c void menu2() { printf("----------------" // ... } ``` 该函数将显示系统的子菜单,包括添加学生信息、查看学生信息、统计学生成绩和查看学生排名等选项。 该系统是一个功能完善的分数统计系统,能够满足学生群体的需求。
#include<string.h>
#include<malloc.h>
#include <stdlib.h>
#define len sizeof(struct athlete)
int b;//创建记录的个数
int e; //增加记录的个数
struct athlete
{
int school_number;
char school_name[20];
int athlete_number;
char athlete_name[20];
char athlete_sex[4];
int item_nuber;
char item_name[20];
int athlete_score;
struct athlete *next;
};
struct totalscore//该结构体只在团体总分排序时使用
{
int j;//学校编号
int i;//学院总分
struct totalscore *next;
};
/////////////////////////////////////////////////////主菜单
void menu()
{
printf("\n\t\t\t\t数据结构课程设计\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t★ 运动会分数统计系统 ★\n");
printf("\t 1.创建新记录\n");
printf("\t 2.增加记录\n");
printf("\t 3.查询记录\n");
printf("\t ●按学院编号查询\n");
printf("\t ●按项目编号查询\n");
printf("\t 4.显示排名\n");
printf("\t ●按学院编号排序\n");
printf("\t ●按运动员编号排序\n");
printf("\t ●按男子团体总成绩排序\n");
printf("\t ●按女子团体总成绩排序\n");
printf("\t ●按学校总成绩排序\n");
printf("\t 5.退出\n");
printf("\t\t\t-------------------------------\n");
}
/////////////////////////////////////////////////////排序菜单
void menu2()
{
printf("----------------------请选择排序方式-----------------\n");
printf(" 1.按学院编号排序\n");
printf(" 2.按运动员编号排序\n");
printf(" 3.按男子团体总成绩排序\n");
printf(" 4.按女子团体总成绩排序\n");
printf(" 5.按学校总成绩排序\n");
printf("-----------------------------------------------------\n");
}
/////////////////////////////////////////////////////创建新记录
struct athlete *input(athlete *head,int b)
{
athlete *p,*q;
剩余24页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦