一个简单的点歌系统
编写一个简单的点歌系统可以作为一个有趣的C语言项目。这个系统可以允许用户浏览歌曲列表、选择歌曲播放、添加新歌曲到列表等。以下是一个基本的C语言示例,它展示了如何创建一个简单的点歌系统。
功能描述
- 显示歌曲列表。
- 允许用户选择歌曲。
- 允许用户添加新歌曲到列表。
- 播放选定的歌曲(在控制台中模拟)。
示例代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX_SONGS 100
#define SONG_NAME_LEN 100typedef struct {char name[SONG_NAME_LEN];int duration; // 假设以秒为单位
} Song;Song songList[MAX_SONGS];
int songCount = 0;void displaySongs() {printf("歌曲列表:\n");for (int i = 0; i < songCount; i++) {printf("%d. %s - %d秒\n", i + 1, songList[i].name, songList[i].duration);}
}void playSong(int index) {if (index > 0 && index <= songCount) {printf("正在播放:%s\n", songList[index - 1].name);// 模拟歌曲播放时间for (int i = 0; i < songList[index - 1].duration; i++) {printf(".");fflush(stdout);sleep(1);}printf("\n播放完成。\n");} else {printf("无效的歌曲编号。\n");}
}void addSong() {if (songCount < MAX_SONGS) {char buffer[SONG_NAME_LEN];printf("输入歌曲名称:");scanf("%s", buffer);printf("输入歌曲时长(秒):");scanf("%d", &songList[songCount].duration);strcpy(songList[songCount].name, buffer);songCount++;printf("歌曲添加成功。\n");} else {printf("歌曲列表已满。\n");}
}int main() {int choice, songIndex;while (1) {printf("\n点歌系统\n");printf("1. 显示歌曲列表\n");printf("2. 播放歌曲\n");printf("3. 添加歌曲\n");printf("4. 退出\n");printf("选择操作:");scanf("%d", &choice);switch (choice) {case 1:displaySongs();break;case 2:displaySongs();printf("选择歌曲编号播放:");scanf("%d", &songIndex);playSong(songIndex);break;case 3:addSong();break;case 4:printf("退出系统。\n");return 0;default:printf("无效的选择。\n");}}return 0;
}
说明
- 数据结构:使用了一个结构体
Song
来存储歌曲信息。 - 显示歌曲:
displaySongs
函数用于显示所有歌曲。 - 播放歌曲:
playSong
函数根据用户选择的歌曲编号播放歌曲。 - 添加歌曲:
addSong
函数允许用户添加新歌曲到列表。 - 主循环:
main
函数中的循环允许用户选择不同的操作。