




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页 共21页,案例九 字符统计软件,本案例知识要点 字符数组的使用 字符指针的使用 类的设计和使用,第2页 共21页,一、案例需求,案例描述 编程实现一个字符统计软件,统计一段用户输入的文字中所包含的英文字符数、数字字符数、空格数及其他类型字符数。通过本案例可以训练读者用面向对象的方式来思考和解决问题的能力。 案例效果图 字符统计软件案例效果如图所示。,第3页 共21页,字符统计软件案例效果图,第4页 共21页,功能说明 提供界面,接受用户输入的字符串,其中可以输入英文字符、数字字符、空格及其他类型字符,按回车键结束输入。 输入结束后,程序统计出各种字符出现的个数,包括英文字符数、数字字符数、空格数及其他类型字符数。 完成一次统计后,允许用户选择继续输入字符进行累加统计、清空历史数据重新输入字符串进行统计,或退出程序。,第5页 共21页,二、案例分析,本案例的需求和要求实现的任务相对简单,定义一个类即可实现字符类型判断及其个数的统计。对输入的字符串中每一个字符进行判断,根据字符是“az”或“AZ”、“”、“09”还是其他类型字符分别进行统计。,第6页 共21页,三、案例设计,类的设计 基于上述分析,设计一个类CCharacterStatistic,将对类的声明和定义保存在CharacterStatistic.h文件中。CCharacterStatistic类提供了将所有记载个数的变量清零、统计各种类型的字符个数等功能,如图所示。,第7页 共21页,CCharacterStatistic类图,第8页 共21页,数据成员 int m_charCount; 用于统计字母的字符个数。 int m_digitCount; 用于统计数字的字符个数。 int m_spaceCount; 用于统计空格的字符个数。 int m_otherCount; 用于统计其他类型的字符数。,第9页 共21页,函数成员 void Analyze(const char * input); 用于扫描字符串,统计各种类型的字符的个数。 CCharacterStatistic(); 用于构造函数,将所有记载个数的变量清空。 virtual CCharacterStatistic(); 用于析构函数。 int GetCharCount(); 用于返回字母个数。 int GetDigitCount(); 用于返回数字个数。 int GetSpaceCount(); 用于返回空格个数。 int GetOtherCount(); 用于返回其他类型字符的个数。 void Reset(); 将所有记载个数的变量清零。,第10页 共21页,主程序设计,主程序流程图,第11页 共21页,第12页 共21页,第13页 共21页,第14页 共21页,第15页 共21页,第16页 共21页,第17页 共21页,第18页 共21页,第19页 共21页,第20页 共21页,五、案例总结与提高,案例总结 本案例需求简单明了,主要利用面向对象程序设计的类来解决问题。 类(class)的概念是面向对象程序设计的核心概念,是将对数据和数据的操作、处理封装在一个程序模块中的方法。将程序以类的形式组织成若干模块,使其获得了最佳的结构特性。在结构化程序设计(SP)中以函数作为程序的基本模块,而在面向对象(OOP)程序设计中是以类作为程序的基本模块。该案例只是一个类的引导,从本篇开始的案例都设计了类,对于由面向过程转向面向对象的程序员来说,必须细心分析此后的每一个案例如何将数据和函数封装到类中,如何实现类的使用,并体会面向对象设计的优越性。,第21页 共21页,案例提高 在全面理解该案例的基础上,读者可以作一些改动与提高: 本案例将汉字及一些特殊符号一律归类为其他字符,不能单独统计汉字的个数。由于汉字在机器内的表示需要用两个字节连续编码,并且两个字节的最高位都为1,而英文字符一般是用一个字节表示。读者可以查阅相关资料,补充实现对汉字字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校精准扶贫实施方案
- 新春“丝路情绿原梦”大学文艺晚会招商策划书
- 装饰公司网站策划方案
- 2025年上海新能源汽车指标租赁协议合同
- 2025华语教师聘请的合同范本
- 《课件对象分析》课件
- 《企业破产法概述》课件
- 2025建筑工程水电分包合同示范文本
- 《道德沦丧及其防范》课件
- 2025别墅房屋买卖合同模板
- 新风系统的施工组织方案
- 义务教育英语课程标准(2022年版) (1)
- 工程项目内部控制流程图表
- 百家姓全文带拼音打印版本
- 强夯试夯报告(共12页)
- 关于电商平台对入驻经营者的审核要求或规范文件
- 骨优导介绍PPT
- 道场迎请亡魂开五方科仪
- 毕业设计(论文)-四自由度工业机械手的设计
- 八下数学19.1.1-第1课时-常量与变量ppt课件
- 用Polyphen2和SIFT进行突变预测
评论
0/150
提交评论