C语言课设唱歌比赛评分系统Word下载.docx

上传人:b****5 文档编号:19814255 上传时间:2023-01-10 格式:DOCX 页数:11 大小:73.65KB
下载 相关 举报
C语言课设唱歌比赛评分系统Word下载.docx_第1页
第1页 / 共11页
C语言课设唱歌比赛评分系统Word下载.docx_第2页
第2页 / 共11页
C语言课设唱歌比赛评分系统Word下载.docx_第3页
第3页 / 共11页
C语言课设唱歌比赛评分系统Word下载.docx_第4页
第4页 / 共11页
C语言课设唱歌比赛评分系统Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言课设唱歌比赛评分系统Word下载.docx

《C语言课设唱歌比赛评分系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课设唱歌比赛评分系统Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

C语言课设唱歌比赛评分系统Word下载.docx

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课程结束后,上交课程设计说明书和源程序。

课程设计说明书的内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、成绩

六、教师评语

 

一、需求分析

根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。

该系统是一个分数录入以及评定系统,其使用者被假定为某歌唱比赛的管理人员,系统应该具有安全、稳定、功能齐全的特点。

1.安全性分析

系统管理的数据涉及到参赛的所有选手,为防止他人恶意修改,所以在进入评分系统前有密码程序,只有掌握了正确的密码才能进入程序进行各项操作。

2.稳定性分析

指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。

3.主要功能分析

(1)密码程序:

在程序尾端设置好密码,只有掌握密码的管理员才能进入程序进行成绩录入,修改等操作,避免信息被他人修改,造成比赛不公

(2)菜单:

有一个功能强大又清晰明了的菜单能极大程度方便管理员的操作

(3)数据输入:

在每个输入前都有详细分类和提示,简单明了,根据提示输入参赛选手号数,姓名,各个评委打分成绩

(4)数据保存:

对于输入的数据,或被修改的数据应该保存到某个磁盘文件中,实现永久存储。

运用了指针函数后便可实现该功能。

将输入的选手信息存储到自动生成的文件中,以便于程序自动读取或人工阅读

(5)成绩排名:

利用冒泡程序对数组进行排序,删除一个最高与最低然后进行讲剩下的值平均,得出选手最终得分,再根据分数高低排名

(6)数据查询:

用户输入查询条件,系统规则地在界面显示查询结果,不光可以输入号数,查询到该选手信息,每位评委打分;

还可以选择排名查询,显示的数据全面。

二、设计分析

主要有9个功能模块,每个模块对应一个C语言自定义函数。

这些函数原型及其功能简述如下:

1、程序总体结构图(传统流程图或N-S框图)

2、主要功能模块框图(传统流程图或N-S框图)

(1)密码程序plus()

不正确

正确

(2)参赛选手信息录入creat()

Printf参赛选手号数

Printf姓名

Printf7位评委打分

是否继续输入

重新执行开头

返回主菜单

(3)浏览选手数据browse()

(4)查询选手成绩search()

(5)删除函数del()

(6)查询选手信息print()

(7)菜单函数menu()

(8)修改函数update()

(9)指针函数rank()

(10)保存函数save()

三、主要界面截图

图1进入程序输入密码界面

图2程序主界面

图3选手信息录入

图4选手信息浏览

图5单个选手成绩查询

图6选手排名查询

图7选手信息修改

图8选手信息删除

图9程序退出

四、技术要点

1、冒泡程序应用

运用冒泡程序对各个参赛选手排序,并去除头与尾即最高分和最低分,将剩下的评委得分运算得出选手最终平均分,然后再排序,便能得出选手名次。

for(i=0;

i<

N-1;

i++)xt"

"

w"

);

fprintf(fp,"

--------|--------\n"

编号|姓名\n"

while(p1!

=NULL)

{

fprintf(fp,"

%-9d%-6s\n"

p1->

num,p1->

name);

p1=p1->

next;

}

fclose(fp);

printf("

\n\t文件已将保存到\"

参赛选手名单.txt\"

"

}

3、关于删除算法

实现从系统中删除某位同学的相关信息的算法稍微复杂一些,其实质是对数组某个或某些元素的删除操作。

对数组元素的删除操作完成后,再将数组写入到文件中,就完整地实现了“删除”。

voiddel()

{

S_MESSAGE*node;

/

#include<

>

#defineLENsizeof(S_MESSAGE)

#defineN7

typedefstructsongerf"

grades[i]);

}

printf("

%\n"

ave);

check=1;

getchar();

return;

}

else

{

p1=p1->

}

if(head!

=NULL&

&

check==0)

printf("

\n对不起,你查看的选手成绩不存在!

\n"

getchar();

/*---------------------------search函数-------------------------------*/

voidsearch()

intc;

\n请选择查询内容:

1.选手详细成绩查询2.选手排名查询\n请输入您的选择:

scanf("

%d"

&

c);

switch(c)

case1:

system("

cls"

print();

break;

case2:

rank();

/*-------------------------------save函数------------------------------*/

voidsave()xt"

/*------------------------update函数--------------------------*/

voidupdate()

S_MESSAGE*p1;

手信息浏览2.选手信息录入\n"

\3.选手信息保存4.选手成绩查询\n"

\5.选手信息修改6.选手信息删除\n"

\7.退出系统\n"

\n\***********系统菜单选择界面*************\n"

\t>

请根据您想执行的命令,输入对应功能的数字键<

<

请输入您的选择:

/*----------------menu_select函数------------------------*/

voidmenu_select()

chars[100];

gets(s);

//不管用户输入的是数字键或是字母键使用gets都能将输入作为字符串接收

while

(1)//限定用户输入的数值必须在1-7之间才有效,否则要求重新输入

c=atoi(s);

//利用atoi()函数将所接收的字符串转换成数值,提供给if语句判断

if(c<

1||c>

7)

{

printf("

您的输入有误,请重新输入:

gets(s);

elsebreak;

system("

//清屏

browse();

break;

creat();

case3:

save();

case4:

search();

case5:

update();

case6:

del();

case7:

quit();

return;

default:

system("

menu();

menu_select();

/*--------------------------main函数-----------------------------*/

intplus()

return0;

intmain(void)

{

charc[6];

charm[6];

m[0]='

1'

m[1]='

2'

m[2]='

3'

m[3]='

4'

m[4]='

5'

m[5]='

6'

;

inti;

printf("

请输入您的密码:

for(i=0;

6;

i++)

c[i]=getch();

if(c[i]>

='

0'

||c[i]<

9'

||c[i]>

a'

z'

A'

Z'

putchar('

*'

}

if(c[0]==m[0]&

c[1]==m[1]&

c[2]==m[2]&

c[3]==m[3]&

c[4]==m[4]&

c[5]==m[5])

{printf("

\n欢迎进入歌唱比赛评分系统\n"

plus();

else

\n密码错误!

while

(1);

return0;

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

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1