欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > C语言实现一个简单的点歌系统

C语言实现一个简单的点歌系统

2024/10/30 6:28:27 来源:https://blog.csdn.net/m0_52011717/article/details/142235820  浏览:    关键词:C语言实现一个简单的点歌系统

创建一个简单的点歌系统可以用C语言实现,这里提供一个基本的框架。这个系统可以包括歌曲列表、用户选择歌曲的功能以及播放歌曲的功能。以下是一个示例代码:

#include <stdio.h>
#include <string.h>#define MAX_SONGS 100
#define MAX_LENGTH 100typedef struct {char name[MAX_LENGTH];char artist[MAX_LENGTH];
} Song;typedef struct {Song songs[MAX_SONGS];int count;
} Playlist;// 函数声明
void addSong(Playlist *playlist, const char *name, const char *artist);
void listSongs(const Playlist *playlist);
int chooseSong(const Playlist *playlist);int main() {Playlist playlist = { .count = 0 };// 添加一些示例歌曲addSong(&playlist, "Yesterday", "The Beatles");addSong(&playlist, "Bohemian Rhapsody", "Queen");addSong(&playlist, "Hotel California", "Eagles");int choice;do {listSongs(&playlist);printf("请输入您想要听的歌曲编号(输入-1退出): ");scanf("%d", &choice);if (choice != -1) {playSong(&playlist, choice);}} while (choice != -1);return 0;
}void addSong(Playlist *playlist, const char *name, const char *artist) {if (playlist->count < MAX_SONGS) {strcpy(playlist->songs[playlist->count].name, name);strcpy(playlist->songs[playlist->count].artist, artist);playlist->count++;} else {printf("播放列表已满。\n");}
}void listSongs(const Playlist *playlist) {printf("播放列表:\n");for (int i = 0; i < playlist->count; i++) {printf("%d. %s - %s\n", i + 1, playlist->songs[i].name, playlist->songs[i].artist);}
}int chooseSong(const Playlist *playlist) {int choice;printf("请选择歌曲编号: ");scanf("%d", &choice);return choice - 1;
}void playSong(Playlist *playlist, int index) {if (index >= 0 && index < playlist->count) {printf("正在播放: %s - %s\n", playlist->songs[index].name, playlist->songs[index].artist);} else {printf("无效的选择。\n");}
}

这个程序定义了一个Playlist结构体来存储歌曲列表,并定义了Song结构体来保存每首歌的名字和艺术家名字。addSong函数用于添加新歌到播放列表,listSongs用于列出所有歌曲,chooseSong让用户选择歌曲,而playSong则根据用户的选择“播放”歌曲(在这里只是输出歌曲的信息)。

请注意,这只是一个非常基础的实现,实际应用中还需要考虑错误处理、输入验证、更复杂的用户界面等。此外,为了使程序更加完整,还可以添加删除歌曲、修改歌曲信息等功能。如果要保存歌曲信息,可以考虑使用文件操作来读写数据。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com