歌曲信息管理系统Word文档下载推荐.docx

上传人:b****5 文档编号:16461029 上传时间:2022-11-23 格式:DOCX 页数:18 大小:121.10KB
下载 相关 举报
歌曲信息管理系统Word文档下载推荐.docx_第1页
第1页 / 共18页
歌曲信息管理系统Word文档下载推荐.docx_第2页
第2页 / 共18页
歌曲信息管理系统Word文档下载推荐.docx_第3页
第3页 / 共18页
歌曲信息管理系统Word文档下载推荐.docx_第4页
第4页 / 共18页
歌曲信息管理系统Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

歌曲信息管理系统Word文档下载推荐.docx

《歌曲信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《歌曲信息管理系统Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

歌曲信息管理系统Word文档下载推荐.docx

structsong

{

charname[25];

charwriter[25];

charsinger[25];

charyear[25];

}s[N],s1,s2,s3;

menu()//输入菜单

intn;

printf("

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

);

\t\t\t1.Enterrecord\n"

/*输入记录*/

\t\t\t2.Listthefile\n"

/*显示记录*/

\t\t\t3.Searchrecord\n"

/*查找记录*/

\t\t\t4.Deletearecord\n"

/*删除记录*/

\t\t\t5.Addarecord\n"

/*插入记录*/

\t\t\t6.savethefile\n"

/*保存文件*/

\t\t\t7.Readthefile\n"

/*读文件*/

\t\t\t8.Displayrecordonorder\n"

/*按序号显示记录*/

\t\t\t9.Sortrecordbywriter\n"

/*按作者排序*/

\t\t\t0.Exit\n"

/*退出*/

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

do

{

\nChoiceyournumber(0-9):

"

scanf("

%d"

&

n);

}

while(n<

0||n>

9);

switch(n)

case1:

length=enter();

menu();

break;

case2:

list(length);

case3:

search(length);

case4:

length=delete(length);

case5:

length=add(length);

case6:

save(length);

case7:

read();

case8:

display(length);

case9:

sort(length);

case0:

exit(0);

}

/***********主函数**********/

main()

2、各功能模块设计

(1)输入模块

输入到song[]中,各个元素依次输入

【程序】

intenter()/*输入记录*/

inti;

for(i=0;

i<

N;

i++)

\npleaseinputrecordordirectpressQtoexit"

\nEntername:

%s"

s[i].name);

if(s[i].name[0]=='

Q'

&

s[i].name[1]=='

\0'

break;

Enterwriter:

s[i].writer);

Entersinger:

s[i].singer);

Enteryear:

s[i].year);

\nnamewritersingeryear\n"

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

%s,%s,%s,%s\n"

s[i].name,s[i].writer,s[i].singer,s[i].year);

returni;

(2)显示记录模块

voidlist(intn)/*显示记录*/

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

\nnamewritersingeryear\n"

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

n;

%s,%s,%s,%s\n"

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

menu();

(3)查找模块

voidsearch(intn)/*查找记录*/

intm,i;

\nSearchby:

\n"

\n1.name"

\n2.writer"

\n3.singer"

\n0.back"

choiceyournumber(0-3):

m);

while(m<

0||m>

3);

switch(m)

printf("

pleaseenternametosearch.\n"

pleaseenterwritertosearch.\n"

pleaseentersingertosearch.\n"

i=find(n,m);

if(i>

n-1)

notfound\n"

else

\nnamewritersingeryear\n"

intfind(intn,intb)

switch(b)

scanf("

s3.name);

for(i=0;

if(strcmp(s3.name,s[i].name)==0)

returni;

s3.writer);

if(strcmp(s3.writer,s[i].writer)==0)

s3.singer);

if(strcmp(s3.singer,s[i].singer)==0)

}

(4)删除模块

intdelete(intn)/*删除记录*/

chardelete[25];

inti,j,p,ch;

\nDeleteby:

p);

while(p<

0||p>

switch(p)

pleaseenternametodelete.\n"

pleaseenterwritertodelete.\n"

pleaseentersingertodelete.\n"

return0;

i=find(n,p);

notfoundtodelete\n"

%s,%s,%s,%s\n"

Areyousuretodeleteit?

(1/0)"

ch);

if(ch==1)

for(j=i+1;

j<

j++)

{

strcpy(s[j-1].name,s[j].name);

strcpy(s[j-1].writer,s[j].writer);

strcpy(s[j-1].singer,s[j].singer);

strcpy(s[j-1].year,s[j].year);

}

n--;

}returnn;

(5)插入模块

intadd(intn)/*插入记录*/

charlocate[25];

inti,j;

\npleaseinputrecordordirectpressQtoexit\n"

s1.name);

if(s1.name[0]=='

s1.name[0]=='

returnn;

s1.writer);

s1.singer);

s1.year);

s1.name,s1.writer,s1.singer,s1.year);

pleaseinputlocatename\n"

i=find(n,1);

for(j=n-1;

j>

=i;

j--)

strcpy(s[j+1].name,s[j].name);

strcpy(s[j+1].writer,s[j].writer);

strcpy(s[j+1].singer,s[j].singer);

strcpy(s[j+1].year,s[j].year);

strcpy(s[i].name,s1.name);

strcpy(s[i].writer,s1.writer);

strcpy(s[i].singer,s1.singer);

strcpy(s[i].year,s1.year);

n++;

(6)保存到文件

intsave(intn)/*保存文件*/

FILE*fp;

if((fp=fopen("

record.txt"

"

w"

))==NULL)

printf("

cannotopenfile\n"

returnNULL;

\nSavingfile\n"

fprintf(fp,"

%s%s%s%s\n"

fclose(fp);

**********savesuccess**********\n"

return1;

(7)读取文件

intread()/*读文件*/

r"

!

feof(fp);

fscanf(fp,"

%s%s%s%s\n"

youhavesuccessedreadingrecordfromfile!

(8)全部显示

intdisplay(intn)/*按序号显示记录*/

inta;

Enterordernumber\n"

a);

if(a>

=0&

a<

n)

fseek(fp,(a-2)*sizeof(s),1);

s[a-1].name,s[a-1].writer,s[a-1].singer,s[a-1].year);

else

no%dnumberrecord!

a);

voidsort(intn)/*按作者排序*/

n-1;

for(j=i+1;

if((strcmp(s[i].writer,s[j].writer))>

0)

s1=s[i];

s[i]=s[j];

s[j]=s1;

sortsuccess!

voidmenu()

{

intn;

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

length=enter(s);

运行结果

输入

查找

删除

添加

保存到文件

读取文件

按作者排序

总结

通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。

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

当前位置:首页 > 考试认证 > IT认证

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

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