第三次作业的题目:http://www.cnblogs.com/fzuoop/p/5187275.html

第一次看到题目的时候觉得应该是挺简单的,只要把输入的那一串东西挨个判断,用数列的方法,如果碰到符号的话就给个回车,还有的话就是要判断数字处是否超过十位数,也包括小数位。但是这是仅限于想法,但是开始做的时候就碰到了问题。

一方面要把代码分为三部分,scan,print和main这三个部分,如果是把这些集合在一起写的话应该会简单些,另一方面就是要用到queue这个东西,之前学习c++的时候感觉没见过queue这个东西,所以就去网上查了下。

c++的queue用法

  1.   back             返回队列最后一个元素引用
  2.   empty            判断队列是否为空
  3.   front             获得队列最前面一个元素引用
  4.   push              在队列尾添加一个数据
  5.   pop               删除队列头的一个数据
  6.   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)包含了补作业的更多相关文章

  1. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day7

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day7 一.项目燃尽图 二.项目进展 [20172301郭恺第七天的进展] 第七天完成的任务: 代码整合,界面调整为相对 ...

  2. 《团队作业第三、第四周》五阿哥团队作业--Scrum 冲刺阶段--Day1--领航

    <团队作业第三.第四周>五阿哥团队作业--Scrum 冲刺阶段--Day1--领航 各个成员在 Alpha 阶段认领的任务 在团队合作时任务也会动态分配,最终以实际为主,上述具有参考价值. ...

  3. 风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击

    风炫安全web安全学习第三十三节课 文件包含漏洞基础以及利用伪协议进行攻击 文件包含漏洞 参考文章:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 分类 ...

  4. OO博客作业2:第5-7周作业总结

    (1)从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化. 第5次作业:多线程电梯 基本照搬了课件上“生产者-消费者”模型的设计策略,将InputHandler设计为生产者线程, ...

  5. fist-第三天冲刺随笔

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  6. Java第三次上机随笔

    就记录一下新的收获吧~ 1.定点数(BigDecimal) 先区分一下浮点数和定点数: 浮点数(float/double):小数点可以任意浮动,称为浮点表示法 定点数(BigDecimal):一种数约 ...

  7. python第六次作业——随笔

    第一就是教的和布置的作业难度不一样.python在课堂上学到的东西太基础.然而作业基本上在教义是不能直接找到公式照搬的(尤其是第五次作业文件处理要用到pandas和numpy),所以做作业只能自己去找 ...

  8. 数据结构和算法之栈和队列三:自定义一个栈包含min函数

    我们都知道一个栈的特点是后进先出,如果我们要实现在O(1)的时间内找到一个栈里面的最小值,我们应该怎么解决?如果我们采用遍历获取的思路那必然所需要的时间是O(N)与我们所需要的要求明显不符合,这时候我 ...

  9. 梁勇Java语言程序设计第三章全部例题 为第五次作业

    完成例题3-1,通过系统当前时间毫秒值获取随机10以内的整数判断加的结果是否正确,不用if语句 package com.swift; import java.util.Scanner; public ...

随机推荐

  1. HDU (线段树 单点更新) 敌兵布阵

    哎,又切了一天的水题. 线段树果然必须自己写出来才能叫真正的会了,之前一直在套模板确实不好. 这个题目是单点更新 之 单点增减,= ̄ω ̄= #include <cstdio> <&l ...

  2. 新手学vim配置

    我是新手啦,以前都没接触过Vim编辑器,所以感觉不怎么顺手,毕竟还没有用习惯.也没有什么基础,所以在配置的时候就一直在网上查资料....想要把vim编辑器配置成VS的话可以参考这个:http://ww ...

  3. shell 里把命令的输出赋给变量 以及变量的使用

    //获取本月1号 的命令 date +%Y-$m-1 shell脚本  把时间命令的值赋给变量 并使用 #! /bin/sh #赋值 time=$(date +%Y-%m-) #使用变量(转换成时间戳 ...

  4. Image.FromFile 方法锁住文件解决方法

    Image.FromFile  一旦使用后,对应的文件在一直调用 其生成的Image对象被Disponse前都不会被解除锁定,这就造成了一个问题,就是在这个图形被解锁前无法对图像进行操作(比如删除,修 ...

  5. oracle 常用语句

    创建用户及授权create temporary tablespace test_temp tempfile 'C:\oracle\product\10.2.0\oradata\hszxdbtemp.d ...

  6. c/c++ 编译器内存对齐问题

    C语言结构体对齐问题详解 转载自:http://blog.csdn.net/tiany524/article/details/6295551 测试环境32位机 WinXP: 编译器VC6(MS cl. ...

  7. Effective c++ 小结

    来源:http://www.cnblogs.com/feisky/archive/2009/11/04/1595990.html 最近又重新看了Effective C+,不过到现在还是有好多地方不懂的 ...

  8. jquery图片裁切+PHP文件上传

    下载地址:download.csdn.net/source/2745353

  9. 高手就用Chrome不安全模式

    背景:最近玩CSS3和HTML玩得不可开交. 既然要用浏览器的话,就最好在浏览器中设置一个主页,以前徒简洁就一直用百度的搜索页做主页,但是现在百度邪恶的各种广告实在让我恶心,而且一些文献资料中国网站上 ...

  10. eclipse 报错汇总

    1.Eclipse 启动时,报错: Fail to create the java virtual machine   已解决.方法:eclipse.ini 中-vmargs-Dosgi.requir ...