数据结构课设----运动会分数统计系统
1.运动会分数统计
[问题描述]
参加运动会的n个学校编号为1 ~ n。比赛分成m个男子项目和w个女子项
目,项目编号分别为1~ m和m+1~ m+w。由于各项目参加人数差别较大,有
些项目取前五名,得分顺序为7,5,3, 2,1;还有些项目只取前三名,得分
顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。
[基本要求]
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,
3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前
三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称
输出形式:有中文提示,各学校分数为整型。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成
相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关
数据要存储在数据文件中。
测试数据:
[测试数据]
要求使用1、全部合法数据; 2、整体非法数据; 3、局部非法数据。进行
程序测试,以保证程序的稳定。
例如,对于n=4,m=3, w=2,编号为奇数的项目取前五名,编号为偶数
的项目取前三名,设计- -组实例数据。
[实现提示]
可以假设n≤20,m≤30,w≤20,姓名长度不超过20个字符。每个项
目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并按名次顺
序输入运动员姓名、校名(和成绩)。
========================================
=话不多说,直接上代码
头文件和结构体
#include<stdio.h> #include<math.h> #include<process.h> #define N 20 //学校最大数目 #define M 20 //男子项目最大数 #define W 20 //女子项目最大数 //存放项目信息的结构体 typedef struct { int inum;//项目编号 int top;//取名次的数目 int range[5];//名次 int mark[5];//分数 }itemnode; //存放学校信息的结构体 typedef struct { int snum;//学校编号 int score;//学校总分 int mscore;//男子总分 int wscore;//女子总分 itemnode t[M + W];//项目数组 }snode; snode a[N];//定义一个学校数组
//功能菜单目录
void menu(int n,int m,int w) {//n代表学校数,m代表男子数,w代表女子数 int c; void input(int n,int m,int w);//输入功能 void output(int n,int m,int w);//输入功能 void sortput(int n,int m,int w);//排序输出 void search(int n,int m,int w);//查询功能 printf("\t\t\t欢迎使用\t\t\t\t\t\n"); printf("华信运动会分数统计系统\n\n"); printf("1.信息输入\n"); printf("2.统计输出\n"); printf("3.排序输出\n"); printf("4.信息查询\n"); printf("5.退出系统\n\n"); printf("=======================================================\n\n"); printf("请输入您想要实现的功能(0--4):"); scanf("%d",&c); switch(c){ case 1: input(n,m,w); break; case 2: output(n,m,w); break; case 3: sortput(n,m,w); break; case 4: search(n,m,w); break; case 5: printf("感谢使用,祝您天天开心!!\n"); exit(0);//正常退出 default: printf("您输入有误,请重新输入!"); menu(n,m,w); } }
//将信息写入文件中
void savetofile() { FILE *fp;//定义一个文件指针 int i; if(NULL == (fp = fopen("file.txt","w"))){ printf("打开文件失败!\n"); return; } for(i = 0;i < N;i ++){ if('\0' != a[i].snum) if(fwrite(&a[i],sizeof(snode),1,fp) != 1){ printf("存入信息失败!\n"); return; } } fclose(fp);//关闭文件 }
//将信息从文件里取出
void readfromfile() { int i; FILE *fp; if((fp=fopen("file.txt","rb"))==NULL){ printf("文件打开失败!\n"); return; } for(i = 0;i < N;i ++){ fread(&a[i],sizeof(snode),1,fp); } fclose(fp); }
//信息输入功能
void input(int n,int m,int w) { int i,j,s,k,q = 1; for(i = 0;i < n;i ++){ printf("请输入学校的编号:"); scanf("%d",&a[i].snum); for(j = 0;j < m + w;j ++){//总的项目的输入 printf("请输入项目编号:"); scanf("%d",&a[i].t[j].inum); printf("请输入该项目取前3还是前5(输入3或5):"); scanf("%d",&a[i].t[j].top); if(3 == a[i].t[j].top){ printf("获得的名次的个数(1--3):"); }else if(5 == a[i].t[j].top){ printf("获得的名次的个数(1--5):"); }else{ printf("输入有误!程序退出...."); return; } scanf("%d",&k);//输入获得名次的个数 for(s = 0;s < k;s ++){ if(3 == a[i].t[j].top){ printf("请输入获得的名次(1--3):"); }else{ printf("请输入获得的名次(1--5):"); } scanf("%d",&a[i].t[j].range[s]);//输入所获得的名次的信息 } printf("\n"); } } for(i = 0;i < n;i ++){ //初始化分数 a[i].score=0;//学校总分 a[i].mscore=0;//男子总分 a[i].wscore=0;//女子总分 } for(i = 0;i < n;i ++){ for(j = 0;j < m + w;j ++){ if(0 == i){ printf("项目%d取得是前3还是前5(输入3或5):",j + 1); scanf("%d",&a[i].t[j].top); } for(s = 0;s < 5;s ++){ if(3 == a[i].t[j].top){//如果是取前三 switch(a[i].t[j].range[s]){ case 0: a[i].t[j].mark[s] = 0 ; break; case 1: a[i].t[j].mark[s] = 5; break; case 2: a[i].t[j].mark[s] = 3; break; case 3: a[i].t[j].mark[s] = 2; break; } }else if(5 == a[i].t[j].top){ switch(a[i].t[j].range[s]){ case 0: a[i].t[j].mark[s] = 0; break; case 1: a[i].t[j].mark[s] = 7; break; case 2: a[i].t[j].mark[s] = 5; break; case 3: a[i].t[j].mark[s] = 3; break; case 4: a[i].t[j].mark[s] = 2; break; case 5: a[i].t[j].mark[s] = 1; break; } }else if(a[i].t[j].top != 3 || a[i].t[j].top != 5){ printf("信息输入错误!程序退出\n"); printf("\n"); exit(0); } a[i].score = a[i].score + a[i].t[j].mark[s];//学校总分 if(j < m){ a[i].mscore = a[i].mscore + a[i].t[j].mark[s]; }else{//女子总分 a[i].wscore = a[i].wscore + a[i].t[j].mark[s]; } } } } printf("输入完毕!(返回菜单请输入1):"); scanf("%d",&q); printf("\n"); if(q != 1){ printf("不能再添加信息了!"); } printf("\n"); savetofile();//保存文件 menu(n,m,w); }
//统计输出功能
void output(int n,int m,int w) /*2.统计输出*/ { readfromfile(); int i,j,s,q=0; for(i = 0;i < n;i++) /*显示结果*/ { printf("学校编号:%d 学校总分:%d 男子总分:%d 女子总分:%d\n",a[i].snum,a[i].score,a[i].mscore,a[i].wscore); for(j=0;j< m+w;j++) { printf("项目编号:%d 所取名次数量:%d\n",a[i].t[j].inum,a[i].t[j].top); for(s=0;s<5;s++) { if(a[i].t[j].range[s]!=0) printf("名次:%d 分数:%d\n",a[i].t[j].range[s],a[i].t[j].mark[s]); } } printf("\n"); } printf("\n"); printf("统计完毕!返回? 1是 2否"); /*返回菜单*/ scanf("%d",&q); printf("\n"); if(q!=1) printf("统计已经结束!"); printf("\n"); menu(n,m,w); }
//排序输出功能
void sortput(int n,int m,int w) { readfromfile(); int c,i,j,k,q = 0; int temp[N]; printf("\t**************排序输出系统**************\n\n"); printf("\t\t****1.按学校编号输出****\n"); printf("\t\t****2.按学校总分输出****\n"); printf("\t\t****3.按男子总分输出****\n"); printf("\t\t****4.按女子总分输出****\n"); printf("=======================================================\n\n"); do{ printf("请选择您想实现的功能的编号(1--4):"); scanf("%d",&c); switch(c){ case 1: for(i = 0;i < n;i ++){ temp[i] = i; } //用的是冒泡排序输出 for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].snum > a[j].snum){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校标号:%d 学校总分:%d 男子总分:%d 女子总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; case 2: for(i = 0;i < n;i ++){ temp[i] = i; } for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].score < a[j].score){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校编号:%d 学校总分:%d 男子总分:%d 女子总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; case 3: for(i = 0;i < n;i ++){ temp[i] = i; } for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].mscore < a[j].mscore){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; case 4: for(i = 0;i < n;i ++){ temp[i] = i; } for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].wscore<a[j].wscore){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; default: printf("您的输入有误!请从新输入..."); } printf("请选择 1.返回主菜单 0.继续"); scanf("%d",&q); printf("\n"); } //======================= while(0 == q); printf("\n"); //======================= if(q != 0){ menu(n,m,w); } }
//查询功能
void search(int n,int m,int w) { readfromfile(); int c,i,j,k,d,l,q = 0; printf("\t****************查询系统****************\n\n"); printf("\t\t****1.按学校编号查询****\n"); printf("\t\t****2.按项目编号查询****\n"); printf("=======================================================\n\n"); do { k = -1;d = -1;l = -1; printf("请选择要实现功能的编号(1--2):"); scanf("%d",&c); switch(c){ case 1: printf("要查询的学校编号:"); /*查找学校编号下标*/ scanf("%d",&c); for(i = 0;i < n;i ++){ if(c == a[i].snum){ k=i; } } if(-1 == k){ printf("错误:这个学校没有参加此次运动会!\n"); }else{ printf("要查询的项目编号:"); /*查找项目编号下标*/ scanf("%d",&c); for(j = 0;j < m +w;j ++){ if(c == a[k].t[j].inum){ d = j; } } if(-1 == d){ printf("此次运动会没有这个项目\n"); } else{ printf("这个项目取前 %d名,该学校的成绩如下:\n", a[k].t[d].top); for(i = 0;i < 5;i ++){ if(a[k].t[d].range[i] != 0){ printf("名次:%d\n",a[k].t[d].range[i]); } } } } break; case 2: printf("要查询的项目编号:"); /*查找项目编号下标*/ scanf("%d",&c); for(i = 0;i < n;i ++){ for(j = 0;j < m + w;j ++){ if(c == a[i].t[j].inum){ l = j; } if(-1 == l){ printf("此次运动会没有该项目"); }else{ printf("该项目取前 %d名,取得名次的学校\n",a[0].t[l].top); for(i = 0;i < n;i ++){ for(j = 0;j < 5;j ++){ if(a[i].t[l].range[j]!=0){ printf("学校编号:%d,名次:%d\n",a[i].snum,a[i].t[l].range[j]); } } } } } } break; default: printf("输入错误,请重试!\n"); } printf("请选择:1.返回主菜单 0.继续"); scanf("%d",&q); printf("\n"); } while(0 == q); printf("\n"); if(q != 0){ menu(n,m,w); } }
//主函数
int main() { int n,m,w;//n为学校个数,m为男子数,w为女子数 printf("\t\t\t欢迎使用\t\t\t\t\n\n"); printf("\t***********运动会分数统计系统***********\n\n"); printf("请先输入运动会主要信息\n"); printf("输入学校个数:"); scanf("%d",&n); printf("输入男子项目个数:"); scanf("%d",&m); printf("输入女子项目个数:"); scanf("%d",&w); menu(n,m,w); }
//下面是整个代码
#include<stdio.h> #include<math.h> #include<process.h> #define N 20 //学校最大数目 #define M 20 //男子项目最大数 #define W 20 //女子项目最大数 //存放项目信息的结构体 typedef struct { int inum;//项目编号 int top;//取名次的数目 int range[5];//名次 int mark[5];//分数 }itemnode; //存放学校信息的结构体 typedef struct { int snum;//学校编号 int score;//学校总分 int mscore;//男子总分 int wscore;//女子总分 itemnode t[M + W];//项目数组 }snode; snode a[N];//定义一个学校数组 //菜单函数 void menu(int n,int m,int w) {//n代表学校数,m代表男子数,w代表女子数 int c; void input(int n,int m,int w);//输入功能 void output(int n,int m,int w);//输入功能 void sortput(int n,int m,int w);//排序输出 void search(int n,int m,int w);//查询功能 printf("\t\t\t欢迎使用\t\t\t\t\t\n"); printf("华信运动会分数统计系统\n\n"); printf("1.信息输入\n"); printf("2.统计输出\n"); printf("3.排序输出\n"); printf("4.信息查询\n"); printf("5.退出系统\n\n"); printf("=======================================================\n\n"); printf("请输入您想要实现的功能(0--4):"); scanf("%d",&c); switch(c){ case 1: input(n,m,w); break; case 2: output(n,m,w); break; case 3: sortput(n,m,w); break; case 4: search(n,m,w); break; case 5: printf("感谢使用,祝您天天开心!!\n"); exit(0);//正常退出 default: printf("您输入有误,请重新输入!"); menu(n,m,w); } } //将信息写入文件中 void savetofile() { FILE *fp;//定义一个文件指针 int i; if(NULL == (fp = fopen("file.txt","w"))){ printf("打开文件失败!\n"); return; } for(i = 0;i < N;i ++){ if('\0' != a[i].snum) if(fwrite(&a[i],sizeof(snode),1,fp) != 1){ printf("存入信息失败!\n"); return; } } fclose(fp);//关闭文件 } //将信息从文件里取出 void readfromfile() { int i; FILE *fp; if((fp=fopen("file.txt","rb"))==NULL){ printf("文件打开失败!\n"); return; } for(i = 0;i < N;i ++){ fread(&a[i],sizeof(snode),1,fp); } fclose(fp); } //信息输入功能 void input(int n,int m,int w) { int i,j,s,k,q = 1; for(i = 0;i < n;i ++){ printf("请输入学校的编号:"); scanf("%d",&a[i].snum); for(j = 0;j < m + w;j ++){//总的项目的输入 printf("请输入项目编号:"); scanf("%d",&a[i].t[j].inum); printf("请输入该项目取前3还是前5(输入3或5):"); scanf("%d",&a[i].t[j].top); if(3 == a[i].t[j].top){ printf("获得的名次的个数(1--3):"); }else if(5 == a[i].t[j].top){ printf("获得的名次的个数(1--5):"); }else{ printf("输入有误!程序退出...."); return; } scanf("%d",&k);//输入获得名次的个数 for(s = 0;s < k;s ++){ if(3 == a[i].t[j].top){ printf("请输入获得的名次(1--3):"); }else{ printf("请输入获得的名次(1--5):"); } scanf("%d",&a[i].t[j].range[s]);//输入所获得的名次的信息 } printf("\n"); } } for(i = 0;i < n;i ++){ //初始化分数 a[i].score=0;//学校总分 a[i].mscore=0;//男子总分 a[i].wscore=0;//女子总分 } for(i = 0;i < n;i ++){ for(j = 0;j < m + w;j ++){ if(0 == i){ printf("项目%d取得是前3还是前5(输入3或5):",j + 1); scanf("%d",&a[i].t[j].top); } for(s = 0;s < 5;s ++){ if(3 == a[i].t[j].top){//如果是取前三 switch(a[i].t[j].range[s]){ case 0: a[i].t[j].mark[s] = 0 ; break; case 1: a[i].t[j].mark[s] = 5; break; case 2: a[i].t[j].mark[s] = 3; break; case 3: a[i].t[j].mark[s] = 2; break; } }else if(5 == a[i].t[j].top){ switch(a[i].t[j].range[s]){ case 0: a[i].t[j].mark[s] = 0; break; case 1: a[i].t[j].mark[s] = 7; break; case 2: a[i].t[j].mark[s] = 5; break; case 3: a[i].t[j].mark[s] = 3; break; case 4: a[i].t[j].mark[s] = 2; break; case 5: a[i].t[j].mark[s] = 1; break; } }else if(a[i].t[j].top != 3 || a[i].t[j].top != 5){ printf("信息输入错误!程序退出\n"); printf("\n"); exit(0); } a[i].score = a[i].score + a[i].t[j].mark[s];//学校总分 if(j < m){ a[i].mscore = a[i].mscore + a[i].t[j].mark[s]; }else{//女子总分 a[i].wscore = a[i].wscore + a[i].t[j].mark[s]; } } } } printf("输入完毕!(返回菜单请输入1):"); scanf("%d",&q); printf("\n"); if(q != 1){ printf("不能再添加信息了!"); } printf("\n"); savetofile();//保存文件 menu(n,m,w); } #if(1) void output(int n,int m,int w) /*2.统计输出*/ { readfromfile(); int i,j,s,q=0; for(i = 0;i < n;i++) /*显示结果*/ { printf("学校编号:%d 学校总分:%d 男子总分:%d 女子总分:%d\n",a[i].snum,a[i].score,a[i].mscore,a[i].wscore); for(j=0;j< m+w;j++) { printf("项目编号:%d 所取名次数量:%d\n",a[i].t[j].inum,a[i].t[j].top); for(s=0;s<5;s++) { if(a[i].t[j].range[s]!=0) printf("名次:%d 分数:%d\n",a[i].t[j].range[s],a[i].t[j].mark[s]); } } printf("\n"); } printf("\n"); printf("统计完毕!返回? 1是 2否"); /*返回菜单*/ scanf("%d",&q); printf("\n"); if(q!=1) printf("统计已经结束!"); printf("\n"); menu(n,m,w); }#endif //排序输出 void sortput(int n,int m,int w) { readfromfile(); int c,i,j,k,q = 0; int temp[N]; printf("\t**************排序输出系统**************\n\n"); printf("\t\t****1.按学校编号输出****\n"); printf("\t\t****2.按学校总分输出****\n"); printf("\t\t****3.按男子总分输出****\n"); printf("\t\t****4.按女子总分输出****\n"); printf("=======================================================\n\n"); do{ printf("请选择您想实现的功能的编号(1--4):"); scanf("%d",&c); switch(c){ case 1: for(i = 0;i < n;i ++){ temp[i] = i; } //用的是冒泡排序输出 for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].snum > a[j].snum){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校标号:%d 学校总分:%d 男子总分:%d 女子总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; case 2: for(i = 0;i < n;i ++){ temp[i] = i; } for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].score < a[j].score){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校编号:%d 学校总分:%d 男子总分:%d 女子总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; case 3: for(i = 0;i < n;i ++){ temp[i] = i; } for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].mscore < a[j].mscore){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; case 4: for(i = 0;i < n;i ++){ temp[i] = i; } for(i = 0;i < n;i ++){ for(j = i + 1;j < n;j ++){ if(a[temp[i]].wscore<a[j].wscore){ k = temp[i]; temp[i] = temp[j]; temp[j] = k; } } } for(i = 0;i < n;i ++){ printf("学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%d\n",a[temp[i]].snum,a[temp[i]].score,a[temp[i]].mscore,a[temp[i]].wscore); } break; default: printf("您的输入有误!请从新输入..."); } printf("请选择 1.返回主菜单 0.继续"); scanf("%d",&q); printf("\n"); } //======================= while(0 == q); printf("\n"); //======================= if(q != 0){ menu(n,m,w); } } //查询功能 void search(int n,int m,int w) { readfromfile(); int c,i,j,k,d,l,q = 0; printf("\t****************查询系统****************\n\n"); printf("\t\t****1.按学校编号查询****\n"); printf("\t\t****2.按项目编号查询****\n"); printf("=======================================================\n\n"); do { k = -1;d = -1;l = -1; printf("请选择要实现功能的编号(1--2):"); scanf("%d",&c); switch(c){ case 1: printf("要查询的学校编号:"); /*查找学校编号下标*/ scanf("%d",&c); for(i = 0;i < n;i ++){ if(c == a[i].snum){ k=i; } } if(-1 == k){ printf("错误:这个学校没有参加此次运动会!\n"); }else{ printf("要查询的项目编号:"); /*查找项目编号下标*/ scanf("%d",&c); for(j = 0;j < m +w;j ++){ if(c == a[k].t[j].inum){ d = j; } } if(-1 == d){ printf("此次运动会没有这个项目\n"); } else{ printf("这个项目取前 %d名,该学校的成绩如下:\n", a[k].t[d].top); for(i = 0;i < 5;i ++){ if(a[k].t[d].range[i] != 0){ printf("名次:%d\n",a[k].t[d].range[i]); } } } } break; case 2: printf("要查询的项目编号:"); /*查找项目编号下标*/ scanf("%d",&c); for(i = 0;i < n;i ++){ for(j = 0;j < m + w;j ++){ if(c == a[i].t[j].inum){ l = j; } if(-1 == l){ printf("此次运动会没有该项目"); }else{ printf("该项目取前 %d名,取得名次的学校\n",a[0].t[l].top); for(i = 0;i < n;i ++){ for(j = 0;j < 5;j ++){ if(a[i].t[l].range[j]!=0){ printf("学校编号:%d,名次:%d\n",a[i].snum,a[i].t[l].range[j]); } } } } } } break; default: printf("输入错误,请重试!\n"); } printf("请选择:1.返回主菜单 0.继续"); scanf("%d",&q); printf("\n"); } while(0 == q); printf("\n"); if(q != 0){ menu(n,m,w); } } //主函数 int main() { int n,m,w;//n为学校个数,m为男子数,w为女子数 printf("\t\t\t欢迎使用\t\t\t\t\n\n"); printf("\t***********运动会分数统计系统***********\n\n"); printf("请先输入运动会主要信息\n"); printf("输入学校个数:"); scanf("%d",&n); printf("输入男子项目个数:"); scanf("%d",&m); printf("输入女子项目个数:"); scanf("%d",&w); menu(n,m,w); }
感谢您的参考!!!
- 数据结构课程设计———运动会分数统计
- 运动会分数统计系统C语言1000行代码实现张贴即可运行
- 运动会分数统计系统开发(第一版)
- 运动会分数统计系统(数据结构)
- 通用数据采集与统计分析管理系统,随数据库结构的调整而自动调整
- 运动会分数统计系统——史上最完善的运动会分数统计系统
- 运动会分数统计系统开发
- 数据结构课程设计(运动会成绩管理系统)
- PTA-数据结构 5-24 树种统计 (25分)
- 调度事务管理功能 供电系统运行情况的数据归档和统计报表功能
- ECSHOP系统,数据库表名称、结构
- 数据结构实验之二叉树三:统计叶子数
- 理解linux虚拟文件系统VFS - 数据结构
- 数据结构——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构课程设计 - 通讯录管理系统
- 分布式系统的数据结构
- 数据结构实验之二叉树三:统计叶子数
- 数据统计对IT服务管理的重要性——服务台语音系统之报表功能 推荐
- @[数据结构](STUDENT结构体 学生系统:输入、输出、查找、修改)
- 数据结构课程设计——学生信息管理系统