當前位置:編程學習大全網 - 編程語言 - Asda編程

Asda編程

我在網上找到的。我試過了,但是我不會彈。我可以壹下子減掉更多,但是不太好看。

比如可以輸入asdaasdadfgdfgg(12312312313455)。

那就是:兩只老虎兩只老虎跑得快。

聲調主要是用來發聲的,但是直接用會出問題。

/*文件名:piano.c

*/

# include & ltconio.h & gt

# include & ltstdio.h & gt/*使用無緩沖i/o */

# include & ltctype.h & gt

# include & ltdos.h & gt

#定義g1 198

#定義C 262 /*定義頻率*/

#定義D 294

#定義E 330

#定義F 349

#定義G 392

#定義440

#定義B 494

#定義C2 524

#定義Z 1

#定義定時器模式182 /*將定時器置於正確模式的代碼*/

#定義freq scale 1190000 l/*以赫茲為單位的基本時間頻率*/

#定義時間刻度1230 l/* 0.1秒內的計數次數*/

#define T_MODEPORT 67 /*端口控制定時器模式*/

#定義頻率端口66 /*端口控制音調頻率*/

# define be eport 97/*端口控制揚聲器*/

#定義ON 79 /*信號以打開揚聲器*/

音調(頻率、時間)

int freq,time

{

int高字節,低字節,端口;

長I,計數,除數;

除數= freq scale/freq;/*將頻率換算成計時器單位*/

lowbyte =除數% 256;/*將整數分成*/

hibyte =除數& gt& gt8;/*兩個字節*/

計數=時間刻度*時間;/*將時間轉換為計時器單位*/

outp (T_MODEPORT,timer mode);/*為輸入準備定時器*/

outp (FREQPORT,low byte);/*設置定時器寄存器的低位字節*/

outp (FREQPORT,hi byte);/*設置定時器寄存器的高字節*/

port = InP(be eport);/*保存端口設置*/

outp(be eport,ON);/*打開揚聲器*/

for(I = 0;我& lt數數;i++)

;/*標記時間*/

outp(be eport,port);/*關閉揚聲器,恢復*/

/*原始設置*/

}

主()

{

int鍵,freq,tempo,time

puts("請輸入基本速度:10 = 1秒。");

scanf ("%d ",& amp節奏);

printf ("%d\n\r ",tempo);/*回聲輸入*/

puts(“謝謝。使用鍵行a-k來彈奏音符。\ n \ r ");

puts ("shift鍵使持續時間加倍。答!停止放映。);

while ( (key = getchar())!= '!')

{

time = isupper (key)?2 * tempo:拍子;

key = to lower(key);

開關(鑰匙)

{

格‘a’:聲調(C,時間);

打破;

格' s ':聲調(D,時間);

打破;

格‘d’:聲調(E,時間);

打破;

格‘F’:聲調(F,時間);

打破;

格‘G’:聲調(G,時間);

打破;

格‘h’:聲調(A,時間);

打破;

格‘j’:聲調(B,時間);

打破;

格‘k’:聲調(C2,時間);

打破;

默認:break

}

}

puts("拜拜!\ n \ r ");

}

  • 上一篇:如何在linux下安裝QT源碼包,安裝後以正式形式編程。
  • 下一篇:雷軍創辦小米的勵誌故事
  • copyright 2024編程學習大全網