请用c语言写出一个KTV点歌功能
时间: 2024-03-23 20:43:54 浏览: 18
以下是一个简单的KTV点歌功能的C语言实现,其中包括了歌曲选择和播放功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SONGS 100 //KTV歌曲库最大容量
#define MAX_NAME 20 //歌曲名字最大长度
struct song {
char name[MAX_NAME];
int duration;
} songs[MAX_SONGS];
int num_songs = 0; //歌曲库中当前歌曲数目
void add_song(char *name, int duration) {
if (num_songs < MAX_SONGS) {
strcpy(songs[num_songs].name, name);
songs[num_songs].duration = duration;
num_songs++;
printf("%s已加入歌曲库\n", name);
}
else {
printf("歌曲库已满,无法加入新歌曲\n");
}
}
void show_songs() {
printf("KTV歌曲库:\n");
for (int i = 0; i < num_songs; i++) {
printf("%d. %s (%d分钟)\n", i + 1, songs[i].name, songs[i].duration);
}
}
void play_song(int index) {
if (index >= 1 && index <= num_songs) {
printf("正在播放:%s\n", songs[index - 1].name);
}
else {
printf("无效的歌曲编号:%d\n", index);
}
}
int main() {
int option, duration, index;
char name[MAX_NAME];
while (1) {
printf("请选择操作:\n");
printf("1. 添加歌曲\n");
printf("2. 显示歌曲库\n");
printf("3. 播放歌曲\n");
printf("4. 退出\n");
printf(">> ");
scanf("%d", &option);
switch (option) {
case 1:
printf("请输入歌曲名字和时长(单位:分钟):\n");
scanf("%s %d", name, &duration);
add_song(name, duration);
break;
case 2:
show_songs();
break;
case 3:
printf("请输入要播放的歌曲编号:\n");
scanf("%d", &index);
play_song(index);
break;
case 4:
printf("程序已退出\n");
exit(0);
default:
printf("无效的操作\n");
break;
}
}
return 0;
}
```
该程序使用了一个简单的结构体来存储歌曲信息,包括歌曲名字和时长。用户可以通过添加歌曲、显示歌曲库和播放歌曲等操作来使用该程序。