求用C语言写的播放背景音乐的代码。

# include & ltwindows.h & gt

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

# include & ltstring.h & gt

# include & ltconio.h & gt

无符号频率[100];

char height[100];

无符号时间[100];

无符号率;

void main()

{

void set(unsigned f[],char h[],unsigned t[],int r,int num);

void music(无符号f[],无符号t[],int num);

int flag = 0;

FILE * f 1;

int i,n,menu

字符文件名[30];

while(1)

{ f 1 = NULL;

I = n = 0;

Printf("这个程序以编码的形式播放音乐。\ n ");

printf(" \ n用记事本编辑乐谱,然后输入文件名播放音乐\ n ");

Printf("乐谱文件可以自己创建,也可以复制别人的\ n ");

printf(" \ n现在可以先输入数字,然后按enter播放音乐:\ n ");

Printf("1播放指定的音乐1 \ n ");

Printf("2播放指定的音乐\ n ");

Printf("3通过程序文件名播放音乐\ n ");

printf(" 4 exit \ n ");

while(1)

{

printf(" menu = ");scanf("%d ",& amp菜单);

if(menu==1)

{

strcpy(文件名,“music 1 . txt”);

打破;

}

if(menu==2)

{

strcpy(文件名,“music 2 . txt”);

打破;

}

if(menu==3)

{

scanf("%s ",文件名);

打破;

}

if(menu==4)

退出(0);

}

printf(" \ n此文件的音乐编码如下:\ n ");

if((f1=fopen(FileName," r"))==NULL)

{

Printf("无法打开文件!\ n ");

退出(1);

}

fscanf(f1," %d ",& amp率);

而(!feof(f1)和amp& amp旗帜!=1)

{

fscanf(f1," %d%c%d ",& amp频率[i],& amp高[i],& amptime[I]);

printf(" %d%c%d ",频率[i],高度[i],时间[I]);

如果(时间[我]!=-1)

{

i++;n++;

}

其他

flag = 1;

}

printf(" \ n ");

set(频率、高度、时间、速率、n);

音乐(频率,时间,n);

fclose(f 1);

}

getch();

}

void set(无符号f[],char h[],无符号t[],int r,int num)

{

int i,k;

for(I = 0;我& ltnumi++)

{

t[I]= t[I]* r;

开关(h[i])

{

情况‘H’:k = 4;打破;

情况“M”:k = 2;打破;

案例“L”:k = 1;

}

开关(f[i])

{

案例1:f[I]= 262 * k;打破;

情况二:f[I]= 296 * k;打破;

情况三:f[I]= 330 * k;打破;

情况四:f[I]= 349 * k;打破;

情况5:f[I]= 392 * k;打破;

情况6:f[I]= 440 * k;打破;

情况7:f[I]= 494 * k;打破;

}

}

}

无效音乐(无符号f[],无符号t[],int num)

{

int I;

for(I = 0;我& ltnumi++)

{

Beep(f[i],t[I]);

}

}