当前位置: 首页>>代码示例>>C++>>正文


C++ Scan::Open方法代码示例

本文整理汇总了C++中Scan::Open方法的典型用法代码示例。如果您正苦于以下问题:C++ Scan::Open方法的具体用法?C++ Scan::Open怎么用?C++ Scan::Open使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Scan的用法示例。


在下文中一共展示了Scan::Open方法的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;
}
开发者ID:ladit,项目名称:object-oriented,代码行数:88,代码来源:main.cpp


注:本文中的Scan::Open方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。