github链接

在第三作业中自己忽略了对代码的注释,因此在此次附加作业上进行补充。

 Scan.cpp 


#include "Scan.h"
#include <iostream>
using namespace std;
Scan::Scan(void)
{
//set 容器里添加四则运算的符号元素//

charset.insert('+');
charset.insert('-');
charset.insert('*');
charset.insert('/');
charset.insert ('(');
charset.insert(')');
}


queue<string> Scan::ToStringQueue(string input)
{
queue<string> strs;  //建立队列 strs

string temp="";  //定义一个空字符串 temp

for (unsigned int i=0; i<input.size(); i++)  //对输入的字符串逐个检索
{
    if (temp.size()>10)  //输入的字符串中的某个字符超过10位
    {
        cout<<temp<<":超出10位"<<endl;

        queue<string> rs;  //定义一个空队列 rs

        return rs;
    }

    if (charset.find(input[i])!= charset.end())  //字符串中的第i个字符不为四则运算中的符号
    {
        if (temp!="")  //字符串temp不为空
        {
            strs.push(temp); //将字符串temp中的元素加入队列strs

            temp.clear();  //将字符串temp清空
        }

        temp.push_back(input[i]); //在字符串temp尾部添加该字符

        strs.push(temp);

        temp.clear();  //将字符串temp清空
    }
    else
    {
        temp += input[i];  //将该字符拼接到 temp后
    }
}

if (temp!="")  //字符串temp不为空
{
    strs.push(temp);  //将字符串temp中的字符加入队列strs

    temp.clear();
}
return strs;
}

main.cpp



/********************************
Author:chenjiaquan     Date:2016/02/23
********************************/
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#include <iostream>
#include <string>
#include "Scan.h"
#include "Print.h"
using namespace std;

int main()
{
string input; //定义字符串 
cin>>input; //输入字符串 
Scan scan;
Print print;
print.show(scan.ToStringQueue(input));

cin.get();
cin.get();
return 0; //函数返回值
}

转载于:https://www.cnblogs.com/cjqcjq/p/5314992.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐