1、自动化学院C语言课程设计报告课题: KTV点歌系统班级: 自动化1201班小组成员: 指导教师: 上交日期: 二零一三年十一月目录一、概述31.设计背景32.软件简介33.参考文献4二、需求分析41.系统概述42.功能需求73系统运行环境8三、功能模块81.点歌模块82.播放模块93.控制模块104.管理员模块105.鼠标模块106.其他模块11四、程序源代码11五、程序设计感悟77六、小组分工78摘要随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。为了满足广大消费者的需求,本小组开发了一个界面友好,操作简单的KTV点歌系统。本系统的设计比较人性化,它包括了点歌模块
2、,播放模块和管理员三大模块。普通用户可直接进入系统进行点歌及播放,点歌方式有歌名点歌,歌手点歌,语种点歌,排行点歌,播放方式有两中,MV播放和歌手靓照加字幕滚动形式播放,管理员需登录,之后可进行歌曲的修改,删除与添加。本系统是利用C语言作为开发语言,BORLAND C+为开发环境,本文主要阐述了该系统各个模块的需求分析,可行性分析,详细设计过程,实现效果等内容。一、概述1.设计背景随着时代的进步,人们的生活变得越来越富裕,这时候的人们不仅仅是追求物质上的享受,人们对精神上的享受空前提高。而时代赋予现代人类的一大精神盛宴无疑是越来越多的流行乐,尤其是大多数的青少年更是离不开音乐。KTV就是这个时
3、候运运而生,城市里越来越多的KTV(这里指KTV场所)出现在人们的生活中。随着KTV行业的迅猛发展,点歌系统在KTV里的重要性越来越大,特别是在面向普通消费者的量贩式KTV,投资方在选系统的时候无不练就一双金睛火眼,千挑万选,而且更是在配套设备上重金投入,确保为消费者营造出一个更好的放松环境。KTV点歌系统也因此有了广阔的发展前景。2.软件简介该KTV点歌系统是一款可以实现在个人电脑上模拟KTV点歌环境的软件,以BORLAND C+编译环境下使用,界面友好,操作简单,适用于Windows XP操作系统,对硬件要求极低。3.参考文献王士元. C高级实用程序设计. 北京: 清华大学出版社. 199
4、6周纯杰,刘正林等. 标准C语言程序及应用. 武汉: 华中科技大学出版社. 2005潭浩强. C语言程序设计. 北京: 清华大学出版社, 2000李军. 最新VESA SVGA图形图像编程秘技. 北京:北京航空航天大学出版社,1999Jeri R.Hanly, Elliot B.Koffman. C语言详解. 北京:人民邮电出版社,2007. 万波,潘蓉,郑海红译 二、需求分析1.系统概述通过实际调查,要求本系统至少具有以下功能:1、良好的人机界面。2、方便的点歌功能。3、如果系统的实用对象较多,则要求有较好的权限管理。4、方便的添加、删除和修改数据功能。5、其他辅助功能。预计实现效果如下。本
5、系统支持单机工作。普通用户即可直接进入系统主界面,通过相应的入口进入“播放界面”、“点歌界面”、“声明”、“帮助”、“管理员”或“退出系统”。点歌界面分为“歌名”、“歌手”、“语种”、“排行”、“新歌”五种点歌方式,选择点歌方式并点歌后,在右侧的“歌曲列表”将显示符合搜索条件的歌曲,用户点击相应的歌曲,“确认点歌”后即完成了一首歌的点播。用户完成所有点歌后,可在界面左下角的“播放”进入播放界面,也可返回主界面。进入播放界面后,用户可在右侧的歌曲列表对已点播歌曲的管理,完成后点击“播放”或“重唱”即可实现播放。也可通过“点歌”按钮进入点歌界面继续点歌。用户通过主界面进入管理员界面后,可登陆对系统
6、曲库进行管理,也可修改用户名或密码。2.功能需求2.1点歌功能用户进入点歌界面后,选择需要的点歌方式(一共有歌名点歌、歌手点歌、语种点歌、排行点歌四种方式),直接用鼠标在相应位置点击,右侧歌曲列表栏将判断搜索条件并显示歌曲,每页只显示10首歌曲。歌曲列出后,用户可使用鼠标点击相应歌曲“确认点歌”。该条件下如果没有用户喜欢的歌曲时,用户可直接在左侧重新点歌。完成点歌都,即可通过“播放”按钮进入播放界面。2.2播放功能进入播放界面后,在右侧的歌曲列表栏里将显示用户当前已点播的歌曲,用户可直接有鼠标点击相应歌曲进入“优先播放”,“移出列表”等功能。点击“播放”按钮或“重唱”按钮,系统即播放当前列表中
7、的第一首歌曲。播放方式有两种,MV播放和歌手靓照加滚动字幕的方式。播发过程中可以暂停或直接转到其他界面。暂停后可以继续播放,之需再次点击“暂停”即可。2.3管理员功能用户在主界面可进入管理员界面,通过登录管理歌曲,包括歌曲信息的修改,歌曲的添加与删除。也可在管理员界面进入“修改”界面,修改用户名或密码。3系统运行环境支持操作系统:DOS、Window XP三、功能模块程序行为特征架如下主界面管理员点歌播放登录歌名MV修改密码歌手歌手+字幕曲库管理语种排行删除添加修改1.点歌模块该模块主要实现不同点歌方式对歌曲的搜索,并将符合的歌曲显示以供用户点播,最后将所点歌曲记录。函数如包括int song
8、(int *x1,int *y1);int song_name(char *song_infor,int *have,int *x1,int *y1);int singer(int *x1,int *y1);int singer_1(int *have,int *x1,int *y1);int singer_2(int *have,int *x1,int *y1);int order(int *have,int *x1,int *y1);int language(int *have,int *x1,int *y1);分别是歌曲主界面函数,歌名点歌函数,歌手点歌主界面函数,歌手列表一函数,歌手列
9、表二函数,排行点歌函数,语种点歌函数。所有函数都将所点的歌曲记录在数组have中。 2.播放模块播放模块主要实现用户对已点歌曲的管理,播放歌曲,暂停重放等功能。函数包括void play(int *have);int video(int *have,int *l,int *x1,int *y1);int lyric(int *have);分别是播放界面函数(实现对已点歌曲的管理及向其他界面的跳转),MV播放函数(播放歌曲MV,可即时暂停、播放),歌手+字幕播放函数(实现歌手靓照和字幕滚动样式的播放)。3.控制模块控制模块是本系统中很重要的一个模块,所有的页面也经此跳转。函数int master
10、(); 4.管理员模块管理员模块主要实现对歌曲及用户信息的管理。函数包括int admin(int *x1,int *y1);int change_admin(int *x1,int *y1);int manage(int *x1,int *y1);分别是管理员登录函数,修改用户名或密码函数,曲库管理函数(实现对歌曲的添加、删除和修改,调用一系列函数实现)。5.鼠标模块鼠标模块是实现鼠标器的运行,是界面更加友好,操作更加简单。函数包括void mouseinit();void mouseread(int *x,int *y,int *butt);void mousecopy(int x,int y,short far *ptr);void mousereshow(int x,int y,short far *ptr);void mouseshow(int x,int y);分别是鼠标初始化函数,鼠标位置及按键读取函数,鼠标遮盖区域保存函数,鼠标遮盖区域重现函数,鼠标显示函数。6.其他模块输出汉字函数void chinese(char *str,int x,int y,int color);调用BMP格式图片函数void picture(int x,int y,char *picture_name);