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

    Github地址点这里

    题目要求

    • 添加一种读取四则运算的方式:输入第一个参数若为-f,则再输入两个参数,为两个文件的路径。分别为程序读取输入的文件和输出答案的文件。
    • 将输出的代码都写在Print类中。
    • 描述框架图

    代码

    #include<iostream> 
    #include<string>
    #include<queue>
    #include<stdlib.h>
    #include"Calculator.h"
    #pragma warning(disable:4996)
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    	Calculation calculation;
    	Scan scan;
    	Print print;
    	string strData1;
    	string strData2;
    	strData1 = argv[1];
    	queue<string>queue;
    	double answer;
    	if (strData1 == "-a")
    	{
    		strData2 = argv[2];
    		queue = scan.ToStringQueue(argv[2]);
    		answer = calculation.ToCalculate(queue);
    		print.ToOutput(answer, strData2);
    	}
    	else if (strData1 == "-f")
    	{
    		string strData3;
    		strData3 = scan.Open(argv[2]);
    		queue = scan.ToStringQueue(strData3);
    		answer = calculation.ToCalculate(queue);
    		print.ToOutput(answer,strData3, argv[3]);
    		strData3 = "";
    	}
    
    	else
    	{
    		queue = scan.ToStringQueue(strData1);
    		answer = calculation.ToCalculate(queue);
    		print.ToOutput(answer);
    	}
    	system("pause");
    	return 0;
    }
    

    scan
    把文件读取放在了scan类中

    string Scan::Open(char *in)
    {
    	string temp;
    	fstream file;
    	file.open(in);
    	file >> temp;
    	return temp;
    }
    

    print
    依照不同情况进行输出

    void Print::ToOutput(double answer, string exp, char *out)
    {
    	ofstream file;
    	file.open(out);
    	file << exp  <<  answer << endl;
    }
    
    void Print::ToOutput(double answer)
    {
    	cout << answer << endl;
    }
    
    void Print::ToOutput(double answer, string exp)
    {
    cout << exp << answer << endl;
    

    }

    描述框架图

    心得

    这一次修改因为增加了多组数据输入,发现除了第一个答案之后都是错的。研究之后才发现是在每一组处理过后有数据残留在字符串和队列中影响了下一组,在增加了清空队列和字符串的部分才正确。所以明白以后应注意在使用各种操作之后应当还原。

  • 相关阅读:
    商业模式--资源整合
    “不小心出卖了领导”
    计算机禁用桌面并且禁用键盘Win+*快捷键组合之后如何打开文件资源管理器
    spring-boot 参数长度、文件上传大小限制问题
    Python 学习基础
    Python字典详解
    Python元组
    Python列表详解
    Python变量类型
    Python字符串详解
  • 原文地址:https://www.cnblogs.com/Wjianting/p/5474554.html
Copyright © 2011-2022 走看看