ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:98.34KB ,
资源ID:6286198      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6286198.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言课程设计ktv点歌系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言课程设计ktv点歌系统.docx

1、c语言课程设计ktv点歌系统 沈 阳 航 空 航 天 大 学 课程设计 学 号 班 级 04070101 姓 名 指导教师 2011 年 9 月 28 日沈阳航空航天大学课程设计任务书学院:自动化学院 专业:测控技术与仪器 班级:04070101KTV点歌系统模拟2一、课程设计时间20112012第1学期第4周,共计1周,20学时。二、课程设计内容请你模范ktv点歌系统,用C语言编写软件完成以下任务:1.读取功能:从song.txt 文件中读取歌曲的信息;2.查看功能:允许用户浏览所用的歌曲,查看某个歌手演唱的所用歌曲;3.删除功能:删除歌曲。三、课程设计要求1.程序质量:贯彻结构化的程序设计

2、思想。用户界面友好,功能明确,操作方便。用户界面中的菜单至少应包括:“读取”、“查看”、“删除”、“退出”4项。代码应适当缩进,并给出必要的注释,以增强程序的可读性。 2.课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个常用的ktv点歌系统,可以让用户根据自己的喜好进行添加、查看、删除等操作。系统应该具有便捷、稳定、功能齐全的特点。1. 便捷性分析系统管理的歌曲涉及到歌曲的各种信息,数据

3、量较大且是一种基础性数据,能够为用户提供许多快捷操作,且操作方便。2. 稳定性分析该系统比较稳定,也比较人性化,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3. 主要功能分析1歌曲的添加:允许用户输入添加歌曲的数量、歌曲名、歌手名、专辑名、歌曲流派。同时,系统会自动把添加歌曲信息保存下来。用户由于疏忽录入的非法数据,能够及时提示并更正。2歌曲的查看:用户可以根据自己的需求,输入歌曲名、歌手名、专辑名、歌曲流派中的一项或几项其查看自己想要的歌曲。3歌曲的删除:用户在查看歌曲之后,可以根据自己的喜好,删除系统原有的歌曲。用户只需输入歌曲名就可以删

4、除歌曲。删除之后系统自动更新歌曲库。二、设计分析 主要有5个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:1、程序总体结构图图1程序总体结构图2、主要功能模块框图1读取歌曲函数choice图2读取流程图2添加歌曲函数add 图3 添加流程图3删除歌曲函数dele 图4删除流程图三、主要界面截图图1 程序主界面图2 数据修改界面四、技术要点1、结构体的应用用结构体来定义描述歌曲编号、歌曲名、歌手名、专辑名、歌曲流派。具体的定义如下:struct song_info int songnum; char songname15; char songername15; cha

5、r ablumname15; char type10; 所定义的结构体主要用于定义数组。2、文件操作包括了文件的写入和读取两个方面。文件的写入操作,用于保存录入的歌曲的有关数据,也用于保存所修改的数据。3、多分支选择结构在主函数中使用switch语句,利用自定义函数,实现查看、添加、删除歌曲的功能。五、个人总结 刚开始做的时候,我基本上摸不找头脑,不知道从何处下手。后来,我通过查资料和请教老师,慢慢地学会许多,开始自己做。虽然这期间,我遇到了很多很多的困难,但我收获很多。这次课程设计使我对C语言有了更深的理解,使我知道原来日常生活中的许多系统都是以C语言为基础的,C语言在生产生活应用十分广泛。

6、同时他也锻炼我的逻辑思维能力,提高我解决实际问题的能力。六、参考文献1 谭浩强C程序设计北京:清华大学出版社,2005七、源程序#include#include#include#include#define N 30int i,j,k;FILE *fp; struct song_info int songnum; char songname15; char songername15; char ablumname15; char type10;typedef struct song_info SINFO;SINFO *pso;void choice(SINFO *pso) char a15;

7、int q,t; FILE *fp; printf(请输入要查看歌手的名字:); scanf(%s,a); fp=fopen(d:song.txt,rt); if(fp=NULL) printf(the file :song.txt not found!); exit(-1); for(k=0;(!feof(fp);k+) fread(&psok,sizeof(SINFO),1,fp); fclose(fp); t=0; for(q=0;qk;q+) if(!strcmp(a,psoq.songername) if(t=0) printf(该歌手有以下歌曲:n); t+; printf(%sn

8、,psoq.songname); if(t=0) printf(本系统还无该歌手歌曲,请增添!n); fclose(fp);void add(SINFO *pso) FILE *fp; fp=fopen(d:song.txt,a+); printf(请你输入要增添歌曲的数量:); scanf(%d,&j); fflush(stdin); for(i=0;ij;i+) printf(这是要增添的第%d首歌的信息:n,i+1); printf(歌曲编号是:); scanf(%d,&psoi.songnum); fflush(stdin); printf(歌曲名字是:); gets(psoi.son

9、gname); fflush(stdin); printf(歌手名字是:); gets(psoi.songername); fflush(stdin); printf(专辑的名字是:); gets(psoi.ablumname); fflush(stdin); printf(歌曲流派是:); gets(psoi.type); fflush(stdin); system(cls); fwrite(&psoi,sizeof(SINFO),1,fp); fclose(fp); printf(歌曲增添成功!n);void show(SINFO *pso) FILE *fp; fp=fopen(d:so

10、ng.txt,rt); if(fp=NULL) printf(the file :song.txt not found!); exit(-1); printf(所有歌曲信息如下:n); for(k=0;!feof(fp);k+) fread(&psok,sizeof(SINFO),1,fp); fclose(fp); printf(%s%15s%20s%15s%15s,歌曲编号,歌名,歌手,专辑,歌曲流派); printf(n); for(i=0;ik-1;i+) printf(%03d%20s%20s%15s%15s,psoi.songnum,psoi.songname,psoi.songe

11、rname,psoi.ablumname,psoi.type); printf(n); void dele(SINFO *pso) char a15; int q; FILE *fp; printf(请输入要删除歌曲的名字:); scanf(%s,a); fp=fopen(d:song.txt,rt); if(fp=NULL) printf(the file :song.txt not found!); exit(-1); for(k=0;(!feof(fp);k+) fread(&psok,sizeof(SINFO),1,fp); fclose(fp); for(q=0;qk;q+) if(

12、!strcmp(a,psoq.songname) memset(&psoq,0,sizeof(SINFO); fp=fopen(d:song.txt,w+); for(k=0;kq;k+) fwrite(&psok,sizeof(SINFO),1,fp); fclose(fp); printf(删除信息成功!n);void out() char a; printf(确认退出系统?(y/n); scanf(%c,&a); if(y=a) exit(0);main() SINFO *pso; loop: printf( 欢送使用KTV选歌系统 n); printf( 1.选歌 n); printf

13、( 2.新增歌曲 n); printf( 3.查看歌曲信息 n); printf( 4.删除歌曲 n); printf( 5.退出 n); printf(请选择功能: ); scanf(%d,&i); fflush(stdin); pso=(SINFO*)malloc(N*sizeof(SINFO); memset(pso,0,(N*sizeof(SINFO); system(cls); switch(i) case 1:choice(pso); goto loop; break; case 2:add(pso); goto loop; break; case 3:show(pso); goto loop; break; case 4:dele(pso); goto loop; break; case 5:out(); goto loop; break; default:printf(输入错误!请重新选择!n); goto loop;

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

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