zoukankan      html  css  js  c++  java
  • 面向对象程序设计 第三次作业补充

    Github链接:https://github.com/zora02/object-oriented/tree/master/Caculator(更改)

    作业准备

    说实话寒假打代码的时候没有认真的看过代码规范,当时觉得能把代码打出来就很开心了(´・_・`)。这几天认真的看了代码规范,感觉还是有所收获。(虽然有些内容我们现在还用不到,但是以后肯定是能用到的。)看完代码规范后对自己的代码做了一些修改。但是没有特别大的改动,主要是一些格式上的修改。还有就是注释方面我还是不很清楚,不知道该怎么注释比较合适正确,所以本来想修改一下自己的注释,但是不知道该怎么改orz。。。所以我没有改,如果这个被扣分,我认了>_<
    

    修改后的代码

    main.cpp

    #include <iostream>
    #include <string>
    #include <queue>
    #include <stdlib.h>
    #include "Scan.hpp"
    #include "Print.hpp"
    using namespace std;
    
    
    int main()
    {
        string s;
        cin >> s;
        Print :: PrintQueue(Scan :: ToStringQueue(s));
    }
    

    Scan.cpp

    #include "Scan.hpp"
    #include <iostream>
    #include <string>
    #include <queue>
    #include <stdlib.h>
    using namespace std;
    
    bool Scan::checkNum(char c)
    {
        return ('0' <= c && c <= '9') || c == '.'; //判断数字或者是小数点
    }
    queue<string> Scan::ToStringQueue(string s)
    {
        int len = s.size();
        string tem_s;
        queue<string> q;
        for (int i = 0 ; i < len;)
        {
            tem_s.clear();
            if (!checkNum(s[i])) //判断是符号还是数字
            {
                tem_s += s[i++]; //符号
            }
            else
            {
                while (i < len && checkNum(s[i]))
                {
                    tem_s += s[i++]; //数字
                }
            }
            if (tem_s.size() > 10)
            {
                cout << "Error" << endl;
                exit(0); //报错
            }
            q.push(tem_s);
        }
        return q;
    };
    

    Scan.hpp

    #ifndef Scan_hpp
    #define Scan_hpp
    #include <iostream>
    #include <string>
    #include <queue>
    #include <stdlib.h>
    using namespace std;
    
    class Scan
    {
        public :
        static bool checkNum(char c);
    
        static queue<string> ToStringQueue(string s);
        
        queue<string> q;
      
    };
    
    
    #endif /* Scan_hpp */
    

    Print.cpp

    #include "Print.hpp"
    #include <iostream>
    #include <string>
    #include <queue>
    #include <stdlib.h>
    using namespace std;
    
    void Print::PrintQueue(queue<string> q)
    {
        while (!q.empty())
        {
            cout << q.front() << endl, q.pop();
        }
    };
    

    Print.hpp

    #ifndef Print_hpp
    #define Print_hpp
    #include <iostream>
    #include <string>
    #include <queue>
    #include <stdlib.h>
    using namespace std;
    
    class Print
    {
    public:
        static void PrintQueue(queue<string> q);    
    };
    
    
    #endif /* Print_hpp */
    
    
  • 相关阅读:
    mininet和ryu控制器的连接
    Linux服务器(Ubuntu14.04)添加远程连接VNC Server
    KVM的前世今生
    Ubuntu下搭建ryu环境
    Ubuntu下搭建Mininet环境
    手机蓝牙
    常见的js算法面试题收集,es6实现
    前端笔试题面试题记录(上)
    关于js中onclick字符串传参问题(html="")
    Angular $scope和$rootScope事件机制之$emit、$broadcast和$on
  • 原文地址:https://www.cnblogs.com/perhap-s/p/5321224.html
Copyright © 2011-2022 走看看