本文整理汇总了C++中Scan::GetInput方法的典型用法代码示例。如果您正苦于以下问题:C++ Scan::GetInput方法的具体用法?C++ Scan::GetInput怎么用?C++ Scan::GetInput使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scan
的用法示例。
在下文中一共展示了Scan::GetInput方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char** argv)
{
string input;
string parameter;
double result;
queue<string> seperatedExpression;
Scan scan;
Calculation cal;
Print print;
parameter = argv[1];
cout << setprecision(precision);
if (parameter == "-a") //输入参数为 -a 的情况,输出表达式
{
input = argv[2];
seperatedExpression = scan.ToStringQueue(input);
if (seperatedExpression.front() == "ERROR") //若返回字符串为 ERROR 则报错并退出循环
{
print.PrintLengthError();
return 0;
}
result = cal.Calculate(seperatedExpression);
print.PrintA(input,result);
}
else if (parameter == "-f") //输入参数为 -f 的情况,对文件进行读写
{
if (scan.Open(argv[2]) && print.Open(argv[3]))
{
while (!scan.IsEOF()) //循环读入每行,计算和写入文件
{
result = 0;
while(!seperatedExpression.empty())
{
seperatedExpression.pop();
}
scan.Read();
if (scan.GetInput() == "")
{
continue;
}
seperatedExpression = scan.ToStringQueue(scan.GetInput());
if (seperatedExpression.front() == "ERROR")
{
print.PrintLengthError();
continue;
}
result = cal.Calculate(seperatedExpression);
print.PrintF(result);
}
scan.Close();
print.Close();
}
else
{
cout << "Open file failed.";
return 0;
}
}
else //无参数情况
{
input = argv[1];
seperatedExpression = scan.ToStringQueue(input);
if (seperatedExpression.front() == "ERROR")
{
print.PrintLengthError();
return 0;
}
result = cal.Calculate(seperatedExpression);
print.DefaultPrint(result);
}
return 0;
}