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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言课程设计音频信息管理系统修改自学生成绩管理系统.docx

1、c语言课程设计音频信息管理系统修改自学生成绩管理系统一 引言在现在的日常生活中,人们对娱乐的要求越来越高。因为随着科技的突飞猛进,娱乐形式、娱乐设备也越来越多。而听音乐则是其中一种十分重要而实现起来又十分简单的娱乐形式,所以说,音乐无处不在。因此,我们对音乐的管理就十分有必要了。现在的生活节奏越来越快,人们想要更加方便而快捷的管理自己的音乐,节省自己的时间。而目前我们学习过如何使C语言来进行编程,所以就有了这个简单的设计。随着各种便携式音乐播放器以及电子计算机的普及,人们所拥有的音乐越来越多,风格,演唱者,各不相同,而人们在不同的心情,不同的天气时对音乐的爱好是不同的。人们需要更加快捷而方便的

2、管理自己的音乐,让自己的音乐列表井然有序。可以根据不同的场合,不同的心情快速的找到自己所需要的音乐。让音乐匹配自己的心情,通过音乐来表达自己的感受是很多人习惯。音乐是一种娱乐,同时也是一种特别的表达方式。歌手通过歌曲来表达自己的某种情感,产生与听众的共鸣。当听众想要表达相同的情感时,直接就可以引用自己听过的歌。我们让这种娱乐,或者更着重于对自己情感的表达实现起来更加容易。 运用音乐管理程序可以更加方便而快捷的管理自己喜欢的音乐,省去了繁琐的过程,让听音乐更加方便快捷,节省自己的宝贵时间。音乐管理是每个音乐播放器必须实现的功能之一。随着各个电子厂商退出自己的便携是播放器,只有高效便捷的的音乐管理

3、方式才能在竞争中脱颖而出。好的音乐管理程序是对消费者的负责,更是对自己责任的负责。以前的操作系统等系统软件主要是由汇编语言编写的(包括UNIX操作系统在内)。由于汇编语言指令时机器所不能直接识别、理解和执行的,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如,对内存地址的操作、位操作等)。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。本次课设我选择歌曲管理程序的设计,考察我对结构体,数组的操作,以及C语言算法的掌握。从而让我们把书上学习到的东西与实际情况联系起来,让

4、我们对用C语言进行编程有进一步的了解和深刻的认识。课设要求要求使用C语言进行编程,并且尽可能学习其他语言来穿插在程序中,使程序进一步简单而实用、方便。要求在程序中使用结构体、数组等操作,并且能完整显示出其各种功能。所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识,这是对整体观念的一种锻炼。如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。其主要实现录入、修改、查找、删除、显示等功能。二 程序总体设计2.1程序功能(1)增加歌曲信息 (2)查看歌曲信息 (3)查找 (4)删除 (5)修改 (6)作者 (7)保存 (8)退出 2.2程序功能图 图1 程序功能图2

5、.3主函数流程图 0 0 非0 0 非0 0 0 0 非0 0 非0 非0 非0 图2 主函数流程图主函数源代码:void main()int choose=0;FILE *fp=NULL;char yesorno;if(fp=fopen(C:/list.dat,rb)=NULL)printf(n=文件不存在,是否要创建一个?(y/n)n);scanf(%c,&yesorno);if(yesorno=y|yesorno=Y) fp=fopen(C:/list.dat,wb);fclose(fp);elseexit(0);elseNumber=dq(st); /要是文件已经有数据 将数据初始化到

6、数组中system(cls);while(1) display();printf( =请选择:);scanf(%d,&choose);system(cls);switch(choose)case 0: exit(0);/退出 break; case 1: add();back();/增加曲目列表break; case 2: lookover();back();/查看曲目列表break; case 3: find();back();/ 查找 break;case 4: del(); back();/删除 break;case 5: change();back();/修改break; case 6

7、:author();back();/作者break;case 7:keepa();back();/保存 break;default:if (choose7)printf (按回车继续);break;fflush(stdin); getchar();system(cls);/*-保存*/void keepa()printf(t=程序在运行时已自动保存.n);/*-返回*/void back()printf(t=按Enter键返回主菜单n);三 程序详细设计3.1 增加歌曲信息函数的实现增加记录前如图3所示。图3 增加记录前效果图输入一条记录信息:选择1,回车。输入记录如图4所示。图4 输入记录效

8、果图增加后如图5所示。图5 增加记录后效果图增加函数代码流程图,如图6所示。图6 增加函数流程图增加源代码:增加函数源代码:void add()int numberTemp=0;int i=0;struct list temp; /临时保存信息printf(请输入要增加歌曲信息的个数:);scanf(%d,&numberTemp);for(i=0;inumberTemp;i+)printf(输入第%d个歌曲信息n,i+1);printf(歌名:);scanf(%s,temp.name);printf(歌手:);scanf(%s,temp.singer);printf(风格:);scanf(%s

9、,&temp.style);stNumber+=temp; /将刚添加的写入到数组keep(&temp); /将刚添加的写入到文件printf(添加成功n);/*-保存*/void keep(struct list *st)FILE *fp=NULL;fp=fopen(C:/list.dat,ab+);fwrite(st,sizeof(struct list),1,fp);fclose(fp);3.2 查看歌曲信息函数的实现查看记录前如图7所示。图7 查找记录前效果图输入一条记录信息:如图8所示:图8 输入记录效果图查看记录后如图9所示。图9 查找记录后效果图查看函数代码流程图,如图10所示。

10、 非0图10 查看函数流程图查看源代码:void lookover()int i=0;printf(以下是歌曲列表n);printf(t歌名t歌手t风格n);for(i=0;iNumber;i+)printf(t%st%st%sn,sti.name,sti.singer,sti.style);3.3 查找函数的实现查找记录前如图11所示。图11 查找记录前效果图输入一条记录信息:选择3,回车如图12所示。图12 输入记录效果图查找记录后如图13所示。图13 查找记录后效果图查找函数代码流程图,如图14所示。图1图14 查找函数流程图查找源代码:void find()int n=0;printf

11、(1 按歌名查找n);printf(2 按歌手查找n); scanf(%d,&n);switch(n)case 1: findbyname();break;case 2: findbysinger();break;default: printf(输入有误,结束!n);break; void findbyname()/按歌名查找 char name60;int i=0;printf(请输入要查找歌曲名称:);scanf(%s,name);system(cls);printf(t歌名t歌手t风格n);for (i=0;iNumber;i+)if (strcmp(name,sti.name)=0)p

12、rintf(t%st%st%sn,sti.name,sti.singer,sti.style); void findbysinger()/按歌手查找 char singer60;int i=0;printf(请输入要查找的歌手:);scanf(%s,singer);system(cls);printf(t歌名t歌手t风格n);for (i=0;iNumber;i+)if (strcmp(singer,sti.singer)=0)printf(t%st%st%sn,sti.name,sti.singer,sti.style);3.4 删除函数的实现删除记录前如图15所示。图15 删除记录前效果图

13、输入一条记录信息:选择4,回车后, 如图16所示:图16 输入记录效果图选择1,如图17图17 选择删除方法后效果图未删除前的列表,如图18图18 未删除前的列表 删除后的列表,如图19图19 删除后的列表选择其他删除方法效果类似。删除函数代码流程图,如图20所示。图20 删除函数流程图删除源代码:void del()/删除 int n=0;printf(1 按歌名删除n);printf(2 按歌手删除n);printf(3 按风格删除n);scanf(%d,&n);switch(n)case 1: songdele();break;case 2: singerdele();break;cas

14、e 3: styledele();void songdele()/按歌名删除 FILE *fp=NULL;char name60;int i=0;int j=0;printf(请输入要删除歌曲名称:);scanf(%s,name);for(i=0;iNumber;i+)if (strcmp(name,sti.name)=0) /如果查找到就删除for (j=i;jNumber-1;j+)stj=stj+1;Number-;/将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了fp=fopen(C:/list.dat,wb);for (i=0;iNumber;i+)fwrite(&st

15、i,sizeof(struct list),1,fp);fclose(fp);printf(删除成功;n);void singerdele()/按歌手删除 FILE *fp=NULL;char singer60;int i=0;int j=0;printf(请输入要删除歌手姓名:);scanf(%s,singer);for(i=0;iNumber;i+)if (strcmp(singer,sti.singer)=0) /如果查找到就删除for (j=i;jNumber-1;j+)stj=stj+1;Number-;/将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了fp=fopen

16、(C:/list.dat,wb);for (i=0;iNumber;i+)fwrite(&sti,sizeof(struct list),1,fp);fclose(fp);printf(删除成功;n);void styledele()/按风格删除 FILE *fp=NULL;char style60;int i=0;int j=0;printf(请输入要删除的歌曲风格:);scanf(%s,style);for(i=0;iNumber;i+)if (strcmp(style,sti.style)=0) /如果查找到就删除for (j=i;jNumber-1;j+)stj=stj+1;Numbe

17、r-;/将剩余数据写入文件 重新一写的方式打开文件 把以前的数据擦除了fp=fopen(C:/list.dat,wb);for (i=0;iNumber;i+)fwrite(&sti,sizeof(struct list),1,fp);fclose(fp);printf(删除成功;n);3.5修改函数的实现修改记录前如图21所示。图21 修改记录前效果图输入一条记录信息:如图22所示:图22 输入记录效果图修改记录后如图23所示。图23 修改记录后效果图修改函数代码流程图,如图24所示。图24 修改函数流程图修改源代码:void change()int way=0;FILE *fp=NULL;

18、char name60;int i=0;int changeIndex=0;int index=0;printf(请输入要修改的歌曲名称:);scanf(%s,name);for (i=0;iNumber;i+)if (strcmp(name,sti.name)changeIndex=i; /保存要修改的歌曲的下标printf(t%st%st%snn,stchangeIndex.name,stchangeIndex.singer,stchangeIndex.style);printf(请重新输入此歌曲信息);printf(歌名:);scanf(%s,stchangeIndex.name);pr

19、intf(歌手:);scanf(%s,stchangeIndex.singer);printf(风格:);scanf(%s,stchangeIndex.style);/信息修改后重新更新文件里面的数据 以保持数据一致性fp=fopen(C:/list.dat,wb);for (i=0;i按Enter键返回主菜单n);四 总结通过C语言程序课程设计,是我对C语言有了更深一步的认识。编程是一件十分锻炼人的工作。编程要首先对所做的事有一个整体上的把握,编出的程序要有效率,有更简单的代码实现同样的功能。编程是一件锻炼人耐心的事情。编程遇到问题时要谦虚的向别人请教。编程对于自己是毫无拘束的,但对于别人是

20、要清晰明了的。这也是一种交流。 课程设计是把我们所学的理论知识进行系统的总结并运用于实际的良好机会,有利于我们运用理论知识解决实际问题的能力,进而加强了我们对知识认识的实践能力,巩固我们的理论知识,加深我们对知识的认识。这次课设我遇到了好多困难和麻烦,得到了老师的帮助和指导,才能使这次课设顺利进行下去。 通过本次论文设计,我初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,这为以后的大学毕业设计论文打下了一个初步的基础。五 参考文献1 凯利(美),波尔A(美);C语言教程机械工业出版社,20072 刘振安 刘燕君C 程序设计教程机械工业

21、出版社,20083 徐宝文, 李志C 程序设计语言北京:机械工业出版社,2000附录附程序源代码#include #include #include struct listchar name60;char singer60;char style60;/*-*/int dq(struct list st);void display();/显示void keep(struct list st);void add(); /*增加*/void lookover(); /*查看*/void find();/*查找*/void findbyname(); /*歌名查找*/void findbysinger

22、(); /*歌手查找*/void del(); /*删除*/void songdele();/*按歌名删除*/void singerdele();/*按歌手删除*/void styledele();/*按歌曲风格删除*/void change(); /*修改*/void keepa();void back();void author();struct list st300; /这个数组用来保存所有的歌曲信息 和文件里面的一致int Number=0; /记录总的歌曲数目 也就是数组/文件里面的歌曲数目/*-主函数*/void main()int choose=0;FILE *fp=NULL;c

23、har yesorno;if(fp=fopen(C:/list.dat,rb)=NULL)printf(n=提示:文件不存在,是否要创建一个?(y/n)n);scanf(%c,&yesorno);if(yesorno=y|yesorno=Y) /这里仅为了建立文件fp=fopen(C:/list.dat,wb);fclose(fp);elseexit(0);elseNumber=dq(st); /要是文件已经有数据 将数据初始化到数组中system(cls);while(1) display();printf( =请选择:);scanf(%d,&choose);system(cls);switch(choose)case 0:

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

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