- 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(); /*返回*/
}
删除模块
[分析]
功能是在显示所有歌曲信息后,用户输入要删除歌曲的名字,根据歌名查找记录并删除。
删除的一般做法是将数据从文件中删除,删除位置后面的记录往前挪。
[流程图]
显示所有歌曲记录,看用户需要删除哪个
显示所有歌曲记录
您可能关注的文档
- 法国菜的烹饪技巧.docx
- 法国签证所需资料.docx
- 法国西电发电机组中文说明.docx
- 法拉利车型介绍.docx
- 法兰的质量控制及焊接变形.docx
- 法兰螺栓紧固顺序说明条螺栓.docx
- 法人代表证明书模板.docx
- 法人借款合同通用版.docx
- 法制安全教育讲座.docx
- 法制专题讲座主持词怎么写.docx
- 2026年短视频内容创作情感共鸣点精准捕捉调研.pptx
- 2026河北秦皇岛市教育局秦皇岛市第五中学等2所学校招聘教师(第二批)2人备考题库及答案详解(易错题.docx
- 2025年石家庄铁道大学四方学院马克思主义基本原理概论期末考试真题汇编.docx
- 2026河北秦皇岛市教育局秦皇岛市第五中学等2所学校招聘教师(第二批)2人备考题库及答案详解(夺冠系.docx
- 2026河北秦皇岛市教育局秦皇岛市第五中学等2所学校招聘教师(第二批)2人备考题库(含答案详解).docx
- 2026年Q1新媒体促销营销:年货节内容种草与转化.pptx
- 2026河北秦皇岛市教育局秦皇岛市第五中学等2所学校招聘教师(第二批)2人备考题库及答案详解参考.docx
- 2026河北秦皇岛市教育局秦皇岛市第五中学等2所学校招聘教师(第二批)2人备考题库及完整答案详解一套.docx
- 牛胎衣不下的综合治疗措施.docx
- 2026河北秦皇岛市教育局秦皇岛市第五中学等2所学校招聘教师(第二批)2人备考题库及答案详解1套.docx
原创力文档

文档评论(0)