创建一个简单的点歌系统可以用C语言实现,以下是一个基本的框架示例代码:
定义结构体
`Song` 结构体用于存储歌曲信息,包括歌曲名 (`name`) 和艺术家 (`artist`)。
`Playlist` 结构体用于存储歌曲列表,包括一个 `Song` 类型的数组 (`songs`) 和一个计数器 (`count`)。
函数声明
`addSong` 函数用于向播放列表中添加一首歌曲。
`listSongs` 函数用于列出播放列表中的所有歌曲。
`chooseSong` 函数用于用户选择一首歌曲并返回其索引。
主函数
初始化一个 `Playlist` 结构体,并添加一些示例歌曲。
```c
include include define MAX_SONGS 100 define MAX_LENGTH 100 typedef 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"); // 列出所有歌曲 listSongs(&playlist); // 用户选择一首歌曲 int choice = chooseSong(&playlist); if (choice >= 0 && choice < playlist.count) { printf("You chose: %s by %s\n", playlist.songs[choice].name, playlist.songs[choice].artist); } else { printf("Invalid choice!\n"); } 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("Playlist is full!\n"); } } // 列出播放列表中的所有歌曲 void listSongs(const Playlist *playlist) { for (int i = 0; i < playlist->count; i++) { printf("%d: %s by %s\n", i + 1, playlist->songs[i].name, playlist->songs[i].artist); } } // 用户选择一首歌曲 int chooseSong(const Playlist *playlist) { int index; printf("Enter the number of the song you want to choose: "); scanf("%d", &index); if (index > 0 && index <= playlist->count) { return index - 1; } else { printf("Invalid number!\n"); return -1; } } ``` 代码说明: `Song` 结构体包含两个字段:`name` 和 `artist`,分别用于存储歌曲名和艺术家名。 `Playlist` 结构体包含一个 `Song` 类型的数组 `songs` 和一个整数 `count`,用于存储歌曲列表和歌曲数量。 `addSong` 函数用于向播放列表中添加一首歌曲,如果播放列表已满,则输出提示信息。 `listSongs` 函数用于遍历播放列表并打印所有歌曲的信息。 `chooseSong` 函数用于用户输入选择歌曲的编号,并返回该歌曲在播放列表中的索引,如果输入无效,则返回 -1。 初始化一个 `Playlist` 结构体,并添加一些示例歌曲。 调用 `listSongs` 函数列出所有歌曲。 调用 `chooseSong` 函数让用户选择一首歌曲,并输出选择的歌曲信息。 这个示例代码展示了一个结构体定义
函数实现
主函数