歌手比赛系统课程设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中北大学

课程设计说明书

学院、系:软件学院

专业:软件工程

学生姓名:景学号:

设计题目:歌手比赛系统

起迄日期: 2013年10月11日~2013年11月16日****:***

日期: 2013年11月16日

1 设计目的

1)进一步巩固和复习C程序设计的基础知识;

2)培养学生结构化程序、模块化程序设计的方法和能力;

3)了解软件的编制过程及各环节的具体内容;

4)提高学生程序调试技巧、软件设计能力和代码规范化等素质;

5)提高学生分析问题、解决问题以及实际运用能力。

2 任务概述

对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据2)评委打分3)成绩排序(按平均分)4)数据查询5)追加学生数据6)写入数据文件7)退出系统。

3 模块划分

4 主要函数说明及其N-S图

排序函数:根据评委成绩,去掉一个最高分和最低分,计算出平均值,然后进行排序。

计算函数:算出各位选手的平均成绩。

主函数:实现所有函数。

int flag=1,n,i,m,j;

flag

%d n

1 2 3 4 5 6 7 Int i n for(i=0;i

学号选手成绩i+1 Max[i]=a[i].score[0 for(i=0;i

和姓名Min[i]=a[i].score[0]; a[i].num==m &a[add].num, i

For i nt score[] int n i for(j=0;j

For(i=0;i

(i=0;i

I++) 1+(int)10 T F sum[i],Max[i] a[i].score

&a[i]. *rand()/(RAN Max[i] Min[i]>a[i].score[j],Min[i],aver[i]

num D_MAX+1) =a[i] T F FILE *fp;

&a[i] for(j=0;j

"w+"

aver[i]=(float)(sum[i]-Max[i]

-Min[i])/(M-2)

break

图4.1 主函数N-S图

5 程序运行数据及其结果

6 课程设计心得

通过几周的课程设计,使我更扎实的掌握C语言知识,如对象数组,string类等知识。同时也让我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,并且在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多函数的功能,并且对于其在程序中的使用有了更多的认识。

平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。,平时看课本,这次看了,下次就忘了,通过动手实践让我们对知识点映象深刻。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个课程设计对我的作用是非常大的。

附录:

#include

#include

#include

#include

#define N 3

#define M 10

int add = N-1;

int sum[N]={0},Max[N],Min[N];

float aver[N]={0};

struct player

{int num;

char name[8];

int score[M];

};

void Inistplayer(struct player a[],int n) {int i;

printf("请输入歌手的学号和姓名:\n");

for(i=0;i

scanf("%d %s",&a[i].num,&a[i].name);

}

void Inputscore(int score[],int n)

{int i;

for(i=0;i

score[i]=1+(int)10*rand()/(RAND_MAX+1);

}

void sort(struct player a[],float b[],int n)

{int i,k,j,t;

float temp;

char str[8];

for(i=0;i

{k=i;

for(j=i+1;j

if(b[k]>b[j]) k=j;

if(k!=i)

{temp=b[i];

b[i]=b[k];

b[k]=temp;

strcpy(str,a[i].name);

strcpy(a[i].name,a[k].name);

strcpy(a[k].name,str);

t=a[i].num;

a[i].num=a[k].num;

a[k].num=t;

}

}

}

main()

{int flag=1,n,i,m,j;

FILE *fp;

fp = fopen("data.txt","w+");

struct player a[20];

printf(" 歌手比赛系统主菜单\n");

相关文档
最新文档