【精品】歌曲信息管理

【精品】歌曲信息管理

ID:45556315

大小:368.04 KB

页数:25页

时间:2019-11-14

【精品】歌曲信息管理_第1页
【精品】歌曲信息管理_第2页
【精品】歌曲信息管理_第3页
【精品】歌曲信息管理_第4页
【精品】歌曲信息管理_第5页
资源描述:

《【精品】歌曲信息管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言课程设计院系:工程学院姓名学号班号张行2005100195005205227扌旨导教师:王老师日期:2007年9月歌曲信息管理一.题目要求制作-•个歌曲信息管理系统功能:1)歌曲信息包括歌曲名,作者,演唱者,发行年月等)2)可以对歌曲信息进行输入,删除,浏览。3)可以查询根据歌曲名,作者,演唱者歌曲信息。4)可以提供按作者分组显示功能。5)用文件存储信息。二.需求分析根据题目要求,由于歌曲信息数据以文本文件的方式存放,所以应提供文件的输入、输出等操作;在程序中需要浏览歌曲的信息,应提供显示、查询等操作(其中查询方式可以按歌曲名、作者、演唱者或日期进行查询)

2、。并且要提供可以按作者进行分组的方法;另外还应提供键盘式选择菜单以实现功能选择。三.总体设计分析一下整个系统,根据上面的需求分析,可以将系统设计分为以下七大模块。四.详细设计1.主函数主函数一般设计比较简洁,只提供输入,处理和输出部分的函数调用。其屮齐功能模块用菜单方式选择。[流程图][程序]voidmenu(){intk,wl;do/*主界面*/{puts(ntt*******************MENU**********************puts("tttt2.delete");puts("tttt3.browse");put

3、s(Htttt4.search");puts(ntttt5.devideH);puts(“tttt6・add");puts("tttt7.exit");puts(ntt*********************************************”)•printf(Hchoiceyournumber(l-7):[]bbH);scanf(H%dn,&k);if(k

4、

5、k>7){wl=l;getchar();}elsewl=0;}while(wl==l);switch(k){caseter();brea

6、k;case2:delet();break;case3:browse();break;case4:search();break;case5:devide();break;case6:add();break;case7:exit(0);严对选择的数字作判断*//*输入模块*//*删除模块*/厂浏览模块*/厂查找模块*//*分组模块*//*添加模块*/main(){menu();}/*主函数*/2.各功能模块设计(1)输入模块[分析]数据信息存放在文件中,一条记录对应一个歌曲,即符合习惯也方便管理。现在要考虑的问题是一条歌曲的记录从文件读进來后以什么形式存放?我们很

7、容易知道存放若干个歌曲就用结构体数组。structsong{charname[20];/*歌曲名*/charcreater[20];/*作者*/charsinger[20];/*演唱者*/chardate[6);/*日期*/}so[N);[注意]so[N]中的N为歌曲数H,程序中采用宏定义方式,可以随时对N进行修改。本程序宏定义#defineN100[流程图][程序]enter()/*输入模块*/{inti,n;printf("Howmanysongs(0・%d)?:",N・l);scanfC^d'^&n);/*要输入的歌曲数Id*/printf('*Ent

8、erdatanow");for(i=0;ivn;i++){printf("input%dthsongrecord."zi+l);input(i);/*调用输入函数*/}if(i!=0)save(n);/*调用保存函数*/printf_back();/*返回*/}~(2)删除模块[分析]功能是在显示所有歌曲信息后,用户输入要删除歌曲的名字,根据歌名查找记录并删除。删除的一般做法是将数据从文件屮删除,删除位置后面的记录往前挪。[流程图]【程序】voiddelet()/*删除模块*/{structsongs;inti,n,k,wO二l,wl,w2二0;

9、n=load();/*调用加载函数*/do{k=-l;printf_face();/*调用显示数据结构项目函数*/for(i=0;ivn;i++){if((i!=0)&&i%10==0){printf("Rememberwhichneededdelete.passanykeytocontiune");getchar();puts(HH);}printf_one(i);/*调用显示一个记录函数*/}do{printf("EnterName.thatyouwanttodelete!Name:");scanf(”%s”,&s.name);for

10、(i=0;ivn;i++

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。