构和编程语言,灵活的运用并联系几个方面的内容。通过课程设计也使我认识到,要学好编程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西
6、参考文献
[1] 严蔚敏,吴伟民;《数据结构(C语言版)》,清华大学出版社,2007年 [2] 王裕明;《数据结构与程序设计》,清华大学出版社,2010年
[3] 谭浩强;《C语言程序设计(第三版)》,北京航空航天大学出版社,2005年 [4] 李建学;《数据结构课程设计案例精编(用C/C++描述)》,清华大学出版
社,2007年
[5] 催俊凯;《计算机软件基础》,机械工业出版社,2007年 [6] www.http://m.35331.cn/
7、致谢
本次试验能够如期完成,主要是要感谢席老师课堂上的讲解以及指导,才能使我对《数据结构》这门课程有较为深入的理解与掌握,才能在本次课程设计中得以运用。再加上课程设计过程中的程序设计建议,才使得这次课程设计中所遇到的问题能够较快的解决
其次,我还要感谢和我一组的赵咏荔同学,通过两个人的共同协作,才使得本次课程设计能够较好的完成。同时,还要感谢平时课堂上以及课堂外给我帮助的同学们,能够热心的为我解答我所存在的疑问,并为我的程序提出一些建议。
8、附录
源代码:
#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 -