zoukankan      html  css  js  c++  java
  • 第三次作业

    第二次作业


    作业:object-oriented  
      

    作业要求

    完成过程

      在刚刚看完题目时的我,是不太理解题目意思的,因为我还没有学过有关queue的只是,所以我只好暂时先不开始做题目,而是通过百度,询问同学等等的方式,展开有关queue知识的学习,但是因为我没找到相关教学视频,单纯的看文字又有不太理解的地方,所以此次作业中queue的知识可能没有正确使用。
      第一次完成代码时,我还没有考虑作业上提出的要求,只是先把大体的代码给打出来了

    
    `#include "Scan.h"`
    `#include "Print.h"`
    `#include `
    `#include `
    `#include `
    `#include `
    using namespace std;
    
    class Print
    {
        public:
    		void output (queue m_queQ)
    		{                     
    			while (m_queQ.size())
    			{
    				cout << m_queQ.front() <ToStringQueue(string input)
    		{
    			queue  m_queQ;
    			int i;
    			bool j=false;
    			string m_strS;
    			for (i=0; i='0' && input[i+1]<='9' && input[i+1]>='0')
    				{
    				    m_strS+=input[i];
    				    j=false;
    				}
                                    else
    		                {
    		                     m_strS+=input[i];
    	                             j=true;
                        		}
                                    if(j)
    	                	{
    	                	     m_queQ.push(m_strS);	
    	                	     m_strS.clear();
    	                    	}
    	              	}
    	              	return m_queQ;
    		}
    };
    
    int main ()
    {
        Scan scan;
    	Print print;
    	string s;
    	cin >>s;
    	queue q=scan.ToStringQueue(s);
    	print.output(q);
    	return 0;
    }

    先尝试运行一次,发现自己忘记处理有小数点的情况,于是在判断中多了一个判断

    else if (input[i]=='.' || input[i+1]=='.')
                     {
                        m_strS+=input[i];
                        j=false;
                        k=-1;
                     }
    

    再次运行,可以顺利通过了,于是开始考虑题目的要求,首先我引入一个变量l去判断每个m_strS的长度,结果发现这样在算数字位数时会将小数点也算进去,于是又引入变量k,通过k值判断是否有小数点,同时在Print中判断是否需要报错。在经过了修改后,我的代码总体如下:#include "Scan.h"

    
    `#include "Print.h"`
    `#include `
    `#include `
    `#include `
    `#include `
    using namespace std;
    
    class Scan
    {
        public:
    		queueToStringQueue(string input)
    		{
    			queue  m_queQ;
    			int i;
    			bool j=false;
    			string m_strS;
                int k=0;  //利用k值判断数字中是否含有小数点,方便之后对数字位数的统计// 
                int l;
    			for (i=0; i='0' && input[i+1]<='9' && input[i+1]>='0')
    				{
    					m_strS+=input[i];
    					j=false;
    				}
    				else if (input[i]=='.' || input[i+1]=='.')
                    {
                        m_strS+=input[i];
                        j=false;
                        k=-1;
                    }
                    else
    				{
    					m_strS+=input[i];
    					j=true;
    				}
                    l=m_strS.size();
                    if (l+k>10)
                    {
                    	m_queQ.push("E");//在队列最后插入E,标记此时得到的数字超过十位// 
                        break;
                    }
    				if(j)
    				{
    					m_queQ.push(m_strS);	
    					m_strS.clear();
    				}
    			}
    			return m_queQ;
    		}
    };
    
    class Print
    {
    	public:
    		void output (queue m_queQ)
    		{
    			bool t;// t表示报错后,跳过之后的输出// 
    			t=true;
                if (m_queQ.back()=="E")//先前插入的E在此时发挥作用,队尾为E则需要报错// 
                {
                    cout <<"Error"<< endl;
                    t=false;
                }
    			while (m_queQ.size() && t)
    			{
    				cout << m_queQ.front() <>s;
    	queue q=scan.ToStringQueue(s);
    	print.output(q);
    	return 0;
    }
    运行后发现运行还算正常,暂时没有发现哪边有错,于是将文件Push到了github上。(由于在使用github时一时失误,把上次的作业给删除了,所以这次只好重新上传QAQ。。不能再悲剧)
    ---------better than nothing
  • 相关阅读:
    2、容器初探
    3、二叉树:先序,中序,后序循环遍历详解
    Hebbian Learning Rule
    论文笔记 Weakly-Supervised Spatial Context Networks
    在Caffe添加Python layer详细步骤
    论文笔记 Learning to Compare Image Patches via Convolutional Neural Networks
    Deconvolution 反卷积理解
    论文笔记 Feature Pyramid Networks for Object Detection
    Caffe2 初识
    论文笔记 Densely Connected Convolutional Networks
  • 原文地址:https://www.cnblogs.com/joke15/p/5224963.html
Copyright © 2011-2022 走看看