• 大小: 9KB
    文件类型: .c
    金币: 2
    下载: 1 次
    发布日期: 2021-11-17
  • 语言: C/C++
  • 标签: C语言  

资源简介

基于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); 
        

评论

共有 条评论