- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
暨南大学本科实验报告专用纸(附页)
第 PAGE 16 页 共 NUMPAGES 16 页
第 PAGE 1 页 共 NUMPAGES 16 页
暨南大学本科实验报告专用纸
课程名称 C++ 程序设计 成绩评定
实验项目名称 字符串及基本输入输出 指导教师
实验项目编号 02 实验项目类型 验证 实验地点 C304
学生姓名 学号
学院 系 专业 软件工程
实验时间 2010年 4月 14 日 上午
一、实验目的
进一步熟悉C++的标准输入、输出功能;
熟悉vector类型的使用;
进一步熟悉string类型的使用。
二、实验环境
P4 1.7G计算机一台,Windows XP操作系统,Microsoft Visual C++ 2005编程环境。
三、实验内容及分析
根据题目要求编写程序,验证程序的正确性。撰写实验报告并提交纸质版本,程序源代码的电子版发送至教师的Email信箱。
(一)最长的、最短的字符串(本题下课之前提交)
题意描述:练习3-4(输入以EOF标记结束)
写一个程序,找出输入中最长和最短的字符串。
问题分析与解决
根据题意,需要得到输出四个值:最长maxlength,最短minlength以及其对应的字符串。先将字符串单个读取,并逐一进行比较,将当前比较所得的字符串最长与最短值分别保存在maxlength 与 minlength 中,并将字符串全部存放在一容器中。然后分别将长度为最长与最短的字符串分别存储在两容器中,输出即可。
预设maxlength=0 与minlength=1000 ,并在读取时进行比较,存入 vector ret 中。
将长度为最长与最短的字符分别存入vector longret 与 shortret 中。
调试、测试运行情况及结果分析
测试数据及运行结果
结果分析与结论
根据输入的数据(上图上部分),得出最长字符长度33,找到并输出一个与其相符的字符串:“designers should build an original”;得出最短字符长度6,找到并输出两给与其相符的字符串:“it out”、“of the”。程序运行正确,并达到实验要求。
(二)单词计数
题意描述:练习4-5(输入以EOF标记结束)
写一个函数,从输入流中读取单词,并把单词保存在一个vector 中。然后使用这个函数写一个程序,计算输入中单词的数目,并计算每个单词出现的次数。
问题分析与解决
首先,需要将输入流中的单词读取出来并把它保存在一个vector word 中,用到函数 Getwords() ,该函数有编程者自己定义。然后将vector word中的每个元素单独作为处理对象,从第一个开始,逐个与其后的元素比较,遇到相同的便从vector word中删除,并将删除次数纪录在vector Times中直到最后一个。此为第一轮比较。然后取vector word中的第二个,从第三个开始与其比较,删除相同的,依此类推。直到 vector word 中没有相同元素为止。
通过Getwords( )来得到单个单词:
对单词进行单个处理,并将vector中的重复单词删除,couts纪录删除次数:
调试、测试运行情况及结果分析
实验中碰到的问题及解决方法
原想通过构造一结构体,分别将word 与 times 分别记录,然后用以vector存储,而在存储前进行必要的比较,若vector中已有该单词,则只将times自加1,结果失败。原因:结构体中只能是静态变量(static)。后改用本次实验中的方法,见“问题分析与解决”。
测试数据及运行结果
结果分析与结论
输入:“I love My home , home is a good place !”总共10个不同的单词(标点符号算作单个单词);有输出可知:该string种有单词10个,除了home 出现2次,其他的均出现1次。结果正确,达到实验要求。
(三)异常处理
题意描述:3-6
在3.1的程序中,如果学生没有输入任何家庭作业成绩,那么计算平均值时可能会除以0。在C++中,除以0是不确定的,也就是说系统会进行随意操作。首先描述在你的系统在程序运行中出现除以0的情况时如何反应;然后在3.1节的程序中添加C++的异常处理,使得程序行为不依赖于系统如何对待除以0的情况。
问题分析与解决
题中需解决问题:若没有输入家庭作业成绩时,使程序行为不依赖与系统对待除以0的处理。只需在得到家庭作业最终成绩前,对输入的家庭做业次数进行判断是否合法即可。在3.1程序中添加如下部分:
调试、
原创力文档


文档评论(0)