#include <iomanip>
#include <stdio.h>
#include<stdlib.h>
using namespace std
// 不好意思,少贴了一部分代码
#define N 100
typedef struct song { /*歌曲信息结构类型*/
int No /*编号*/
char song_name[32] /*歌曲名称*/
char name[16] /*歌手姓名*/
int num /*票数*/
} SONG
void displayMenu()
int choiceItem()
int input(SONG s[ ])
void browse(SONG s[ ], int n)
void Top10(SONG s[ ], int n)
void vote(SONG s[ ], int n)
int main()
{
SONG a[N] /*存放参与排行榜歌曲信息*/
int n, choice
do{
choice = choiceItem() /*获取菜单选择*/
switch (choice) {
case 1: n = input(a) break
case 2: browse(a, n) break
case 3: Top10(a, n) break
case 4: vote(a, n) break
}
} while (choice!=0)
cout<<endl <<"Bye!!" << endl
return 0
}
void displayMenu() /*显示菜单*/
{
cout <<endl<< ("============ Menu ============") <<endl
cout << (" 1..........录入歌曲") << endl
cout << (" 2..........浏览歌曲") <<endl
cout<< (" 3..........打印Top10")<<endl
cout<< (" 4..........投票\n")<<endl
cout<< (" 0..........退出 ")<<endl
cout<< ("Choice:")<<endl
}
int choiceItem() /*选择菜单项*/
{
int choice
char line[80]
do{
displayMenu()
gets(line)
choice = atoi(line)
} while (choice<0 || choice>4)
return choice
}
int input(SONG s[ ]) /*输入歌曲信息*/
{
char buf[256]
int i = 0
while ( 1 )
{
printf("\nPlease Input No Song_Name Singer_Name \n")
gets(buf) /*读入行*/
if (buf[0] == '\0') break /*空行*/
sscanf( buf, "%d%s%s", &s[i].No, s[i].song_name, s[i].name) /*分解数据*/
s[i++].num = 1
}
return i
}
void browse(SONG s[ ], int n) /*浏览歌曲信息*/
{
int i
cout << (" Num\tSong_Name\tSinger_Name") << endl
for (i=0 i<n i++)
cout <<s[i].No<< setw(10) << s[i].song_name<< setw(10) << s[i].name
}
void Top10(SONG s[ ], int n) /*排序*/
{
int i = 0, j = 0, k = 0
SONG temp[N], t
for (i=0 i<N i++) /*复制*/
temp[i] = s[i]
for (i=0 i<n-1 i++) /*选择排序*/
{
k = i
for (j=j+1 j<n j++)
if (temp[k].num<temp[j].num) k = j
if (k!=i)
{
t = temp[i]
temp[i] = temp[k]
temp[k] = t
}
}
cout << ("Song_Name\tSinger_Name") << endl
for (i=0 i<10 && i<n i++) /*输出前10名*/
cout<< setw(10) << temp[i].song_name << setw(10) <<temp[i].name
}
void vote(SONG s[ ], int n) /*投票*/
{
int i
char buf[80]
cout << ("Enter song'No :")<<endl /*输入歌曲编号*/
gets(buf)
for (i=0 i<n i++) /*查找相应歌曲并累加票数*/
if (s[i].No==atoi(buf))
{
s[i].num++
cout<<("Vote OK") <<endl
break
}
if (i==n)
cout<<("Error No.") <<endl
}
运行结果:
欢迎采纳!
一、 大赛宗旨
实施优秀童谣、少儿歌曲创作推广计划,鼓励儿童音乐创作,传唱优秀少儿歌曲,繁荣儿童音乐文化生活。
二、 组织机构
1、 主办单位:中国中央电视台。
2、 承办单位:中央电视台青少节目中心
中国网络电视台
3、 协办单位:各地方电视台 少儿频道三、 参赛规则
1、报名要求
全国各地符合相关参赛要求的自然人或法人单位(如:在京的各大部委、各大军区以及幼儿园、学校、少年宫、艺术团、音像出版单位、文化艺术公司等)均可报名参评。
以歌曲作品参赛的报名者需自行解决参赛作品的演唱事宜;以歌曲演唱参赛的报名者需自行解决所唱歌曲的相关著作权事宜。
2、参赛作品
凡创作于2000年1月1日至2010年6月1日期间的儿童歌曲、童谣均可报名参赛。
参赛作品需内容健康,形式新颖,富有童真童趣,易于传唱。
参赛作品的时长限定在4分钟以内(含4分钟)。
3、演唱要求演唱者报名参赛年龄限于17周岁以下(含17周岁,即:1993年8月28日以后出生者)。
演唱者演唱的歌曲须为2000年1月1日至2010年6月1日期间创作的儿童歌曲、童谣。
歌曲的演唱方法不限(美声、通俗、原生态等唱法均可)、演唱形式不限(独唱、重唱、合唱、表演唱、乐队组合等形式均可)。
演唱者可采用伴奏带亦可由乐队现场伴奏、伴唱。伴奏音乐由参赛者自备。伴奏带需以DAT、CD、MD的技术格式录制,其录制质量需符合电视播出的相关技术要求。
四、 评奖与奖项
1、评分方法:
由评委会成员现场打分。评委会由词曲作者、歌唱家、音乐教育专家以及儿童、家长代表等组成。
2、奖项设立:
(1)决赛评选出金奖10首、银奖10首、铜奖10首、优秀歌曲奖20首。
(2)最受儿童喜爱歌曲5首。
(3)优秀演唱奖50名。
(4)优秀组织奖若干。
五、 大赛程序
大赛于2010年4月16日开始,至2010年8月28日结束。大赛分报名初选、复评、决赛三个阶段进行。
1、 报名初选阶段(4月16日至6月15日):
大赛报名初选阶段的工作分别由主办单位及获得主办单位许可的地方电视台或少儿频道组织进行。
(1)报 名
全国各地符合参赛要求的自然人或法人单位到所在地的电视台或少儿频道办理报名手续。
以各大军区或各大部委名义报名参赛的单位,到央视少儿频道办理报名手续。
(2)初 选
报名时需提交报名表等相关报名材料,并由地方电视台或少儿频道组织符合条件的参赛者按照有关规定和要求履行初选程序。
2、复评阶段(6月15日-7月1日):
经过初选,由大赛评委会评选出50首优秀作品进入决赛。进入复评需向大赛组委会提交以下材料:
1) 协办单位向大赛组委会提交进入复评作品名录的函。
2) 报名表。
3) 音乐电视作品或歌曲演唱录像节目。
4) 歌词和乐谱。
5) 词、曲作者简介。
6) 演唱者简介。
7) 参赛作品作者确认书。
8) 参赛作品表演者确认书。
9)协办单位确认书。
3、决赛:2010年8月23至8月28日
(1)8月22日至8月27日,进入决赛的 50首入围作品进行决赛。
(2)决赛分5场进行,每场90分钟,由央视少儿频道晚间在黄金时间进行直播。
(3)8月28日举行颁奖晚会,由央视综合频道与少儿频道晚间在黄金时间并机直播。
六、 公正机制
大奖赛组委会将制定相关制度确保大奖赛的公平、公正、公开。大奖赛组委会将聘请北京市公证处、组建大奖赛监审组对大奖赛进行全程监督,并按照相关规定对大奖赛的复评与决赛的过程和结果予以公证。
七、 大赛须知
1、参与2010年全国儿童歌曲大奖赛组织工作的主办单位、承办单位和协办单位须遵守本次大赛章程中的各项规定,在初选、复评、决赛三个阶段的比赛过程中确保评选工作的公平性、公正性、公开性。
2、参赛者报名参与此次大赛,即表示同意中央电视台对其报送的参赛作品(包括歌词和曲谱、音像和音响资料等)均有权在与大赛相关的任何场合(包括大奖赛结束后)以各种方式使用。
3、参赛者和参赛作品的版权拥有人因参加本次全国儿童歌曲大奖赛而提交的作品或因参赛而由主办方和协办方对参赛作品进行重新制作并使其成为新的影视作品,其作品均由于参赛者和参赛作品的版权拥有人的报名参赛行为而表示为已经同意组委会将拥有这些作品在电视、网络及合作媒体展示和推广的权利,并同意组委会将这些作品收入计划出版的图书和音像制品之中。
4、参赛者须保证自己的参赛作品和行为不侵犯法律上赋予第三方的任何权利,包括著作权、商标权等知识产权。如参赛者的参赛作品和行为侵犯了第三方的权利和利益,由参赛者承担为此给第三方、主办方和协办方造成的法律责任和经济赔偿责任。
5、参赛者须确保报名时所提供的所有资料的真实性,并承担因失实产生的一切法律后果和责任。
6、参赛者如未拥有参赛曲目的著作权,须事先获得相应权利人的书面许可。否则,大赛组委会将视其自行放弃参加复评的权利。
7、所有参赛者须自觉遵守比赛秩序。
8、大赛不对参赛者收取报名费。
八、其他事项
1、本章程的解释权归2010年全国儿童歌曲大奖赛组委会所有。
2、未尽事项将以补充方式另行通知。 2010儿童歌曲大奖赛参评歌曲展播 首播时间:2010-7-5首播频道:CCTV-少儿产 地:中国大陆
语 种:汉语 排序 歌曲名称 作词 作曲 选送单位 1 跟彩虹一起成长 赵大国 付广慧 北京卡酷动画卫视频道 2 妈妈 王宝 王宝 天津电视台少儿频道 3 学习歌 金明 冯晓泉 河北电视台少儿·科教频道 4 幸福像金达莱一样 刘崇仁 晓丹 辽宁广播电视台教育青少频道 5 山楂果 罗晓航 徐涛 辽宁广播电视台教育青少频道 6 流浪猫之歌 关恬 关恬 上海文广新闻传媒集团哈哈少儿频道 7 闪亮全世界 张志林 张志林 上海文广新闻传媒集团哈哈少儿频道 8 唱响和平 张振芝 李丹芬 上海文广新闻传媒集团哈哈少儿频道 9 读唐诗 魏德泮 谷建芬 南京广播电视集团少儿频道 10 爸爸的雪花 车行 王龙 浙江电视台少儿频道 11 可可西里 吴珹 宋小兵 浙江电视台少儿频道 12 给书包减肥 周祥钧 蔚鸫(张卫东) 浙江电视台少儿频道 13 山窝窝飘来畲娃的歌 彭慧娥、李改芳 李改芳 浙江电视台少儿频道 14 豆豆和妞妞 吴玲 丁美香 安徽电视台社教海外中心 15 YA HO YA HO 张捷 张捷 福建省广播影视集团少儿频道 16 森林里飞来啄木鸟 秦庚云 熊纬、葛平波 江西电视台少儿·家庭频道 17 刀郎女孩 李幼容 舒京 山东电视台少儿频道 18 好一个土娃子 魏岚 王原平 山东电视台少儿频道 19 梦的眼睛 梁绍武 傅滔 河南电视台 20 水晶鞋 万飞 万飞 武汉广播电视总台电视少儿频道 21 四季歌 刘胡轶 刘胡轶 武汉广播电视总台电视少儿频道 22 爱我你就抱抱我 彭野 彭野 武汉广播电视总台少儿频道 23 共同长大 刘春潮 崔臻和 广东南方电视少儿频道 24 虫虫飞 黄增况 黄晓艳 广西电视台公共频道 25 快乐一加一 董军 董军 广西电视台公共频道 26 月光豆豆 王希异 王梦灵 广西电视台公共频道 27 祖国在我心窝里 王光池 曹明辉 重庆电视台TICO少儿频道 28 我们这样长大 张达山 张达山 四川广播电视台妇女儿童频道 29 我不上你的当 陈爽 陈爽 四川电视台妇女儿童频道 30 快乐的小金蝉 阮居平 刘念 贵州电视台 31 心中有朵马兰花 一木 丁纪、孟可 宁夏广播电视总台少儿频道 32 司马光砸缸 宋小明 李昕 宁夏广播电视总台少儿频道 33 亲亲西藏 徐怀宙 宋小兵 西藏电视台 34 布娃娃 阿不都沙拉木·托合提 曼苏尔·玉素朴 新疆电视台 35 冬不拉之歌 哈山汗·塔力哈尔 阿曼·拜托劳 新疆电视台 36 神笔马良 李众 晓丹 大连电视台少儿频道 37 五星红旗我爱你 姜延辉 姜延辉 中国人民解放军海军海娃艺术团 38 春晓 (唐)孟浩然 谷建芬 中国音协 39 七个母音 布仁巴雅尔 布仁巴雅尔 中国音协 40 叮叮当啰唻 管文琦 胡正文 中国音协 41 我是一只… 王昊 王昊、张岩 国家汉办 42 爸爸妈妈听我说 彭乃洪 彭乃洪 国家汉办 43 老师 彭乃洪 彭乃洪 国家汉办 44 中国是我家 彭野 彭野 中唱 45 北京胡同 李幼容 朱思思 人民音乐出版社 46 天上的布达拉 于平 龚耀年 人民音乐出版社 47 玉树的格桑花 金戈 舒京 人民音乐出版社 48 泡泡澡 魏联 许善飞 人民音乐出版社 49 闻鸡起舞 李幼容 秦咏诚 人民音乐出版社 50 跳月歌 牟恩酥 牟恩酥 人民音乐出版社
编译能通过---------- 编译时把注释去掉#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct song{ //定义一个歌曲结构
int id//歌曲号
char title[20]//歌曲名
char singer[20]//歌手名
}
typedef struct song SONG//把结构命名为 SONG
int main( void )
{
SONG songlist[100]//定义一个存储歌曲信息的列表,长100
int i=0,j
int c
clrscr()
while (i<=100) {
printf( "please enter the song's id, title and singer:\n" )
//输入歌曲号 然后空格 输入歌曲名 然后空格 输入歌手名 然后回车
scanf( "%d%s%s", &songlist[i].id, songlist[i].title, songlist[i].singer)
i++
//每次输入完一条信息后,把列表中的歌曲信息全部打印出来看一下
printf("the songlist is below:\n\n")
for( j=0j<=ij++){
printf( "%d %s %s\n", songlist[j].id, songlist[j].title, songlist[j].singer )
}
printf("\n")
}
getch()
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)