运动会分数统计数据结构课程设计(含源代码) 下载本文

内容发布更新时间 : 2024/11/16 8:59:22星期一 下面是文章的全部内容请认真阅读。

构和编程语言,灵活的运用并联系几个方面的内容。通过课程设计也使我认识到,要学好编程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西

6、参考文献

[1] 严蔚敏,吴伟民;《数据结构(C语言版)》,清华大学出版社,2007年 [2] 王裕明;《数据结构与程序设计》,清华大学出版社,2010年

[3] 谭浩强;《C语言程序设计(第三版)》,北京航空航天大学出版社,2005年 [4] 李建学;《数据结构课程设计案例精编(用C/C++描述)》,清华大学出版

社,2007年

[5] 催俊凯;《计算机软件基础》,机械工业出版社,2007年 [6] www.http://m.35331.cn/

7、致谢

本次试验能够如期完成,主要是要感谢席老师课堂上的讲解以及指导,才能使我对《数据结构》这门课程有较为深入的理解与掌握,才能在本次课程设计中得以运用。再加上课程设计过程中的程序设计建议,才使得这次课程设计中所遇到的问题能够较快的解决

其次,我还要感谢和我一组的赵咏荔同学,通过两个人的共同协作,才使得本次课程设计能够较好的完成。同时,还要感谢平时课堂上以及课堂外给我帮助的同学们,能够热心的为我解答我所存在的疑问,并为我的程序提出一些建议。

8、附录

源代码:

#include #include #include

#define N 20 /*学校最大数目*/

- 15 -

#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) /*菜单函数*/ {

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\\n\\n\

printf(\运动会分数统计系统***********\\n\\n\

printf(\信息输入*******\\n\ printf(\统计输出*******\\n\

- 16 -

printf(\排序输出*******\\n\ printf(\信息查询*******\\n\ printf(\退出系统*******\\n\\n\

printf(\n\\n\

printf(\请选择要实现步骤的编号(0--4):\

scanf(\ 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 0:

printf(\谢谢使用,再见!\\n\

exit(0); default: printf(\输入错误,请重试!\\n\

menu(n,m,w);

} }

void savetofile() {

FILE *fp;

int i;

- 17 -

/*信息存入文件file*/ if((fp=fopen(\ {

printf(\return;

}

for(i=0;i

if(a[i].snum!='\\0')

if(fwrite(&a[i],sizeof(snode),1,fp)!=1) { }

printf(\return;

} fclose(fp); }

void readfromfile() /*信息从文件file中取出*/ { int i;

FILE *fp;

if((fp=fopen(\ {

printf(\return;

}

for(i=0;i

fread(&a[i],sizeof(snode),1,fp);

fclose(fp); }

- 18 -

void input(int n,int m,int w) /*1.信息输入*/ {

int i,j,s,k,q=0;

for(i=0;i

printf(\学校编号:\

scanf(\输入学校信息*/ for(j=0;j

{

printf(\项目编号:\

scanf(\

printf(\项目取前3名或前5名(3或者5):\

scanf(\

if(a[i].t[j].top==3)

printf(\获得名次个数(1--3):\

else

printf(\获得名次个数(1--5):\

scanf(\ /*输入项目信息*/ for(s=0;s

{

if(a[i].t[j].top==3)

printf(\所获名次(1--3):\

else

printf(\所获名次(1--5):\

scanf(\输入所获名次信息*/

}

printf(\

} }

for(i=0;i

- 19 -