通信程序设计实习报告.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信工程程序设计实习报告 经过为期十天的通信实习,我认识到了很多程序设计方面的东西,也学到了很多专业方面的知识。 从一开始上课时,我初步了解到了这几天的程序设计实习到底该做些什么,要做到什么样的程度,有些什么样的要求和内容。在老师所提供的几个选题中我们小组选择了现阶段使用的较多的语音查询系统“10086”,来进行我们的设计。 第一天实习,是比较手忙脚乱的,也是毫无头绪的,都是没头苍蝇乱撞。鉴于第一次在机房里头旁边还有个电话机,我还是有点小激动的,首先便把东进语音卡小玩了一下。平常编程时,编的都是一些比较小的程序,只是些简单的算法。在编语音卡程序时,我发现平常我们所学的东西好像实用性非常差,我的实践能力的缺乏。花了一天的时间,我就了解了一下语音卡使用的一部份内容,着重练习了MFC控件的使用。主要学习了如何添加按钮框,怎样实现点击按钮之后的内容的显示,以及按钮之间的内容的传递等。这一天的程序设计实习让我非常的担忧,我感觉我会的东西实在太少了,实在是不足以驾驭这样的实习,不过见大家都是这样,心情也没有那么差。 之后,我们便做了语音卡的放音,一开始我们先自己试着做,但是实在是由于对这个东西的了解太少了,搞了半天也实在是不知道从何处下手。然后我就试着从老师所给的语音卡实习指导书和DBDK编程参考手册中寻找解决方法,遇到不知道的问题或者不明白的东西就百度或者询问老师,开始我们找到了BOOL WINAPI StartPlayFile ( WORD wChnlNo, LPSTR FileName, DWORD StartPos )这个函数,但是对于函数的参数不了解,介于当时没有讲List,所以对于这样一个函数还是不知道从何下手的,上网百度后也没有找到比较好的讲解,正当我们手足无措的时候,老师给我们发过来一个示例,我们试运行了,直观地了解到了这个程序的功能。不过在运行时并没有直接的听到放音的效果,这下子又有点懵了,老师运行的时候明明是好的,怎么到了我们这儿就不行了呢?试了几次依然是什么声音都没有,我们便又开始寻找原因,对照函数看函数中的各个参数的意义,在看到通道号的时候,我们看了会儿才知道原来是通道号错了,是我们的通道号和老师所使用的机子不一样导致的,之后我们修改了,便运行正常。当时感觉就是轻松啊,就一个放音就折腾了我们这么长时间,实在是令人费解。在这个过程中使用到的List控件,在对于UpdateData中的返回值及其含义在第一天的实习中我们就已经有了些许的了解。当返回值为TRUE时,表示将控件的内容保存到变量中;当返回值为FALSE时,表示将表示将变量的内容保存到控件中。当然在这个放音的制作过程当中,我们也运用到了列表框,这使得编写程序变得简单,而且很多功能也易于实现,显得更加简洁,这样会使得整个界面更加人性化。 在做语音卡放音的整个过程中,我们还遇到了一些比较重要的问题。 如何收号? 通过如下这样的一个函数来收号,前面的GetDtmfCode()函数的返回值是-1和1——16之间的数字,当有号收进去之后,则while判断成立,就继续进行下一个数字的录入,否则依然播放提示音要求用户的输入。 while((code=GetDtmfCode(m_ValidCh))!=-1) { Dtmf[len++]=ConvertDTMF(code); m_List1.SetItemText(m_ValidCh,2,收号); } 收号之后在计算机中的存储与识别问题? 计算机中数字的存储是用ASCII码值来表示的,所以我们需要用到函数来进行数值的转换,以适应计算机的运行要求。因为GetDtmfCode()函数的返回值是这样表示的: 1~9:1~9键。 10:0 键。 11:*键。 12:#键。 13:A 键。 14:B键。 15:C键。 16:D 键。 所以我们可以用这样的函数来进行转换: char CMy2Dlg::ConvertDTMF(int ch) { char c; switch(ch) { case 10: c = 0; break; case 11: c = *; break; case 12: c = #; break; case 13: case 14: case 15: c=ch-13+a; break; case 0: c=d; break; default: c = ch + 0;//change DTMF from number t

文档评论(0)

新起点 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档