C语言实现歌曲信息管理系统攻略
1. 系统设计
歌曲信息管理系统是一种针对音乐爱好者实现音乐管理的软件系统,主要包括五个模块:歌曲信息录入、歌曲信息查询、歌曲信息修改、歌曲信息删除和退出系统。
1.1 数据结构设计
系统主要使用结构体来存储歌曲信息,每个结构体包括歌曲名称、歌手名称、专辑名称、发行日期和歌曲时长等信息。
struct Song {
char name[100];
char singer[100];
char album[100];
char release_date[100];
float duration;
};
1.2 界面设计
系统使用命令行界面,采用菜单选择方式来实现功能。以下是系统的主菜单:
=============== 欢迎使用歌曲信息管理系统 ===============
1. 歌曲信息录入
2. 歌曲信息查询
3. 歌曲信息修改
4. 歌曲信息删除
5. 退出系统
请按数字键选择相应的功能:
2. 功能实现
2.1 歌曲信息录入
用户可以输入歌曲的名称、歌手、专辑、发行日期和时长等信息来完成歌曲信息的录入。在录入完成后,系统将自动将歌曲信息保存到文件中。以下是录入功能的实现代码:
void add_song() {
FILE *fp = fopen("songs.dat", "ab");
struct Song song;
printf("请输入歌曲名称:");
scanf("%s", song.name);
printf("请输入歌手名称:");
scanf("%s", song.singer);
printf("请输入专辑名称:");
scanf("%s", song.album);
printf("请输入发行日期:");
scanf("%s", song.release_date);
printf("请输入歌曲时长:");
scanf("%f", &song.duration);
fwrite(&song, sizeof(struct Song), 1, fp);
fclose(fp);
printf("歌曲信息录入成功!\n");
}
2.2 歌曲信息查询
用户可以根据歌曲的名称、歌手、专辑以及发行日期等信息来查询符合条件的歌曲信息。以下是查询功能的实现代码:
void search_song() {
FILE *fp = fopen("songs.dat", "rb");
struct Song song;
char keyword[100];
int count = 0;
int flag = 0;
printf("请输入查询关键词:");
scanf("%s", keyword);
printf("查询结果如下:\n");
printf("---------------------------------\n");
while (fread(&song, sizeof(struct Song), 1, fp)) {
if (strstr(song.name, keyword) != NULL ||
strstr(song.singer, keyword) != NULL ||
strstr(song.album, keyword) != NULL ||
strstr(song.release_date, keyword) != NULL) {
printf("歌曲名称:%s\n", song.name);
printf("歌手名称:%s\n", song.singer);
printf("专辑名称:%s\n", song.album);
printf("发行日期:%s\n", song.release_date);
printf("歌曲时长:%.2fs\n", song.duration);
printf("---------------------------------\n");
flag = 1;
count++;
}
}
fclose(fp);
if (flag == 0) {
printf("没有查询到符合条件的歌曲!\n");
} else {
printf("共查询到%d首歌曲!\n", count);
}
}
3. 示例说明
以下是使用示例进行演示:
3.1 歌曲信息录入
用户首先选择歌曲信息录入功能,系统会提示用户输入歌曲相关信息,包括歌曲名称、歌手名称、专辑名称、
发行日期和歌曲时长等,用户根据提示输入相应信息,最后系统会自动将歌曲信息保存到文件中。
请输入歌曲名称:My heart will go on
请输入歌手名称:Celine Dion
请输入专辑名称:大西洋情人
请输入发行日期:1997-12-8
请输入歌曲时长:287.95
歌曲信息录入成功!
3.2 歌曲信息查询
用户选择歌曲信息查询功能,系统会提示用户输入查询关键词,用户输入关键词后,系统会自动从文件中读取
符合条件的歌曲信息,并将其输出到屏幕上。
请输入查询关键词:大西洋情人
查询结果如下:
---------------------------------
歌曲名称:My heart will go on
歌手名称:Celine Dion
专辑名称:大西洋情人
发行日期:1997-12-8
歌曲时长:287.95s
---------------------------------
共查询到1首歌曲!
以上是C语言实现歌曲信息管理系统的完整攻略,具体实现过程可根据需求进行调整。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现歌曲信息管理系统 - Python技术站