c语言课程设计歌曲管理,C语言课程设计-歌曲信息管理系统.doc

C语言课程设计实习报告

专 业:

学 号:

班级序号:

姓 名:

指导教师:

C语言程序设计报告

(实习日期: 2010-8至2010-9)

一、C语言课程设计的目的:?

高级语言课程设计是学习完《高级语言程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为同学提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼同学的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。

题目:歌曲信息管理系统

需求分析:制作一个歌曲信息管理系统使之有以下功能

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

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

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

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

5 用文件存储信息。

三、 总体设计

根据分析,整个系统可设计为以下4个模块:

信息输入模块,删除模块,浏览模块。查找模块。

(图 1)

信息输入:依次按顺序结构输入歌曲名,作者,演唱者,发行年月。

(图 2)

信息删除:根据输入的歌曲名,作者,演唱者等一项可以删除对应的其他项

( 图 3)

信息浏览:可以直接浏览歌曲,作者,演唱者,发行年月。

(图4)

信息查找:可以查找歌曲,作者等。并且可以选择查找的方式:按作曲者、按演唱者、按歌曲名字。

(图 5)

退出模块点击直接退出

四 详细设计

1 结构体

#include

#include

#include

#include

int i=0;

struct system

{

char author[20];

char singer[20];

char time[20];

char name[20];

} dan[100];

2 主函数

主函数的设计提供数据输入、数据处理和数据输出以及各种函数的调用。其中各功能模块用菜单方式选择;另外,部分菜单也可以写成函数。

void main()

{

void menu();

void function1();

void function2();

void function3();

void function4();

menu();

return;

}

题目对应具体的程序如下:

main()

{

int a;

while(1)

{

printf("\t\tWelcome to the song'system!------by long\n");

printf("\t\t******************^o^ MENU ^o^*******************\n\n");

printf("\t\t\t(1).Enter\n");

printf("\t\t\t(2).Delete\n");

printf("\t\t\t(3).Browse\n");

printf("\t\t\t(4).Search\n");

printf("\t\t\t(0).exit\n");

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

printf("\n\t\t\tPlease choose the number(0-4):");

scanf("%d",&a);

if(a==0) break;

switch(a)

{

case 1:enter();break;

case 2:delete();break;

case 3:browse();break;

case 4:search();break;

}

}

}

主函数的流程图如图6

(图 6)

3 各功能模块设计

(1)输入模块

void enter()

{

int j;

char c[2];

FILE *fp;

if((fp=fopen("data.txt","w"))==NULL)

{

printf("Can not open the file!\n");

exit(0);

}

for(j=0;j

{

fwrite(&dan[

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值