版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础综合实验实验报告题目名称:KTV点歌系统班级: CE 姓名: 叶欣怡 学号: 合作者: 卓艺暖 日期: 2019.5.22 KTV点歌系统一、选题随着社会的不断发展进步,人们的经济文化水平得到了显著的提高。所以人们在追求物质生活富足之余,对精神文化的需求也不断攀升。尤其是随着当代社会节奏的不断加快,人们在学习工作之余更加渴求用多样化的娱乐方式来陶冶情操、缓解压力。在众多娱乐消费方式中,KTV以其价格合理、花样繁多、受众范围广等特点受到了广泛追捧。为了进一步降低KTV娱乐行业的成本,更好地提升消费者的娱乐体验,在给消费者带来更多实惠便捷的同时为经营者带来更多的利润。我们针对KTV点歌
2、系统的特点和需求,结合以往的开发经验,开发了这样一个操作便捷、界面简单、高效灵活的KTV点歌系统。二、需求分析(一)功能需求为满足用户需求,点歌系统首先应当具备多样便捷的点歌功能。基于系统操作的便捷性和用户群体的习惯性,本系统提供了最传统和便捷的两种检索方式歌名点歌和歌手名点歌。此外,该点歌系统还应面具备增删歌曲的功能,以便系统管理员更好地开发管理曲库。 (二)性能需求1.操作便捷、高效2.占用资源少、对硬件要求低3.系统安全、稳定4.界面简洁、大方(三)测试用例1.歌名点歌:1.1歌曲存在输入:用户歌名点歌再见 输出:再见的歌词:我们的照片 记录幸福到永远只是再幸福的画面 只停格在一瞬间那些
3、最煽情的电影情节 都说爱能超越生死离别曾经我们都很坚决 爱了就不改变1.2歌曲不存在输入:用户歌名点歌童年 输出:未查询到此歌曲2.歌手名点歌2.1曲库中此歌手的歌曲数大于一输入:用户歌手名点歌 2输出:泡沫的歌词: 阳光下的泡沫 是彩色的就像被骗的我 是幸福的追究什么对错 你的谎言 基于你还爱我美丽的泡沫 虽然一霎花火你所有承诺 全部都太脆弱2.2曲库中此歌手的歌曲数为一输入:用户歌手名点名田馥甄Yes输出:小幸运的歌词 原来你是我最想留住的幸运原来我们和爱情曾经靠的那么近那为我对抗世界的决定 那陪我淋的雨一幕幕都是你 一尘不染的坚定2.3未检索到此歌手 输入:用户歌手名点名周杰伦 输出:未
4、查询到此歌手3.添加 输入:管理员添加歌曲1童年罗大佑池塘边的榕树上知了在声声叫着夏天# 输出:曲库文件(KTV.txt)中新增了该歌曲的歌曲名(童年)、歌手名(罗大佑)和歌词文件名(童年.txt),歌词文件(童年.txt)中又存放着歌词“池塘边的榕树上知了在声声叫着夏天”。4.删除 输入:管理员删除歌曲1童年 输出:曲库文件(KTV.txt)中删除了该歌曲的歌曲名(童年)、歌手名(罗大佑)和歌词文件名(童年.txt),歌词文件(童年.txt)也被删除。三、概要设计 设计方案的论证。如:该题目可采用的设计方案有哪些,其优缺点是什么;最终方案选取的依据和原则等;(一) 设计方案方案一:关于删除模
5、块, 数据结构的设计。要求给出数据结构的C语言描述,并针对要解决的具体问题做相应说明; 各模块的描述:包括功能、参数、调用关系; 软件结构图:画出整体软件的结构框图。四、详细设计1. 歌手名点歌void Find_singer(int t) int i,j=0,num100,p,n,m=0; char singermax,ch; scanf(%s,singer); FILE *fp; printf(该歌手的歌曲有:n); for(i=0;i1)/在结构体中检索到一首以上该歌手的歌曲 printf(请输入所选歌曲的序号:n); scanf(%d,&n); p=numn-1;/将所选歌曲在结构体中
6、的序号从num数组中取出 printf(%s的歌词:n,); if(fp=fopen(xp.filename,r)=NULL)/打开歌词文件并使fp指向此文件 printf(Can not find this file!n); exit(0); while(!feof(fp)/如果未遇到歌词文件的结束标志 ch=fgetc(fp);/从歌词文件读入一个字符,赋给变量ch putchar(ch);/将ch显示到屏幕上 fclose(fp); else/未在结构体中检索到该歌手 printf(未查询到此歌手!n);2.歌曲名点歌void Find_song(int t) FILE *
7、fp; int i,j,flag=0; char ch; char songmax; scanf(%s,song); getchar();/消化换行符 for(i=0;it;i+) if(strcmp(,song)=0)/与结构体中的歌名进行匹配 flag=1; j=i;/将该歌曲在结构体中的序号赋值给j break; if(flag=1)/匹配到该歌曲 printf(%s的歌词:n,); if(fp=fopen(xj.filename,r)=NULL)/打开歌词文件并使fp指向此文件 printf(Can not find this file!n); exit(0
8、); while(!feof(fp)/如果未遇到歌词文件的结束标志 ch=fgetc(fp);/从歌词文件读入一个字符,赋给变量ch putchar(ch);/将ch显示到屏幕上 fclose(fp); else/未匹配到该歌曲 printf(未查询到此歌曲!n);3.添加void add(int num)/添加歌曲 int n,i,y=0; char strMAX,ch,a9=.txt ,bmax=0,m= ; FILE *fp,*fp1; printf(请输入要添加歌曲的数量:n); scanf(%d,&n);getchar();/消化换行符 for(i=0;in;i+) printf(请
9、输入您要添加的第%d首歌曲的信息:n,i+1); printf(请输入歌曲名:n); gets(xnum+);/将歌曲名存入结构体 printf(请输入歌手名:n); gets(xnum+i.singer); printf(请输入歌词:(以#结尾)n); for(y=0;(ch=getchar()!=#;y+) stry=ch; getchar();/消化换行符 strcpy(b,xnum+);/将歌曲名保存在字符数组中 strcpy(xnum+i.filename,strcat(xnum+,a);/将歌曲名加上文件类型后缀作为歌词所在文件名 fp=fope
10、n(xnum+i.filename,w);/新建文本文档并打开fputs(str,fp);/将歌词放入文本文档 fclose(fp);/ 关闭歌词文本文档 fp1=fopen(KTV.txt,a);/打开KTV.txt ,追加内容 if(fp1=NULL) printf(can not open the file.n); exit(0); fputs(b,fp1);/将歌名存入KTV.txtfputc(m,fp1);fputs(xnum+i.singer,fp1);/将歌手信息存入KTV.txtfputc(m,fp1);fputs(xnum+i.filename,fp1);fprintf(fp
11、1,n);/将存放歌词的文件名存入KTV.txt fclose(fp1);/关闭文件 printf(添加歌曲成功!n);4.删除void dele(int num) FILE *fp;char strmax; int i,j,a,t,flag=0; printf(请输入需要删除歌曲的数量:n); scanf(%d,&a); getchar();/消化换行符 for(j=1;j=a;j+) printf(请输入需要删除的歌曲名%d:n,j); gets(str); if(fp=fopen(KTV.txt,r)=NULL) printf(Can not find this file!n); exi
12、t(0); for(i=0;inum;i+) if(strcmp(,str)=0) flag=1; t=i; break; fclose(fp);if(flag) num-; remove(xt.filename);/删除歌词文件 for(i=t;inum;i+) strcpy(,xi+1.name); strcpy(xi.singer,xi+1.singer); strcpy(xi.filename,xi+1.filename); remove(KTV.txt); if(fp=fopen(KTV.txt,w)=NULL) printf(Can not find this file!n); exit(0); for(i=0;inum;i+) fprintf(fp,%s %s %sn,,xi.singer,xi.filename); printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 认证机构资质审批领域目录、通要求、核查报告(模板)
- 创业灵感测试题及答案
- 成人考试试题及答案
- 2026苏教版六年级数学上册第五单元第7课时《组合图形的面积》教案
- 统编版必修上册《立在地球边上放号》等五四诗歌联读教案-以青春之名奏时代强音
- 护理精神:照亮患者康复之路
- 护理核心制度本土化实践
- 护理实践中的护理管理
- 护理老年护理学知识
- 护理技术中的安宁疗护
- 安全监理策划方案
- 2026年完整版临床三基考试试题及答案
- 2026年技术转移经纪人人才培养与职业资质认定知识考核
- (2026版)建筑施工特种作业人员管理规定课件
- 林长制六项工作制度
- 检验机构轮岗工作制度
- CTT4000用户手册(维护分册)V1.1
- 2024年广东阳江市交通投资集团有限公司招聘笔试参考题库含答案解析
- QCC点焊良率改善提案
- 药品调剂基础:中药处方调剂实操
- 公共体育场田径跑道和足球场建设项目可行性研究报告
评论
0/150
提交评论