资源简介
基于C语言的模拟KTV系统,两种身份登录,管理员与用户,可以实现歌曲添加和删除,另有按歌手和按歌曲点歌功能。
代码片段和文件信息
//模拟KTV点歌系统
#include
#include
#include
#define maxsize 1000
int path(int ichar a[]) //加文件路径和后缀,i为类型:1是歌曲文件,2是歌手文件;a为歌曲或歌手名
{
char x[100];
int nj;
if(i==1){
strcpy(xa);
strcpy(a“song//“);
strcpy(&a[6]x);
n=strlen(a);
strcpy(&a[n]“.txt“);
}
else{
strcpy(xa);
strcpy(a“singer//“);
strcpy(&a[6]x);
n=strlen(a);
strcpy(&a[n]“.txt“);
}
}
//按歌曲名查找
int pickSong_name(){
FILE *fp1;
int a=1;
char filename1[10]f1[80];
// char name[20];
// char lyric[50][50];
printf(“请输入歌曲名:\n“);
scanf(“%s“filename1);
path(afilename1);
if((fp1=fopen(filename1“r“))==NULL){
printf(“该歌曲不存在\n“);
return 0;
}
printf(“正在播放\n“);
while(fgets(f181fp1)!=NULL){
printf(“%s“f1);
}
fclose(fp1);
return 0;
}
int pickSong_singer(){
FILE *fp2*fp1;
int a=2;
char filename1[10]filename2[10]f2[80]f1[80];
// char singer[20];
printf(“请输入歌手名:“);
scanf(“%s“filename2);
path(afilename2);
if((fp2=fopen(filename2“r“))==NULL){
printf(“该歌手不存在\n“);
return 0;
}
printf(“歌手全部歌曲如下:\n“);
while(fgets(f281fp2)!=NULL){
printf(“%s“f2);
}
fclose(fp2);
printf(“\n“);
printf(“请输入歌曲名:“);
scanf(“%s“filename1) ;
path(1filename1);
if((fp1=fopen(filename1“r“))==NULL){
printf(“该歌曲不存在\n“);
return 0;
}
printf(“正在播放\n“);
while(fgets(f181fp1)!=NULL){
printf(“%s“f1);
}
fclose(fp1);
return 0;
}
void addSongs()
{
FILE *fp*fp1;
char name[100] song[100] singer[100] words[100];
char ch = ‘n‘;
int num;
int i;
printf(“请输入所添加歌曲数目:\n“);
scanf(“%d“&num);
for (i = 0;i < num;i++)
{
printf(“请输入第%d首歌的信息:\n“i + 1);
printf(“请输入歌手名:\n“);
scanf(“%s“singer);
path(2singer);
fp = fopen(singer“a“);
printf(“请输入歌曲名:\n“);
scanf(“%s“name);
while (1)
{
if (fgets(song100fp) == NULL)
{
break;
}
if (strcmp(namesong) == 0)
{
printf(“添加失败,歌曲已存在。\n“);
printf(“是否重新添加歌曲\n“);
printf(“按y为是,按其余任意键为否:\n“);
scanf(“ %c“&ch);
if (ch == ‘y‘)
{
i--;
}
break;
}
}
fputs(namefp);
fputs(“\n“fp);
fclose(fp);
path(1name);
fp1 = fopen(name“w“);
printf(“请输入歌词,\n“);
printf(“按一次回车确定输入,结束输入按1\n“);
scanf(“%s“words);
do
{
fputs(wordsfp);
fputs(“\n“fp);
scanf(“%s“words);
相关资源
- 单片机C语言实战开发108例
- C语言的嵌入式汇编基本使用.docx(2页
- C语言嵌入式Modbus协议栈,支持主站和
- C语言封装的HttpClient接口
- C语言课设计算器
- C语言 学生兴趣管理系统
- c语言实现火车订票系统(控制台)源
- 模拟笔记本电脑(C语言实现)
- c语言实现竞技比赛打分系统
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- 烟花优化算法(c语言版)
- C语言程序设计教材习题参考答案.do
- 数据结构(C语言版)ppt课件,清华,
评论
共有 条评论