歌曲信息管理系统-通用完整版

  • 格式:doc
  • 大小:1.66 MB
  • 文档页数:77

下载文档原格式

  / 77
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

歌曲信息管理系统-通用完整版

中国地质大学

本科生课程论文封面

C语言课程设计

课程名称计算机高级语言课程设计(C)

教师姓名刘刚

本科生姓名

本科生学号***********

本科生专业机械设计制造及其自

所在院系机械电子信息学院

类别: C. 本科生

日期: 2013.07.11

注:1、无评阅人签名成绩无效;

2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;

3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。

目录

1.题目要求 (1)

2.需求分析 (1)

3.总体设计 (1)

4.详细设计 (2)

5.上机操作 (32)

6.总结 (43)

7.致谢 (44)

参考文献 (44)

1.题目要求

制作一个歌曲信息管理系统,要求提供以下功能。

1)歌曲信息包括歌曲名,作者,演唱者,发行年月等。

2)可以对歌曲信息进行输入,删除,浏览。

3)可以查询根据歌曲名,作者,演唱者歌曲信息。

4)可以提供按作者分组显示功能。

5)用文件存储信息。

2.需求分析

根据题目要求,由于歌曲信息数据以文本文件的方式存放,所以应提供文件的输入、输出等操作;在程序中需要浏览歌曲的信息,应提供显示、查询等操作(其中查询方式可以按歌曲名、作者、演唱者或日期进行查询)。并且要提供可以按作者进行分组的方法;另外还应提供键盘式选择菜单以实现功能选择。

3.总体设计

歌曲信息管理系统

输入

第1页

第2页

4.详细设计 【主函数】:主函数一般设计比较简洁,只提供输入,处理和输出部分的函数调用。,本系统主函数只起到一个将系统载入到主菜单的作用。至于系统内其他功能的实现,则是通过主函数下的主菜单来实现的

例如

int main() /*主函数*/

{

menu();

return 0;

}

下面是菜单栏实现系统功能的流程图

继续时

【菜单界面】:本系统中,主菜单是实现系统功能的主要媒介,同样也是整个系统的核心所在,进入系统是首先进入菜单界面,然后根据菜单上的提示进行功能的选取从而进行正常使用。

【程序】: /**************************主界面

删除退

浏览查找分组添加 运行系统,进由菜单提示输入1-7功能完成指定功能,决

***********************/

void menu()

{

i nt k,w1;

d o

{

system("cls");

puts("\t\t*******************主菜单********************\n");

puts("\t\t******************************** *************\n");

puts("\t\t 欢迎来到歌曲信息管理系统\n");

puts("\t\t******************************** *************\n");

puts("\t\t\t\t 1.歌曲录入");

puts("\t\t\t\t 2.歌曲删除");

puts("\t\t\t\t 3.歌曲浏览");

第3页

puts("\t\t\t\t 4.歌曲查找");

puts("\t\t\t\t 5.作者分组显示");

puts("\t\t\t\t 6.添加新歌");

puts("\t\t\t\t 7.退出");

puts("\n\t\t****************************** ****************\n");

puts("\t\t

开发人:赵彦斌\n");

printf("请选择您所需要的功能(1-7):[ ]\b\b");

scanf("%d",&k);

if(k<1||k>7) //对选择的数字作判断*/

{w1=1;

getchar();

}

else w1=0;

}while(w1==1);

s witch(k)

第4页

{case 1:enter();break; //输入模块

c ase 2:delet();break; //删除模块

c ase 3:browse();break; //浏览模块

c ase 4:search();break; //查找模块

c ase 5:devide();break; //分组模块

c ase 6:add();break; //添加模块

c ase 7:exit(0);

}

}

【输入模块】:数据信息存放在文件中,一条记录对应一个歌曲,即符合习惯也方便管理。现在要考虑的问题是一条歌曲的记录从文件读进来后以什么形式存放?

这里选择应用下面的结构体

struct song

{

char name[20]; //歌曲名*/

char author[20]; //作者*/

char singer[20]; //演唱者*/

char up_date[10]; //日期*/

}so[N];

需要注意的是:so[N]中的N为歌曲数目,程序中采用宏定义方式,可以随时对N进行修改。本程序宏定义#define N 100

特别注意!song.txt文件中若已经有文件,再次输入时,文件内容将被清空,若仍要使用,请选择歌曲添加!

【流程图】