西安交通大学创新报告

西安交通大学创新报告

ID:30283199

大小:1.17 MB

页数:6页

时间:2018-12-28

西安交通大学创新报告_第1页
西安交通大学创新报告_第2页
西安交通大学创新报告_第3页
西安交通大学创新报告_第4页
西安交通大学创新报告_第5页
资源描述:

《西安交通大学创新报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、西安交通大学创新实验报告课程C语言程序设计第1页共6页系别航空航天学院实验日期2004年10月10日专业班级飞行器制造实验报告日期2004年12月15日姓名郭坚学号03171022报告退发(订正、重做)教师审批签字一.项目名称模拟电子琴二.开发背景:今年开了C语言课程,原来没有接触过计算机编程的我,对他有一种莫名的好奇,又由于今年一门选修课是C++builder程序设计,又是一门计算机编程课,使我对计算机编程更感兴趣了,刚好C语言有一个创新试验,给了我一个机会,借这个机会,加上自己对音乐的一点爱好,便萌发了用C++builder语言编一个电子琴的想法,得到了杨琦老师的大力支持,便

2、有了这个“电子琴”。三.技术路线或工作原理:采用的软件及开发平台是C++Builder6.0用了C++Builder6.0中的键盘事件,使每一个音在键盘上都有一个键与之对应,在按下键的时候,发出相应的声音,同时在界面上配有一定的动画。该电子琴每一个音都与键盘上的一个键对应,按一个键,就会发出一个与之对应的音。现将键盘对应的音说明如下;考虑到一般的音乐只需要少量低音,中音和高音,所以,本电子琴采用了18个音,即低音4567中音1234567高音1234567在键盘上,他们对应的键分别是低音Q W E R中音1234567高音UIOPJKL四.算法描述(程序部分源码或伪代码)该程序具

3、体算法如下void__fastcallTForm1::FormKeyDown(TObject*Sender,WORD&Key,TShiftStateShift){switch(Key){case'Q':{this->MediaPlayer1->FileName="#4好.WAV";this->MediaPlayer1->Open();this->MediaPlayer1->Play();Graphics::TBitmap*Bitmap1=newGraphics::TBitmap();Bitmap1->LoadFromFile("低因4.bmp");Canvas->Draw(10,

4、60,Bitmap1);break;}………void__fastcallTForm1::FormKeyUp(TObject*Sender,WORD&Key,TShiftStateShift){switch(Key){case'Q':{this->MediaPlayer1->Close();Graphics::TBitmap*Bitmap1=newGraphics::TBitmap();Bitmap1->LoadFromFile("4%.bmp");Canvas->Draw(10,60,Bitmap1);break;}………void__fastcallTForm1::FormPai

5、nt(TObject*Sender){Graphics::TBitmap*Bitmap1=newGraphics::TBitmap();Bitmap1->LoadFromFile("1.bmp");Canvas->Draw(100,50,Bitmap1);Graphics::TBitmap*Bitmap2=newGraphics::TBitmap();Bitmap2->LoadFromFile("2.bmp");Canvas->Draw(140,50,Bitmap2);};………总共是void__fastcallTForm1::FormKeyDown(TObject*Sender

6、,WORD&Key,TShiftStateShift)void__fastcallTForm1::FormKeyUp(TObject*Sender,WORD&Key,TShiftStateShift)void__fastcallTForm1::FormPaint(TObject*Sender)三种格式的语言五.实验结果实验结果程序起来会出现下面的结果按下键盘上3键,会出现下面的结果,同时发出中音3抬起键盘上3键,会出现下面的结果,同时中音3发声停止其他键是一样,即按一个键,对应的数字就会变亮,同时会发出对应的一个音,抬起后,对应数字回到原来的样子,同时发声停止。六.测试分析:刚开

7、始用的是按钮设计,不太令人满意,因为那只能发声,而无法与动画同时,而且,发出一个音后,无法将其停止。后来卫老师建议我用键盘事件,效果不错。于是就选用了键盘上18个比较顺手的键,每一个键对应一个音,同时,对应一组动画。程序是在window2000下编好的,但是在windowXP下测试比在window2000效果好,主要是在window2000下程序反应时间太长,显得有点断断续续的,在windowXP下,键盘事件中的Keydown和Keyup反应时间短,几乎感觉不出来,一按下键,就会

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。