C++备忘录源代码.docx

上传人:b****6 文档编号:2920209 上传时间:2022-11-16 格式:DOCX 页数:11 大小:15.86KB
下载 相关 举报
C++备忘录源代码.docx_第1页
第1页 / 共11页
C++备忘录源代码.docx_第2页
第2页 / 共11页
C++备忘录源代码.docx_第3页
第3页 / 共11页
C++备忘录源代码.docx_第4页
第4页 / 共11页
C++备忘录源代码.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C++备忘录源代码.docx

《C++备忘录源代码.docx》由会员分享,可在线阅读,更多相关《C++备忘录源代码.docx(11页珍藏版)》请在冰豆网上搜索。

C++备忘录源代码.docx

C++备忘录源代码

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

//歌曲信息包括:

歌名、演唱者、作词、作曲、所属专辑、出版时间、出版公司

typedefstructmusic

{

charname[20];//歌名

charsinger[20];//演唱者

charauthors[20];//作

charcompose[30];//作曲

charalbum[20];//所属专辑

chartime[15];//出版时间

charcompany[30];//出版公司

structmusic*next;

}music;

music*head=NULL;

intlength;//链表的长度

voidcreate()

{

music*p1,*p2;

length=0;

p1=(music*)malloc(sizeof(music));

strcpy(p1->name,"-1");

if(head==NULL)

head=p1;

printf("请输入音乐的歌名、演唱者、作词、作曲、所属专辑、出版时间、出版公司:

/n");

while

(1)//歌名为0的时候退出

{

p2=(music*)malloc(sizeof(music));

//输入歌曲信息

scanf("%s%s%s%s%s%s%s",p2->name,p2->singer,p2->authors,p2->compose,p2->album,p2->time,p2->company);

if(strcmp(p2->name,"0")==0)

{

printf("链表创建完成!

/n");

break;

}

length++;//链表的长度

p1->next=p2;

p2->next=NULL;

p1=p1->next;

}

return;

}

voidModifymusicInfo()

{

music*p=head->next;

charname[20];

printf("请输入要修改的歌曲的歌名:

");

getchar();

scanf("%s",name);

while(p!

=NULL)

{

if(strcmp(p->name,name)==0)

{

printf("修改前,歌名为%s的歌曲的信息如下:

/n",name);

printf("%s%s%s%s%s%s%s/n",p->name,p->singer,p->authors,p->compose,p->album,p->time,p->company);

printf("请输入歌曲的新的所属专辑:

");

getchar();

scanf("%s",p->album);

printf("请输入歌曲的新出版公司:

");

getchar();

scanf("%s",p->company);

printf("修改后,歌名为%s的歌曲的信息如下:

/n",name);

printf("%s%s%s%s%s%s%s/n",p->name,p->singer,p->authors,p->compose,p->album,p->time,p->company);

return;

}

p=p->next;

}

if(p==NULL)

{

printf("该歌曲不存在!

/n");

return;

}

}

voiddisplay()

{

music*p=head->next;

printf("链表中所有的歌曲信息如下:

/n");

while(p!

=NULL)

{

printf("%s%s%s%s%s%s%s/n",p->name,p->singer,p->authors,p->compose,p->album,p->time,p->company);

p=p->next;

}

return;

}

voidsearch()

{

intnum,x,flag;

charname[20];

music*p=head->next;

printf("请选择查询的方式:

/n");

printf("1、按歌名查询/t2、按演唱者查询/n");

scanf("%d",&x);

if(x==1)

{

printf("需要查找的歌曲歌名为:

");

getchar();

scanf("%s",name);

while(p!

=NULL)

{

if(strcmp(p->name,name)==0)

{

printf("歌名为%s的歌曲的信息如下:

/n",name);

printf("%s%s%s%s%s%s%s/n",p->name,p->singer,p->authors,p->compose,p->album,p->time,p->company);

return;

}

p=p->next;

}

if(p==NULL)

printf("无此记录!

/n");

}

elseif(x==2)

{

flag=0;

printf("需要查找的演唱者为:

");

getchar();

scanf("%s",name);

p=head->next;

while(p!

=NULL)

{

if(strcmp(p->singer,name)==0)

{

if(flag==0)

{

printf("演唱者为%s的歌曲的信息如下:

/n",nam

);

flag=1;

}

printf("%s%s%s%s%s%s%s/n",p->name,p->singe,p->authors,p->compose,p->album,p->time,p->company);

}

p=p->next;

}

if(p==NULL&&flag==0)

{

printf("无此记录!

/n");

return;

}

}

return;

}

voidinsert()

{

intnum,i;

music*p,*q;

p=head;

printf("请输入你要插入位置:

");

scanf("%d",&num);

if(num>length)

{

printf("找不到要插入的位置/n");

return;

}

Else

{

printf("请输入你要插入的音乐的歌名、演唱者、作词、作曲、所属专辑、出版时间、出版公司:

/n");

q=(music*)malloc(sizeof(music));

//输入歌曲信息

scanf("%s%s%s%s%s%s%s",q->name,q->singer,q->authors,q->compose,q->album,q->time,q->company);

while(p!

=NULL)

{

if(strcmp(p->name,q->name)==0)

{

printf("该歌曲已经存在,无法插入!

/n");

return;

}

p=p->next;

}

p=head;

for(i=0;i

p=p->next;

q->next=p->next;

p->next=q;

length++;

printf("插入成功!

/n");

return;

}

}

voidDelete()

{

charname[20];

music*p,*q;

q=head,p=head->next;

printf("请输入要删除的歌曲的歌名:

/n");

getchar();

scanf("%s",name);

while(p!

=NULL)

{

if(strcmp(p->name,name)==0)

{

q->next=p->next;

free(p);

length--;

printf("删除成功!

/n");

return;

}

p=p->next;

q=q->next;

}

if(p==NULL)

{

printf("找不到要删除的歌曲!

/n");

return;

}

}

voidmenu()

{

printf("________________________________________________________________/n");

printf("|歌厅歌曲管理系统|/n");

printf("|0、退出系统|/n");

printf("|1、录入歌曲信息|/n");

printf("|2、显示歌曲信息|/n");

printf("|3、查找链表中的某一首歌曲|/n");

printf("|4、删除链表中指定歌曲|/n");

printf("|5、指定的位置上插入一个新结点|/n");

printf("|6、修改歌曲信息|/n");

printf("________________________________________________________________/n");

return;

}

intmain(void)

{

inta;

menu();

while

(1)

{

printf("请选择相应的功能:

");

scanf("%d",&a);

switch(a)

{

case0:

return0;

case1:

create();menu();break;

case2:

if(head)

{

display();

menu();

}

else

{

printf("链表为空,请先建立链表!

/n");

menu();

}

break;

case3:

if(head)

{

search();

menu();

}

else

{

printf("链表为空,请先建立链表!

/n");

menu();

}

break;

case4:

if(head)

{

Delete();

menu();

}

else

{

printf("链表为空,请先建立链表!

/n");

menu();

}

break;

case5:

if(head)

{

insert();

menu();

}

else

{

printf("链表为空,请先建立链表!

/n");

menu();

}

break;

case6:

if(head)

{

ModifymusicInfo();

menu();

}

else

{

printf("链表为空,请先建立链表!

/n");

menu();

}

break;

default:

break;

}

}

system("pause");

return0;

}

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

当前位置:首页 > 工程科技 > 材料科学

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

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