当前位置: 代码迷 >> C语言 >> 给你的歌
  详细解决方案

给你的歌

热度:231   发布时间:2008-01-09 16:34:22.0
给你的歌
#include<stdio.h>
#include<dos.h>
#include<conio.h>
void playsound(char d,char s,char t)
{
   float hz;
   long int time;
   switch(d)
       {
         case 'l':{switch(s){
                      case '1':hz=131;break;
                      case '2':hz=147;break;
                      case '3':hz=155;break;
                      case '4':hz=176;break;
                      case '5':hz=196;break;
                      case '6':hz=220;break;
                      case '7':hz=247;break;
                      case '0':break;
                      default :printf("error");exit(1);}break;}
           case 'n':{switch(s){
                      case '1':hz=262;break;
                      case '2':hz=296;break;
                      case '3':hz=329.7;break;
                      case '4':hz=349.2;break;
                      case '5':hz=392;break;
                      case '6':hz=440;break;
                      case '7':hz=493.9;break;
                      case '0':break;
                      default :printf("error");exit(1);}break;}
           case 'h':{switch(s){
                      case '1':hz=523.3;break;
                      case '2':hz=587.3;break;
                      case '3':hz=659.3;break;
                      case '4':hz=698;break;
                      case '5':hz=784;break;
                      case '6':hz=880;break;
                      case '7':hz=987.8;break;
                      case '0':break;
                      default :printf("error");exit(1);}break;}
           case 't':{switch(s){
                      case '1':hz=1045.5;break;
                      case '2':hz=1174.7;break;
                      case '3':hz=1318.5;break;
                      case '4':hz=1396.9;break;
                      case '5':hz=1568;break;
                      case '6':hz=1760;break;
                      case '7':hz=1976.5;break;
                      case '0':break;
                      default :printf("error");exit(1);}break;}
           case '-'   :hz=0;break;
           default:printf("error");exit(1);

         }

    switch(t)
     {
       case '1':time=10000*16;break;
       case '2':time=20000*16;break;
       case '3':time=30000*16;break;
       case '4':time=40000*16;break;
       case '5':time=50000*16;break;
       case '6':time=60000*16;break;
       case '7':time=70000*16;break;
       case '8':time=80000*16;break;
       default:printf("error!");exit(1);
     }
    sound(hz);
    delay(time);

}
void play(char *p)
{
   int i;
   char D,S,L;
   for(i=0;i<strlen(p);++i)
   {
      if(p[i]==' '||p[i]=='('||p[i]==')')
      continue;
      if(p[i]=='*')
      {   
      nosound();
      continue;
      }
      if(p[i]=='#')
      {
      nosound();
      getchar();
      continue;
      }
      D=p[i];
      S=p[++i];
      L=p[++i];
     playsound(D,S,L);
  }
}
main()
{
int i;
char *say="write to BOBY";
char *li="(n56 h12 -02 n72 n62 n52 n44  -04 -04  -02 * n41 n31 n28 -04 -04 -04 *) -02 (h12 * h12 n72 n62 n52) -08 -08 -02 * n52 * n52 n62 n72 h14 -08 -04 n34 -08 -04 -08 * n32 n42 n52 n62 -08 -08 * -04  (n62 * n62 * n62 h34 -04 h22 -02 n72 n62 n56 -04 -04 -08 -08) * n52 n32 n52 n32 n52 h24 -04 h12 -08 -08 -08( n62 * n62 * n62 h34 -04 h22 -02 n72 n62 n56 -04 -04 -08 -08*)( n52 h32 h42 h32 h42 h34 -04 n72 h12 -04 -04  h12  n72  h12 n32 n44  n32 n42 -04 h32 h22 -04 -04 -04 h14 * h14 -04 -04 -04 -04) (n52 h42 h32 h22 h32 -04 -02 n52 h32 h22 h12 h22 -02 n54 n52 * n52 n62 n72 h12 -02 n72 h12 n72 h14 n34 -02 n62 -04 -02) n52 h42 h32 h22 h32 -04 -02 n52 h32 h22 h12 h22 -02  n54 -02 * n52 n62 n72 h12 -02 n72 h12 (n72 h12 t62 t32 t52) -04 -04 -02 h32 h42 -02 -02 h54 -04 h12 * h12 -02 h52 h12 * h12 -04 -04 h24 -04 -04 -04 h14 -04 -04 -04 -04";
for(i=0;i<strlen(say);i++)
{
printf("%c",say[i]);
sleep(1);
}
printf("\n");
play(li);
nosound();
}
----------------解决方案--------------------------------------------------------
一首好歌
支持一下
----------------解决方案--------------------------------------------------------
支持!~~
----------------解决方案--------------------------------------------------------
我只听到的全是噪声,不过还好,既然是程序,我还是蛮喜欢的,支持一下!向你学习.
----------------解决方案--------------------------------------------------------
不错,我在tc2.0下面听了,很不错啊,很强啊,呵呵
----------------解决方案--------------------------------------------------------
tc2.0...听不到东西..
----------------解决方案--------------------------------------------------------
DEV C++根本编译不过...
----------------解决方案--------------------------------------------------------
先是缓慢打出 write to BOBY
他的程序是在TC 2.0 下
确实是不错.
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2008-01-11 08:31:56
厦门土匪

等 级:新手上路
帖 子:109
专家分:0
注 册:2008-1-9
  得分:0 
我在TC2.0环境,就是没声音出来..难道一定要装DOS系统?
----------------解决方案--------------------------------------------------------
  相关解决方案