您的位置:首页 > 其它

第三次附加作业

2016-03-24 12:12 357 查看
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; //函数返回值
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: