第三次作业随笔(new)包含了补作业
第三次作业的题目:http://www.cnblogs.com/fzuoop/p/5187275.html
第一次看到题目的时候觉得应该是挺简单的,只要把输入的那一串东西挨个判断,用数列的方法,如果碰到符号的话就给个回车,还有的话就是要判断数字处是否超过十位数,也包括小数位。但是这是仅限于想法,但是开始做的时候就碰到了问题。
一方面要把代码分为三部分,scan,print和main这三个部分,如果是把这些集合在一起写的话应该会简单些,另一方面就是要用到queue这个东西,之前学习c++的时候感觉没见过queue这个东西,所以就去网上查了下。
c++的queue用法
back 返回队列最后一个元素引用
empty 判断队列是否为空
front 获得队列最前面一个元素引用
push 在队列尾添加一个数据
pop 删除队列头的一个数据
size 队列中元素个数
//头文件为
刚开始用的话也很尴尬,因为没碰到过,所以得用一次看下这个使用方法。
http://my.oschina.net/Tsybius2014/blog/293618
这里可以学习queue,有代码更加清楚明了。
接下来就是实际操作了
1、先定义scan类
Scan的作用就是一方面把传输进来的字符串按照题目要求分成几份,保存到一个新的队列中。
另一方面就是判断是否有超过十位的数。
碰到错误
*(1)发现 inputqueue.push(input[i]);
这样是不行的,因为要传入的是一个字符串,而input[i]是一个字符,所以要定义一个字符串,把input[i]传给它,这样才行。
*(2)为什么括号输不出来
后来才发现是中文英文的括号是不一样的,好尴尬。
*(3)发现最后一位数字没输出来
在最后加上一个判断,如果最后是数字的话就输出
插曲:做一半的时候突然发现,如果输入的内容本身就是错误的那该怎么办,当时就崩溃了,因为这样还要判断挺多的,虽然仔细去想还是可以想出来的,但是这让做一半的我方了,但是我又去看了一遍题目,题目只要求如果数字超过10位数报错,那么是不是说你本身输入的就得是符合规范的四则运算呢,这点疑惑我去找了学长验证,学长告诉我为了减轻我们的负担,所以去除掉了判断输入是否正确的要求,我也是舒了口气。
头文件

源程序文件


2、定义print类
比较简单就是把接受到的新队列打印出来。
这里没什么错误
头文件

源程序文件

3、Main
定义scan和print类,然后输入字符串,打印出来。
源程序文件

这次作业的感觉
:怎么讲,因为中间有段时间都在各种同学聚会,所以c++的自学也有落下,随笔也没再写了,后来的一周就加紧学习c++,也是比较匆忙,好不容易学完了c++来做这个题目的时候发现,其实根本不需要学习那么多,什么虚函数了,模板,继承什么的都没用到。主要运用的还是基本的语法和一个queue的运用,queue的运用也在这次代码作业后算是理解了挺多。这次作业也是磕磕绊绊,有挺多的小错误的,主要不是太大的错误,所以就没写上,我也明白了学一门语言,最重要的还是实践吧,有没有自己动手去敲代码会差很多。
第三次作业随笔(new)包含了补作业的更多相关文章
- 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day7
<团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day7 一.项目燃尽图 二.项目进展 [20172301郭恺第七天的进展] 第七天完成的任务: 代码整合,界面调整为相对 ...
- 《团队作业第三、第四周》五阿哥团队作业--Scrum 冲刺阶段--Day1--领航
<团队作业第三.第四周>五阿哥团队作业--Scrum 冲刺阶段--Day1--领航 各个成员在 Alpha 阶段认领的任务 在团队合作时任务也会动态分配,最终以实际为主,上述具有参考价值. ...
- 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击
风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...
- OO博客作业2:第5-7周作业总结
(1)从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化. 第5次作业:多线程电梯 基本照搬了课件上“生产者-消费者”模型的设计策略,将InputHandler设计为生产者线程, ...
- fist-第三天冲刺随笔
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...
- Java第三次上机随笔
就记录一下新的收获吧~ 1.定点数(BigDecimal) 先区分一下浮点数和定点数: 浮点数(float/double):小数点可以任意浮动,称为浮点表示法 定点数(BigDecimal):一种数约 ...
- python第六次作业——随笔
第一就是教的和布置的作业难度不一样.python在课堂上学到的东西太基础.然而作业基本上在教义是不能直接找到公式照搬的(尤其是第五次作业文件处理要用到pandas和numpy),所以做作业只能自己去找 ...
- 数据结构和算法之栈和队列三:自定义一个栈包含min函数
我们都知道一个栈的特点是后进先出,如果我们要实现在O(1)的时间内找到一个栈里面的最小值,我们应该怎么解决?如果我们采用遍历获取的思路那必然所需要的时间是O(N)与我们所需要的要求明显不符合,这时候我 ...
- 梁勇Java语言程序设计第三章全部例题 为第五次作业
完成例题3-1,通过系统当前时间毫秒值获取随机10以内的整数判断加的结果是否正确,不用if语句 package com.swift; import java.util.Scanner; public ...
随机推荐
- BZOJ 2429 聪明的猴子
kruskal. #include<iostream> #include<cstdio> #include<cstring> #include<algorit ...
- Wireshark基本介绍和学习TCP三次握手(转)
http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇 ...
- 【Android】SDK工具学习 - bmgr
bmgr官方文档 我自己的理解就是bmgr也是一款命令行工具,主要操作Android设备中的Backup Manager(支持API8.0以上的ADT) 主要就是备份(Backup)和还原(Resto ...
- Servlet容器的启动(Tomcat为例)
一.容器简介 在tomcat容器等级中,context容器直接管理servlet在容器中的包装类Wrapper,所以Context容器如何运行将直接影响servlet的工作方式. tomcat容器模型 ...
- 2015-10-15 晴 APUE GIT
昨天看完了tcp/ip协议,快速的看完了这些内容,而且这里面的东西以前很熟悉,今天只是大概一看就想起以前用到的,什么时候用到的,以前在企智通上出过什么问题,后来如何解决的.我都有点佩服我的记忆.网络协 ...
- 通过github提升自己-测试反馈、持续精进
如果我们仅仅是将自己的代码commit.push到github上,那么对于我们的技术不会有太多的提升.我们所做的仅仅只是将github当成了我们的网盘. 我们每发布一个版本的时候,是不是也就意味着给用 ...
- Android 手写Binder 教你理解android中的进程间通信
关于Binder,我就不解释的太多了,网上一搜资料一堆,但是估计还是很多人理解的有困难.今天就教你如何从 app层面来理解好Binder. 其实就从我们普通app开发者的角度来看,仅仅对于androi ...
- Mysql避免全表扫描sql查询优化 .
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描: · 使用ANALYZE TABLE tbl_n ...
- struts 中 s:iterator 使用注意事项
后台定义类 public class Course_pj { private String _id; private String _courseid; private String _course_ ...
- asp.net读取xml方法
这个适合刚学asp.net的同学,大神直接略过好了,asp.net经常会有很多用到XML的地方,比如全国省市的联动,以及一些菜单读取等等都有xml的影子,直接贴代码,以便我以后用到的时候忘了,注释我写 ...
