资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1MFC 课程设计报告字符串处理器东南大学机械工程学院机械工程及自动化日期:2010/10/52目 录摘要3Abstract3第一章 设计预备41.1 项目背景41.2 任务需求分析报告4第二章 正式设计52.1 程序(系统)功能设计说明52.2 程序(系统)模块框图62.3 变量、对象(类)设计和算法(函数)设计描述62.4 详细设计8第三章 运行与调试143.1 可提供的测试数据143.2 程序(系统)运行和调试记录与分析14第四章 项目总结164.1 系统使用说明书(操作指南)16 4.2 项目工作情况总结17参考资料18感谢18附录(代码清单)193摘要我所做的项目名叫“字符串处理器” ,它是基于对话框的界面友好的 MFC程序。在其界面上,可以输入三个字符串。在其界面上还有八个按钮,可以实现众多关于字符串的功能,例如查找、插入、合并、替代、大写、小写、删除、匹配等。关键词:字符串处理器 基于对话框 按钮 功能AbstractThe project that I did called “DealWithString”. Its a program, which is dialog-based, with a friendly interface. On the interface, we can input three strings. There are also eight buttons on the interface. They can achieve a multitude of functions about the strings that we have inputted. Such as: searching, inserting, combining, replacing, uppercase, lowercase, deleting, matching and so on.Keyword: DealWithString Dialog-based Button Function第一章 设计预备1.1 项目背景经过对 MFC 一个月的学习,我们对运用 MFC 编程有了一定的了解。为了4检验我们的学习成果,老师布置了一个任务:用 MFC 编写一个程序实现一定功能,题目不限。对于所给的三个字符串,当其长度较小时,我们可以在满足一定规则的情况下轻松地进行查找、插入、合并、替代、大写、小写、删除、匹配。但当其长度较大时,通过编程解决查找、插入、合并、替代、大写、小写、删除、匹配等问题就具有优势了。因而我选择了“字符串处理器”这个项目。1.2 任务需求分析报告1. 需要设计出一个可视化友好的界面。2. 界面上能够输入三个字符串,其中第一个字符串为待处理字符串。3. 界面上须有查找、插入、合并、替代、大写、小写、删除、匹配这八个按钮。能够实现查找、插入、合并、替代、大写、小写、删除、匹配的功能查找功能:查看待处理字符串中是否含有第二个字符串(此时需为单个字符),有则显示所有出现位置,没有则要求用户重新输入;插入功能:将第二个字符串放在待处理字符串中,位置由第三个字符串(此时需为数字,否则插入至最前)决定;合并功能:将第二个字符串放在待处理字符串后;替代功能:将待处理字符串中与第二个字符串相同的字符串全部用第三个字符串替换;大写功能:将待处理字符串中的小写字母全部换成大写字母;小写功能:将待处理字符串中的大写字母全部换成小写字母;删除功能:将待处理字符串中与第二个字符串相同的字符串全部删除;匹配功能:查看待处理字符串中是否含有第二个字符串,有则显示首次出现位置,没有则要求用户重新输入;第二章 正式设计2.1 程序(系统)功能设计说明51. 实现任一功能均需输入待处理字符串;2. 用户若要实现查找、插入、合并、替代、删除、匹配的功能,需输入第二个字符串;3. 用户若要实现插入、替代的功能,需输入第三个字符串;4. 用户若要实现大写、小写的功能,只需输入待处理字符串;5. 查找功能:查看待处理字符串中是否含有第二个字符串(此时需为单个字符) ,有则显示所有出现位置,没有则要求用户重新输入;6. 插入功能:将第二个字符串放在待处理字符串中,位置由第三个字符串(此时需为数字,否则插入至最前)决定;7. 合并功能:将第二个字符串放在待处理字符串后;8. 替代功能:将待处理字符串中与第二个字符串相同的字符串全部用第三个字符串替换;9. 大写功能:将待处理字符串中的小写字母全部换成大写字母,其他字符不作任何处理;10. 小写功能:将待处理字符串中的大写字母全部换成小写字母,其他字符不作任何处理;11. 删除功能:将待处理字符串中与第二个字符串相同的字符串全部删除;12. 匹配功能:查看待处理字符串中是否含有第二个字符串,有则显示首次出现位置,没有则要求用户重新输入;13. 程序中运用字符串函数 Insert()实现插入的功能,Replace()实现代替的功能,MakeLower()和 MakeUpper()实现大小写转换的功能。2.2 程序(系统)模块框图6开始用户输入判断所需执行功能调用相关函数是否有正确结果提醒用户重新输入结果输出结束否是2.3 变量、对象(类)设计和算法(函数)设计描述1. 变量申明CString m_output; /用于接收函数运算结果,并将其输出CString m_string1; /用于接收所输入的待处理字符串CString m_string2; /用于接收所输入的第二个字符串CString m_string3; /用于接收所输入的第三个字符串2. 自定义类 Chandle 及自定义成员函数class Chandle:public CButton CString LeiString1; /类的私有数据 LeiString1,相当于对话框中的string1CString LeiString2; /类的私有数据 LeiString2,相当于对话框中的string2CString LeiString3; /类的私有数据 LeiString3,相当于对话框中的string3CString LeiOutput; /类的私有数据 LeiOutput,相当于对话框中的7output/ Constructionpublic:Chandle();/ Attributespublic:/ Operationspublic:/ Implementationpublic:CString Search(CString,CString); /实现查找的功能CString Insert(CString,CString,CString); /实现插入的功能CString Combine(CString,CString); /实现合并的功能CString Delete(CString,CString); /实现删除的功能CString Replace(CString,CString,CString); /实现替代的功能CString Capital(CString); /实现转成大写字母的功能CString Lowercase(CString); /实现转换成小写字母的功能CString Matching(CString,CString); /实现匹配的功能virtual Chandle();/ Generated message map functionsprotected:/AFX_MSG(Chandle)/ NOTE - the ClassWizard will add and remove member functions here./AFX_MSGDECLARE_MESSAGE_MAP();3. 功能函数设计描述(1)查找:void CDealWithStringDlg:OnChaRu()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Search(CString,CString),并将结果赋给变量m_output。(2)插入:void CDealWithStringDlg:OnChaRu()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Insert(CString,CString,CString),并将结果赋给变量m_output。8(3)合并:void CDealWithStringDlg:OnHeBing()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Combine(CString,CString),并将结果赋给变量m_output。(4)替代:void CDealWithStringDlg:OnTiDai()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Replace(CString,CString,CString),并将结果赋给变量m_output。(5)大写:void CDealWithStringDlg:OnDaXie()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Capital(CString),并将结果赋给变量 m_output。(6)小写:void CDealWithStringDlg:OnXiaoXie()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Lowercase(CString),并将结果赋给变量 m_output。(7)删除:void CDealWithStringDlg:OnShanChu()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Delete(CString,CString),并将结果赋给变量m_output。(8)匹配:void CDealWithStringDlg:OnPiPei()在此函数中定义一个 Chandle 类的对象 deal,通过对象 deal 调用 Chandle类的公有成员函数 CString Matching(CString,CString),并将结果赋给变量m_output。2.4 详细设计1. 字符串处理器界面设计92. 版本信息设置3. 功能函数设计(1)查找CString Chandle:Search(CString LeiString2,CString LeiS
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号