歌手比赛系统课程设计报告文档格式.docx

上传人:b****3 文档编号:7124310 上传时间:2023-05-07 格式:DOCX 页数:18 大小:77.19KB
下载 相关 举报
歌手比赛系统课程设计报告文档格式.docx_第1页
第1页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第2页
第2页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第3页
第3页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第4页
第4页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第5页
第5页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第6页
第6页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第7页
第7页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第8页
第8页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第9页
第9页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第10页
第10页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第11页
第11页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第12页
第12页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第13页
第13页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第14页
第14页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第15页
第15页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第16页
第16页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第17页
第17页 / 共18页
歌手比赛系统课程设计报告文档格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

歌手比赛系统课程设计报告文档格式.docx

《歌手比赛系统课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《歌手比赛系统课程设计报告文档格式.docx(18页珍藏版)》请在冰点文库上搜索。

歌手比赛系统课程设计报告文档格式.docx

3.参考相关书籍学习课程设计的基本知识;

4.清楚所开发系统软件的各个相关功能,以便顺利开发系统软件;

5.对系统功能模块进行分析,写出设计说明文档;

6.设计完成的软件要便于操作和使用;

7.对自己所设计的程序进行调试,并不断完善;

8.在设计过程中熟练掌握软件编程的相关知识;

9.详细体会并记录相关过程,并将心得体会写在课程设计报告中;

10.设计完成后提交课程设计报告。

第二章课程设计任务内容

课程设计题目

歌手比赛系统。

背景

时下,无论是社会上某些场合还是校园内,经常举行一些歌手演唱比赛,一般不会再像以前那样用笔记录比赛的情况,歌手比赛系统由此产生。

它几乎包含了一切应有的功能,歌手信息的输入,评委打分,成绩排序等功能应有尽有,省去了很多麻烦的环节,完全可以满足一次歌手比赛的需求。

开发此系统只为方便一般的歌手比赛。

功能需求

用C++实现歌手比赛系统。

该系统主要有以下功能:

1、系统以菜单方式工作;

2、歌手数据录入功能(歌手数据用文件保存)--输入;

3、歌手成绩(评委打分)录入功能—输入:

按输入选手的顺序对其分别打分,输入每个评委的评分,对一个选手打完分之后,显示其总分和平均分;

4、计算总成绩和平均成绩(去掉一个最高分和一个最低分);

5、歌手成绩排序(按平均分):

对选手按平均分进行排序,输出选手的姓名、编号、总分和平均分;

6、歌手成绩查询功能—算法;

按编号查询:

输入编号,如果存在,输出选手的数据,不存在,输出“信息不存在”。

按姓名查询:

输入选手姓名,存在,则输出选手数据,不存在,则输出“信息不存在”;

7、追加选手数据(包括歌手姓名和编号):

如果添加的选手已经存在,则不能插入,不存在,则输出“成功插入”。

8、写入数据文件:

将输入的信息进行保存,保存到自己所写的文件中。

系统模块图

以下是歌手管理系统的模块图:

图2-1系统模块图

第三章详细设计说明

主函数的流程图

图3-1主函数流程图

输入歌手数据

输入函数:

刷新此前的显示界面,然后输入在执行上步操作后的显示界面

Singer*create()包含的参数有:

选手姓名stringname;

编号longnum。

图3-2输入函数流程图

查询歌手数据

查询函数:

刷新此前的显示界面,然后查询在执行上步操作后的显示界面

voidinquire();

参数:

姓名stringname

voidinquire()。

参数:

编号longnum

图3-3查询函数流程图

编码与调试

此程序包含六个函数:

main();

Singer*create();

voidprint();

Singer*insert();

voidsave();

voidmenu();

voidgrade();

voidrank();

voidwelcome();

voidinquire();

Singer*import();

其中:

main()为主函数,可输出开机界面;

voidmenu()功能选择界面,按提示可提供相关服务;

Singer*create()创建歌手信息表,输入选手相关数据;

voidprint()输出函数,输出选手的相关数据;

Singer*insert()插入函数,插入新的选手的数据;

voidsave()写入数据文件的函数,将选手的数据保存到文件夹中;

voidgrade()评委打分函数,输入评委所打的分数;

voidrank()成绩排序函数,对选手按平均分进行排序,并输出最终结果;

voidwelcome()该函数的作用是清空屏幕;

Singer*import()文件导入函数,从某文件把选手信息导入系统。

第四章软件使用说明及运行结果

使用说明

该程序可以实现对选手有关信息查找的功能,安装VisualC++英文版后,在工具栏“file”中单击“new”选项,单击“files”菜单,选择“C++Sourcefile”输入文件名“歌手比赛系统”。

开始输入程序,程序输入完成,单击“build”工具栏,选择“build[歌手比赛系统.cpp1]”,待程序无误后,开始执行程序。

根据数据结构、函数功能和主要的流程图,进行录入源代码操作。

在编码时,注意代码的书写规范,包括命名惯例、注释、分隔和缩进等,这样使程序层析清晰,增强可读性和可维护性。

编码操作完成后,先静态检查一下有没有语法错误,然后进行编译,更深一步检查语法错误。

待编译通过时,运行程序,观察是否能够正常运行,如果有问题,再去修改源程序,直至达到了预期的效果。

运行结果

1、初始界面,提供功能选择,输入相应数字或字母。

图4-1程序截图一

2、选择1,输入选手信息,包括姓名和编号(编号必须是阿拉伯数字)。

图4-2程序截图二

3、评委打分界面,会依次提醒输入每个评委所打的分数(分数必须是0到100之内的数),输入完毕,显示选手的总分和平均分,也就是最终得分。

图4-3程序截图三

4、成绩排序界面,输入选择“4”,输出排序的结果,显示有选手的编号、姓名、总分和平均分,排序是按平均分。

图4-4程序截图四

5、下面是查询界面,可按姓名或者编号查询,输出选手信息。

图4-5程序截图五

6、追加选手数据,输入新增选手的姓名和编号。

图4-6程序截图六

7、写入数据文件,保存信息到自己建立的文件内。

图4-7程序截图七

第五章课程设计心得与体会

课程设计刚开始的时候,我真的感觉到无从下手。

因为已经过去一个学期了,期间又没有怎么看书,大一的时候学的c++,不过基本上已经忘光了,而且那时候学的不深,如果单单写一个比较的小的程序还可以,大程序基本写不了。

当老师把题目发给我们之后,刚开始是一筹莫展,不过短时间内就已经觉醒,重新对题目分析了一遍,了解了一下要用到哪方面的知识,然后着手去看书,重新熟悉一下以前的知识。

然后去图书馆借了一些关于数据结构和c++的书。

看过那些书之后,信心增加了不少,对接下来的程序编译有很大帮助。

通过这三周的课程设计,我独立完成了一个较大的C++语言程序的设计,并认真完成了课程设计报告。

回忆这三周的时间,我收获很大。

首先,我熟练地运用了所学的知识编写程序,并成功的完成,感觉成就感很强,这大大激发了我编程的兴趣;

其次,在设计的过程中遇到了一些困难,我会认真的去思考,或者充分利用网络资源来寻求帮助,提高获取信息的能力。

课程设计期间,我有向老师和同学寻求帮助,在交流中共同进步。

最后,我了解了软件开发的大体过程及各个步骤,这对将来的学习和工作是很有帮助的。

对于信管专业的大学生来说,积累实战经验是一项极其重要的内容,很可能成为将来就业的敲门砖。

而程序设计综合课程设计就是积累实战经验的一个过程,虽然程序的规模并不大,但能够让我们尽早地认识软件开发的重要性和必要性,为将来的就业打下坚实的基础。

经过两个星期的上机实践学习,使我对C++语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己编程粗心大意,经常出错,通过学习也有所改进;

再有对C++语言的一些标准函数不太了解,还有对函数调用的正确使用不够熟悉,以及对C++语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。

这次的课程设让我认识到很多C++的内在要素:

1.程序设计语言是程序设计的工具。

这是我通过两周课程设计深深体会的一点,并且发现如果想有效的进行程序设计,正确地应用程序设计语言表达算法,必须准确的运用程序设计语言,掌握其语法知识。

2.学习程序设计必须重视时间环节,多读程序,多编写程序,多上机实践。

这次的课程设计就使得课堂教学、式样和实践之间的关系更为紧密。

对我的学习有着很深远的影响。

3.我发现作为一个程序设计人员,需要掌握面向过程的程序设计,也要掌握面向对象的程序设计。

从前,人们通过C++语言学习面向过程的程序设计,再通过C++学习面向对象的程序设计。

其实C++并不是纯粹的面向对象的语言,它是一种混合语言。

学习C++既可以编写面向过程的程序,也可以编写面向对象的程序。

这一点是我通过可课程设计所的实践发现的。

4.深切的感受到了C++语法的复杂,内容的繁多。

发现如果对它缺乏系统的了解,将难以真正的运用,编出来的程序错误百出。

附录1:

参考文献

[1]谭浩强编着:

C++程序设计,北京:

清华大学出版社,2004

[2]杨秀金编着:

数据结构(c++版),北京:

人民邮电出版社,

[3]湛为芳编着:

C++程序设计技术习题解答和实验指导,北京:

清华大学出版社,

[4]伍俊良编着:

VisualC++课程设计与系统开发案例.北京:

[5]、(美)戴特尔(Deitel,.)等编着,张引等译:

C++大学基础教程(第五版),北京:

电子工业出版社,

附录2:

程序清单

以下是歌手比赛系统的源代码:

#include<

iostream>

fstream>

string>

iomanip>

usingnamespacestd;

#defineNULL0

intn=0;

2010-12-29建选手信息表"

<

<

setw(20)<

"

2.从文件导入信息表"

endl

3.评委打分"

4.成绩排序"

5.打印所有的信息"

6.按姓名查询"

7.按编号查询"

8.追加选手数据"

k.保存信息表到文件"

c.清空屏幕"

q.退出"

endl<

输入您的选择:

;

}

n"

system("

pause"

);

verage<

=p2->

average)//满足条件交换数据位置

{

p1->

next->

next=p2->

next;

p2->

next=p1->

next=p2;

p2=p2->

}//if

p1=p1->

}//for

*/

/////////////////////输出排序后数据////////////////////////////////

head=p->

p=h->

cout<

setw(10)<

编号"

姓名"

总分"

setw(15)<

平均分"

endl;

do

p->

num<

setw(10)<

name<

sum<

average<

p=p->

}while(p!

=NULL);

//插入信息

Singer*insert(Singer*head,Singer*sin)

{

Singer*p0,*p1;

p1=head;

p0=sin;

if(head==NULL)

head=p0;

p0->

next=NULL;

}

else

while(p1->

next!

=NULL)

{

if(p0->

num==p1->

num)

{

cout<

编号为"

p0->

的选手已存在!

returnhead;

}

p1=p1->

}

p1->

next=p0;

n++;

cout<

成功插入信息!

returnhead;

//保存到文件

voidsave(Singer*head,charfilename[])

Singer*p=head;

boolflag=false;

cout<

没有可以保存的信息!

return;

fstreamoutfile(filename,ios:

:

out);

if(!

outfile)

cout<

打开数据文件出错!

return;

do

if(flag)

outfile<

outfile<

\t"

'

\t'

mark;

flag=true;

p=p->

}while(p!

=NULL);

();

保存成功!

保存到"

filename<

//按姓名查询

voidinquire(Singer*head,stringname)

boolflag=true;

inttotal=0;

if(p==NULL)

信息为空!

if(p->

name==name)

if(flag)

姓名为"

的选手有:

setw(7)<

成绩"

flag=false;

total++;

p=p->

}while(p!

已查询到"

total<

条记录。

//按编号查询

voidinquire(Singer*head,longnum)

num==num)

编号是"

的选手是:

查无此人!

//从文件导入

Singer*import(charfilename[],Singer*head)

ifstreaminfile;

(filename,ios:

in);

if(!

infile)

打开文件失败!

returnhead;

head=NULL;

n=0;

Singer*p1;

Singer*p;

while(!

())

p=newSinger;

if(n>

=1)

p1->

next=p;

infile>

>

name>

num;

p->

if(n==0)

head=p;

p1=p;

();

导入成功!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2