c語言鋼琴視頻,鋼琴指法視頻

本文目錄一覽:

C語言編寫簡單鋼琴

呵呵,挺好玩 ,還要回放啊。。。那還得用數組

#include stdio.h

#include stdlib.h

#include conio.h

#include windows.h

int main( )

{

char ch;

printf(“Please play the piano! 121314151617111\n”);

while((ch=getche())!=’q’)

{switch(ch)

{

case ‘1’: Beep(262,300);break;

case ‘2’: Beep(294,300);break;

case ‘3’: Beep(330,300);break;

case ‘4’: Beep(349,300);break;

case ‘5’: Beep(392,300);break;

case ‘6’: Beep(440,300);break;

case ‘7’: Beep(494,300);break;

default:break;

}

}

system(“pause”);

return 0;

}

怎樣用C語言編一段鋼琴伴奏?

看看這個吧…應該有用

#includestdio.h

#includedos.h

#includebios.h

#includetime.h

#define N1 32 /*一拍*/

#define N2 16

#define N4 8

#define N8 4

#define N16 2

#define END 0

/*其中:N1,N2,N4,N6,N8,N16分別代表

一拍,二分之一拍,四分之一拍,

八分之一拍,十六分之一拍。*/

enum NOTES

{

C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,

/*低度音調分別是:1,2,3,4,5,6,7*/

C0=262, D0=286, E0=330, F0=349, G0=440, A0=440, B0=494,

/*中度音調分別是:1,2,3,4,5,6,7*/

C1=523, D1=158, E1=659, F1=698, G1=784, A1=880, B1=998,

/*高度音調分別是:1,2,3,4,5,6,7*/

C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976

/*高八度音調分別是:1,2,3,4,5,6,7*/

}

song1[]={

G0,N16,G0,N8,A0,N8,G0,N8,C1,N8,B0,N4,G0,N16,

G0,N8,A0,N8,G0,N8,D1,N8,C1,N4,G0,N16,G0,N8,G1,N8,

E1,N8,C1,N8,B0,N16,B0,N8,A0,N4,F1,N16,F1,N8,E1,

N8,C1,N8,D1,N8,C1,N4,END,END

/*以上是曲子代碼,你可以嵌入自己喜歡的歌曲代碼*/

/*注意:數組中的偶數元素代表音符奇數元素代表拍長.*/

};

song2[]={

C10,N1,D10,N1,E10,N1,F10,N1,G10,N1,A10,N1,B10,N1,

C10,N2,D10,N2,E10,N2,F10,N2,G10,N2,A10,N2,B10,N2,

C10,N4,D10,N4,E10,N4,F10,N4,G10,N4,A10,N4,B10,N4,

C10,N8,D10,N8,E10,N8,F10,N8,G10,N8,A10,N8,B10,N8,

C10,N16,D10,N16,E10,N16,F10,N16,G10,N16,A10,N16,B10,N16,

C0,N1,D0,N1,E0,N1,F0,N1,G0,N1,A0,N1,B0,N1,

C0,N2,D0,N2,E0,N2,F0,N2,G0,N2,A0,N2,B0,N2,

C0,N4,D0,N4,E0,N4,F0,N4,G0,N4,A0,N4,B0,N4,

C0,N8,D0,N8,E0,N8,F0,N8,G0,N8,A0,N8,B0,N8,

C0,N16,D0,N16,E0,N16,F0,N16,G0,N16,A0,N16,B0,N16,

C1,N1,D1,N1,E1,N1,F1,N1,G1,N1,A1,N1,B1,N1,

C1,N2,D1,N2,E1,N2,F1,N2,G1,N2,A1,N2,B1,N2,

C1,N4,D1,N4,E1,N4,F1,N4,G1,N4,A1,N4,B1,N4,

C1,N8,D1,N8,E1,N8,F1,N8,G1,N8,A1,N8,B1,N8,

C1,N16,D1,N16,E1,N16,F1,N16,G1,N16,A1,N16,B1,N16,

C2,N1,D2,N1,E2,N1,F2,N1,G2,N1,A2,N1,B2,N1,

C2,N2,D2,N2,E2,N2,F2,N2,G2,N2,A2,N2,B2,N2,

C2,N4,D2,N4,E2,N4,F2,N4,G2,N4,A2,N4,B2,N4,

C2,N8,D2,N8,E2,N8,F2,N8,G2,N8,A2,N8,B2,N8,

C2,N16,D2,N16,E2,N16,F2,N16,G2,N16,A2,N16,B2,N16,END

/*以上是音符測試代碼,你可以通過系統發出的音調選擇你需要的音符*/

/*注意:數組中的偶數元素代表音符奇數元素代表拍長.*/

};

song3[]= {

C0,N8,C0,N8,G0,N8,G0,N8,A0,N8,A0,N8,G0,N4,

F0,N8,F0,N8,E0,N8,E0,N8,D0,N8,D0,N8,C0,N4,

G0,N8,G0,N8,F0,N4,E0,N8,E0,N8,D0,N4,G0,N8,

G0,N8,F0,N8,F0,N8,E0,N8,E0,N8,D0,N4,C0,N8,

E0,N8,G0,N4,A0,N8,C1,N8,G0,N4,F0,N8,F0,N8,

E0,N8,E0,N4,D0,N8,D0,N8,C0,N4,C0,N8,C0,N8,

G0,N8,G0,N8,A0,N8,A0,N8,G0,N4,F0,N8,F0,N8,

E0,N8,E0,N8,D0,N8,D0,N8,C0,N4,G0,N8,G0,N8,

F0,N4,E0,N8,E0,N8,D0,N4,G0,N8,G0,N8,F0,N8,

F0,N8,E0,N8,E0,N8,D0,N4,C0,N8,E0,N8,G0,N4,

A0,N8,C1,N8,G0,N4,F0,N8,F0,N8,E0,N8,E0,N4,

D0,N8,D0,N8,C0,N4,END

/*以上是曲子代碼,你可以嵌入自己喜歡的歌曲代碼*/

/*注意:數組中的偶數元素代表音符奇數元素代表拍長.*/

};

song4[]= {

C10,N4,B0,N4,G0,N8,A0,N4,E0,N16,D0,N8,C0,N8,

D0,N8,G0,N8,E0,N8,E0,N4,E0,N8,G0,N8,E0,N8,

D0,N8,D0,N4,A0,N8,A0,N8,G0,N8,A0,N8,B0,N8,

G0,N8,G0,N8,E0,N4,C10,N8,B0,N8,G0,N8,A0,N4,

E0,N8,D0,N8,C0,N8,D0,N8,G0,N8,E0,N4,C0,N8,D0,N8,

E0,N4,G0,N8,E0,N8,D0,N4,C0,N8,B10,N8,C0,N8,B10,N8,

A10,N4,A0,N8,A0,N8,A0,N8,C1,N8,D1,N8, E1,N8,E1,N8,

C1,N8,A0,N8,A0,N8,B0,N16,A0,N16,G0,N8,E0,N8,A0,N8,

A0,N8,C1,N8,D1,N8,E1,N8,E1,N8,C1,N8,A0,N8,A0,N8,

B0,N8,A0,N8,B0,N16,A0,N16,G0,N8,E0,N8,D1,N16,D1,N16,D1,N8,

D1,N8,A0,N16,B0,N16,A0,N8,G0,N8,E0,N8,D1,N16,D1,N16,D1,N8,

A0,N16,B0,N16,A0,N8,G0,N8,E0,N8,A0,N8,A0,N8,A0,N4,A0,N8,

A0,N8,A0,N4,C10,N8,B0,N8,G0,N8,A0,N4,E0,N16,D0,N16,C0,N8,

D0,N8,G0,N8,E0,N4,E0,N4,E0,N16,G0,N16,E0,N16,

D0,N16,D0,N4,A0,N16,A0,N16,G0,N8,A0,N8,B0,N8,

G0,N16,G0,N16,E0,N4,C10,N8,B0,N8,G0,N8,A0,N4,

E0,N16,D0,N16,C0,N8,D0,N8,G0,N8,E0,N4,C0,N16,D0,N16,

E0,N4,G0,N8,E0,N8,D0,N4,C0,N8,B10,N8,C0,N16,B10,N16,

A10,N4,END};

/*以下是播放程序代碼*/

void MusicPlay(int *song)

{

int note=0,fre,dur,control;

clock_t goal;

while(song[note]!=0)

{

fre=song[note];

dur=song[note+1];

if(kbhit())break;

/*int kbhit()函數返回最近所敲的按鍵*/

if(fre)

{

outportb(0x43,0xB6);

/*函數void outportb(int port,char byte)

將字節byte寫入指定的輸出端口port*/

fre=(unsigned)(1193180L/fre);

outportb(0x42,(char)(fre8));

outportb(0x42,(char)(fre8));

control=inportb(0x61);

/*函數int inportb(int port)從指定的

輸入端口讀入一個字節,並返回這個字節*/

outportb(0x61,(control)|0x3);

}

goal=(clock_t)dur+clock();

while(goalclock());

if(fre)

outportb(0x61,control);

goal=(clock_t)0;

note=note+2;

}

}

/*以下是主函數其中包括異常處理*/

void main(void)

{ int n;

do{

printf(“If you want to listen music please input a number(1-4):”);

if(scanf(“%d”,n))

{

if(n=40=n)

switch(n)

{

case 1:MusicPlay(song1);break;

case 2:MusicPlay(song2);break;

case 3:MusicPlay(song3);break;

case 4:MusicPlay(song4);break;

}

else printf(“\n\t\tYou can input ‘0’ to exit!\n\n”);

}

else {printf(“\n\tInput error,please prass any key to exit!\n”);break;}

}while(n!=0);

return ;

getch();

}

求郝斌老師的C語言180教程 網盤版的

《C語言視頻教程》百度網盤高清資源免費在線觀看

鏈接:

 提取碼:8yck

作品相關介紹:

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。

譚浩強c語言視頻教程下載地址

譚浩強【004】

鏈接:

提取碼:ncnf 複製這段內容後打開百度網盤手機APP,操作更方便哦!

若資源有問題歡迎追問~

c語言 彈鋼琴程序

while((ch=getche())!=’q’) 改成

while((ch=getchar())!=’\0′)

error C2146: syntax error : missing ‘;’ before identifier ‘WCHAR’

語法錯誤,在’WCHAR’前丟失’;’

但我在你的源程序里沒發現’WCHAR’

所以還有什麼問題,我就不太清楚了

原創文章,作者:NGVA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132760.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NGVA的頭像NGVA
上一篇 2024-10-03 23:54
下一篇 2024-10-03 23:54

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論