C语言课程设计歌曲信息管理系统Word文档格式.docx

上传人:b****3 文档编号:14358237 上传时间:2022-10-22 格式:DOCX 页数:27 大小:511.21KB
下载 相关 举报
C语言课程设计歌曲信息管理系统Word文档格式.docx_第1页
第1页 / 共27页
C语言课程设计歌曲信息管理系统Word文档格式.docx_第2页
第2页 / 共27页
C语言课程设计歌曲信息管理系统Word文档格式.docx_第3页
第3页 / 共27页
C语言课程设计歌曲信息管理系统Word文档格式.docx_第4页
第4页 / 共27页
C语言课程设计歌曲信息管理系统Word文档格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C语言课程设计歌曲信息管理系统Word文档格式.docx

《C语言课程设计歌曲信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计歌曲信息管理系统Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。

C语言课程设计歌曲信息管理系统Word文档格式.docx

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

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

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

5用文件存储信息。

三、总体设计

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

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

查找模块。

(图1)

信息输入:

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

(图2)

信息删除:

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

(图3)

信息浏览:

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

(图4)

信息查找:

可以查找歌曲,作者等。

并且可以选择查找的方式:

按作曲者、按演唱者、按歌曲名字。

(图5)

退出模块点击直接退出

四详细设计

1结构体

#include<

stdio.h>

#include<

stdlib.h>

malloc.h>

string.h>

inti=0;

structsystem

{

charauthor[20];

charsinger[20];

chartime[20];

charname[20];

}dan[100];

2主函数

主函数的设计提供数据输入、数据处理和数据输出以及各种函数的调用。

其中各功能模块用菜单方式选择;

另外,部分菜单也可以写成函数。

voidmain()

voidmenu();

voidfunction1();

voidfunction2();

voidfunction3();

voidfunction4();

menu();

return;

}

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

main()

inta;

while

(1)

{

printf("

\t\tWelcometothesong'

system!

------bylong\n"

);

\t\t******************^o^MENU^o^*******************\n\n"

\t\t\t

(1).Enter\n"

\t\t\t

(2).Delete\n"

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

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

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

\t\t*************************************************\n"

\n\t\t\tPleasechoosethenumber(0-4):

"

scanf("

%d"

&

a);

if(a==0)break;

switch(a)

{

case1:

enter();

break;

case2:

delete();

case3:

browse();

case4:

search();

}

}

主函数的流程图如图6

(图6)

3各功能模块设计

(1)输入模块

voidenter()

intj;

charc[2];

FILE*fp;

if((fp=fopen("

data.txt"

"

w"

))==NULL)

printf("

Cannotopenthefile!

\n"

exit(0);

for(j=0;

j<

i;

j++)

{

fwrite(&

dan[j],sizeof(structsystem),1,fp);

}

Pleaseinputtheauthor:

%s"

dan[i].author);

Pleaseinputthesong'

sname:

dan[i].name);

Pleaseinputthesinger:

dan[i].singer);

Pleaseinputtheoutday:

dan[i].time);

if(fwrite(&

dan[i++],sizeof(structsystem),1,fp)!

=1)

printf("

Filewriteerror\n"

elseprintf("

Successful!

Isthereanymore?

(Yes[y]/No[n])\n"

c);

if(strcmp(c,"

n"

)==0)break;

fclose(fp);

(图7)

(图2)

2删除模块:

用户输入要删除的信息,如输入歌曲名,根据歌曲名找到其他记录并删除。

[程序]

voiddelete()

intj,v,c;

charw[20];

namewhichyouwanttodelete:

scanf("

w);

fp=fopen("

rb"

100;

if(fread(&

dan[j],sizeof(structsystem),1,fp)!

=1)break;

v=j;

v;

if(strcmp(w,dan[j].name)==0)

c=j;

wb"

if(j!

=c)

DeleteOK!

i--;

浏览模块:

在用户按下菜单后直接显示出所有歌曲信息。

voidbrowse()

{

dan[j],sizeof(structsystem),1,fp)==1)

Name:

%s\n"

dan[j].name);

Author:

dan[j].author);

Singer:

dan[j].singer);

Outday:

dan[j].time);

---------------------------------\n"

elsebreak;

查找模块:

用户输入要查找的歌曲名或歌曲的任意信息,按菜单键。

voidsearch()

intflag,j,x;

charv[20];

(1)Byauthor\n"

(2)Bysinger\n"

(3)Byname\n"

Pleasechoosewhichyouwanttosearch:

x);

if(x==3)

flag=0;

w);

fp=fopen("

for(j=0;

{

if(fread(&

if(strcmp(dan[j].name,w)==0)

{

printf("

flag=1;

}

}

if(flag==0)

Cannotfindthesong!

fclose(fp);

elseif(x==2)

v);

if(strcmp(dan[j].singer,v)==0)

e

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1