歌曲信息管理.docxVIP

  • 2
  • 0
  • 约9.23千字
  • 约 20页
  • 2023-03-04 发布于上海
  • 举报
C 语言课程设计 院系:工程学院姓名: 张行 学号:20051001950 班号指导教师:王老师 日期:2007 年 9 月 一. 题目要求 制作一个歌曲信息管理系统功能: 歌曲信息包括歌曲名,作者,演唱者,发行年月等) 可以对歌曲信息进行输入,删除,浏览。 可以查询根据歌曲名,作者,演唱者歌曲信息。 可以提供按作者分组显示功能。 用文件存储信息。 二.需求分析 根据题目要求,由于歌曲信息数据以文本文件的方式存放,所以应提供文件的输入、输出等操作;在程序中需要浏览歌曲的信息,应提供显示、查询等操作 (其中查询方式可以按歌曲名、作者、演唱者或日期进行查询)。并且要提供 可以按作者进行分组的方法;另外还应提供键盘式选择菜单以实现功能选择。 三. 总体设计 分析一下整个系统,根据上面的需求分析,可以将系统设计分为以下七大模块。 输 删 浏 查 分 添 退 入 除 览 找 组 加 出 歌曲信息管理四. 详细设计 歌曲信息管理 主函数 主函数一般设计比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 [流程图] 显示一系列功能选项输入 显示一系列功能选项 输入 n,判Y 断 n 是否是 1-7 Y 根据 n 的值调用各功能模块函数 [程 序] void menu() /*主界面*/ {int k,w1; do {puts(\t\t*******************MENU**********************\n\n); puts(\t\t\t\t 1.enter); puts(\t\t\t\t 2.delete); puts(\t\t\t\t 3.browse); puts(\t\t\t\t 4.search); puts(\t\t\t\t 5.devide); puts(\t\t\t\t 6.add); puts(\t\t\t\t 7.exit); puts(\n\n\t\t*********************************************\n); printf(choice your number(1-7):[ ]\b\b); scanf(%d,k); if(k1||k7) /*对选择的数字作判断*/ {w1=1; getchar(); } else w1=0; }while(w1==1); switch(k) {case 1:enter();break; /*输入模块*/ case 2:delet();break; /*删除模块*/ case 3:browse();break; /*浏览模块*/ case 4:search();break; /*查找模块*/ case 5:devide();break; /*分组模块*/ case 6:add();break; /*添加模块*/ case 7:exit(0); } } main() /*主函数*/ { menu(); } 各功能模块设计 (1)输入模块 [分析] 数据信息存放在文件中,一条记录对应一个歌曲,即符合习惯也方便管理。现在要考虑的问题是一条歌曲的记录从文件读进来后以什么形式存放? 我们很容易知道存放若干个歌曲就用结构体数组。 struct song { char name[20]; /*歌曲名*/ char creater[20]; /* 作 者 */ char singer[20]; /*演唱者*/ char date[6]; /*日期*/ }so[N]; [注意] so[N]中的 N 为歌曲数目,程序中采用宏定义方式,可以随时对 N 进行修改。本程序宏定义#define N 100 [流程图] 输入用户要输入歌曲的 输入用户要输入歌曲的 i 从 0 到 n-1 调用函数 input(i) i!=0 保存调用函数save(n) [程序] enter() /*输入模块*/ { int i,n; printf(How many songs (0-%d)?:,N-1); scanf(%d,n); /*要输入的歌曲数目*/ printf(\n Enter data now\n\n); for(i=0;in;i++) { printf(\n input %dth song record.\n,i+1); input(i); /*调用输入函数*/ } if(i!=0) save(n); /*调用保存函数*/ printf_back(); /*返回*/ } 删除模块 [分析] 功能是在显示所有歌曲信息后,用户输入要删除歌曲的名字,根据歌名查找记录并删除。 删除的一般做法是将数据从文件中删除,删除位置后面的记录往前挪。 [流程图] 显示所有歌曲记录,看用户需要删除哪个 显示所有歌曲记录

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档