ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:180.42KB ,
资源ID:4398378      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4398378.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(设计报告 B计算机105 刘婷.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

设计报告 B计算机105 刘婷.docx

1、设计报告 B计算机105 刘婷C+程序设计课程设计报告( 2010 - 2011 年度第2学期)留言板的实现专业计算机科学和技术(数据库应用)学生姓名刘婷班级B计算机105学号1010704510指导教师许秋艳完成日期2011-7-6目 录1 概 述 11.1 课程设计目的 11.2 课程设计内容 12 系统需求分析 12.1 系统目标 12.2 主体功能 12.3 开发环境 13 系统概要设计 24系统详细设计 24.1留言板保存模块设计 24.2留言板签署日期模块设计 34.3留言板阅读模块设计 34.4留言板转存模块设计 45 测试 55.1 测试方案 56 小结 5参考文献 7附 录

2、8附录1 源程序清单 8附录1.1留言板保存模块程序 8附录1.2留言板签署日期模块程序 9附录1.3留言板阅读模块程序 9附录1.4留言板转存模块程序 10留言板的实现1 概 述 1.1 课程设计目的C+程序设计课程设计是在学习完Visual C+面向对象编程教程课程后开设的一门实践性课程。要求学生以个人为单位,在教师指导下,运用理论课所学知识,借助参考书籍,选择一个课题,使用C+语言,完成一个功能相对完整,具有应用价值的软件。达到加深理解课堂教学内容,熟悉程序设计的基本流程、掌握程序设计基本方法,基本技巧、并能综合运用,提高程序设计能力。通过本课程的实践,熟练掌握C+语言中面向过程部分的内

3、容,能够运用C+语言解决一个实际问题。1.2 课程设计内容利用用文件的输入输出制作一个留言板要求:1. 有滚动条;2. 能选择保存路径;3. 能签署留言日期;4. 能选择留言打开路径并阅读留言;5. 能转存留言内容。2 系统需求分析2.1 系统目标熟悉WINDOWS操作系统的基本操作。 掌握C+基本知识,主要有类的定义与实现,一些简单操作符种载等。 知道MFC一些通用类的基本属性与方法以及其使用。 能利用Visual C+界面的相关控件进行程序的编写 ,知道C+编译程序的若干调试技术。2.2 主体功能2.3 开发环境需要WINDOWS操作系统与Visual C+6.0集成开发环境。个人所用的是

4、Win7操作系统,集成开发环境是 Microsoft Visual C+6.03系统概要设计各个对话框的设置,按钮控件,编辑框的设置,以及代码的编写。对留言板各项功能的逐步编写和实现。程序中常用的文件操作包括创建文件,打开文件,读文件,写文件和关闭文件等,实现这些操作的函数都封装在文件类CFile中,应该先掌握CFile类的使用,首先定义CFile对象,创建和打开文件,然后进行读写操作,最后关闭文件,同时,要保证文件操作的正确性,还要进行错误处理。4系统详细设计(1)选课题,明白课题的需求。(2)对课题进行深入分析,罗列出课题要求,查找资料,对程序的设计具有一个宏观的思路。(3)初步编写程序代

5、码。(4)深入编写程序,把程序分成几个小的模块,分部实现其功能。(5)编写程序界面,并且逐步调试程序。(6)进行模块整合,找出并排除BUG。(7)写程序设计报告,并且不断修改,直至符合要求。4.1留言板保存模块设计1利用MFC APPWizard建立对话框工程。2设计运行的界面。 名字为“留言板”的静态文本框文件,起提示的作用,名字为“保存”的按钮控件,无名字的编辑框控件,用于输入留言的内容。3.添加变量。4.设计按钮函数并且添加代码。 该模块的设计过程中要注意的是无名字的编辑框控件的关联变量是m_note,CString类型,一定要事先定义。否则运行的时候会出现error,说是没有定义的变量

6、。制作的留言板只能输入和显示一行文字,使用起来很不方便,应该使留言板具有回车换行的功能,并添加水平和垂直滚动条,让其能输入显示多行文字。有滚动条的编辑框:4.2留言板签署日期模块设计留言具有时效性,是需要日期的,这样,如果想要签署日期,直接按命令按钮即可,可以显示出程序的实用性。1.增加一个签署日期的按钮控件2.添加函数及其代码 给“签署日期”按钮添加单击事件处理函数OnDateButton(),该按钮的ID属性为“IDC_DATE_BUTTON”,名称为“签署日期”。用到的函数有以下几个:GetCurrentTime():CTime类的成员函数,用来获得当前时间,常用来初始化CTime类的对

7、象。GetYear():该函数用来获得CTime类对象的年份值。GetMonth():该函数用来获得CTime类对象的月份值。GetDay():该函数用来获得CTime类对象的天数值。4.3留言板阅读模块设计1.增加一个阅读按钮控件2.添加函数以及代码,给阅读按钮添加单击事件处理函数OnReadButton()try在需要判断异常错误时使用,若其后的大括号括起来的部分有异常错误,则转到后面相应的catch语句处执行。 try并不直接对错误进行处理,而是产生相应错误对象的指针。Catch是用来捕捉异常错误对象指针,捕捉到后,后面的大括号括起来的部分对错误对象进行处理。异常错误对象指针可能用new

8、分配的一块内存,因此处理完毕后,应该用delete删除,以释放内存;但是异常错误对象指针也可能是放在堆栈中,这种情况下就不能删除,容易引起程序错误,所以MFC用异常类CException的成员函数Delete()处理异常错误对象指针。4.4留言板转存模块设计 留言读完以后,可以保存在一个文件中,以便于以后的查找。1.增加一个转存按钮控件2.添加函数以及代码,给阅读按钮添加单击事件处理函数OnSaveButton()程序中用到CFile类的Open()函数。定义如下:CFile:modeCreate:表示若文件不存在,则建立。CFile:modeWrite:表示以写方式打开文件。5 测试5.1

9、测试方案代码逐步输入,一个模块调试成功后再进行下一个模块的编译和输入。全部完成之后,逐步调整,逐步优化。进行调试后运行程序。5.2 测试结果运行成功,可以实现相关功能。运行界面如图所示。6 小结 编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中将发现总体设计和模块思想会存在很多问题,需不断改进如何实现各函数功能,达到预期效果也将是一项繁复的工作。代码的调试:在Visual C+环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。最后修饰:程序可以正确运行之后,在不影响程序功能的情况下,运用各种辅助性符号,使界面更

10、加美观漂亮,操作更人性化,增强程序的新意与可行性。虽然学过C+,但通过这次课程设计,使我更加熟悉的掌握了C+语言的运用。帮助我熟悉了更多C+语言的功能,提高了我的动手能力,在图书馆的各种相关书籍的查阅中从中学到了许多解决实际问题的宝贵经验使我对自己更有自信,对编程的兴趣更深了。总之,在通过真正动手之后,我C+语言设计和有关它的操作方面都获益匪浅,但离真正的系统开发软件设计还是很有差别的,需要我们不断学习新的知识扩充自己才能做好这一工作。学无止境,我们现在了解的东西还很少,更别说很好的掌握自己的专业知识,要谦虚的积极认真学习,不断的增强自身的能力提高个人素质,向一个真正的软件人发展。在这里郑重的

11、感谢指导老师的帮助,也感谢学校提供给我们这次宝贵的实践机会,让我们可以动手动脑,大大提高了个人的能力和素质,虽然这个留言板的实现这个程序是很简单很初步的,但在编制的过程中我充分体会到了程序编制的流程,为以后的学习打下了良好的基础。参考文献 1谭浩强. C程序设计(第三版) . 北京:清华大学出版社, 2005 2王育坚.Visual C+面向对象编程教程(第2版) . 北京:清华大学出版社, 2007 3游洪跃 伍良富 王景熙. C+面向对象编程程序设计实验和课程设计教程. 北京:清华大学出版社, 2009附 录附录1 源程序清单附录1.1留言板保存模块程序 CString msg=File

12、save error; CFileDialog dlg(false,TXT,NULL,NULL,Text file(*.txt)| *.TXT|,NULL); if(dlg.DoModal()=IDOK) m_note=dlg.GetPathName(); else MessageBox(msg); UpdateData(TRUE); CFile file; if(!file.Open(m_path,CFile:modeWrite|CFile:modeCreate) MessageBox(Openning file error); return; int len=m_note.GetLengt

13、h(); char *buffer=new charlen+1; if(!buffer) MessageBox(Allocating fail); else strcpy(buffer,m_note); bufferlen=0; file.Write( buffer, len ); delete buffer; file.Close(); UpdateData(FALSE);附录1.2留言板签署日期模块程序CString str_year,str_month,str_day; CTime current_time; current_time=CTime:GetCurrentTime(); st

14、r_year.Format(%d,current_time.GetYear(); str_month.Format(%d,current_time.GetMonth(); str_day.Format(%d,current_time.GetDay(); m_date=str_year+-+str_month+-+str_day; UpdateData(true); m_Note=m_Note+n+m_date; UpdateData(false);附录1.3留言板阅读模块程序CString msg=File save error; CFileDialog dlg(true,TXT,NULL,N

15、ULL,Text file(*.txt)| *.TXT|,NULL); if(dlg.DoModal()=IDOK) m_path=dlg.GetPathName(); else MessageBox(msg);CFile file; if(!file.Open( m_path,CFile:modeRead ) MessageBox(Openning file error); return; int len=file.GetLength(); char *buffer=new charlen+1; if(!buffer) MessageBox(Allocating fail); return;

16、 else try file.Read(buffer,len); catch (CFileException *e ) MessageBox(Reading file error); file.Close(); e-Delete(); return; bufferlen=0; m_Note=buffer; delete buffer; file.Close(); UpdateData(FALSE);附录1.4留言板转存模块程序CFile file; if(!file.Open( m_path,CFile:modeRead ) MessageBox(Openning file error); r

17、eturn; int len=file.GetLength(); char *buffer=new charlen+1; if(!buffer) MessageBox(Allocating fail); return; else try file.Read(buffer,len); catch (CFileException *e ) MessageBox(Reading file error); file.Close(); e-Delete(); return; bufferlen=0; file.Close(); m_path=d:total.txt; if(!file.Open(m_path,CFile:modeWrite|CFile:modeCreate|) MessageBox(Openning file error); return; file.SeekToEnd(); file.Write(buffer,len); file.Close(); delete buffer;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2