第三次课程作业
就是在文件读入的时候遇到了问题,用f>>input会报错;
本次作业中实现过程中遇到了一个bug一直没有找到是什么原因就有询问蔡子阳同学(当时还是没有找到)
后来我就尝试了另一种输入命令行参数的方法进行运行,发现就可以了,应该是我的命令行参数的使用时的环境变量没有设置好;
这是通过在VS中直接输入命令行参数的方法,可以运行了;
作业感想:本次作业的要求也表明过是为了考察文件操作的内容以及熟悉对主函数多参数的运用;原本我对文件操作的就还不是很懂,这次作业虽然时间比较赶,但也还可以让我对文件操作的知识进一步的学习;这次作业迭代是建立在畅畅大哥之前的代码基础上的,在写这次的作业中也有参考畅畅大哥的博客以及之前文件操作的提示;
本次作业疑惑及缺陷:作业描述是要main函数中还要有writeFile()函数,我因为一个点(对用一个类成员传参还没搞很懂)暂时还没有写成那样,之后会尽快搞懂并改进优化;
本次作业后续改进及解决问题:
改进后的输出;
对于之前所说的writeFile()输出还没有实现的问题,只需要解决一个class类变量的传参问题就可以了;但是在解决这个问题时我发现我暂时无法只使用一个writeFile()文件进行输出,因为每次的表达式在下一题没有存储,所以我就选择分为两个文件输出,一个在每次循环的时候输出问题以及答案到文件中,另一个在最后输出回答的正确数等;而在实现这个时,就会出现一个输出到文件覆盖的问题,一开始用的语句是:f.open(filename,ios::out);发现输出只有最后的正确数一块,原因就是每次用文件操作输出时后面的会覆盖前面的,查阅资料之后知道只需要改为:f.open(filename,ios::app);即可,就如同C语言中的w,r,r+,w+等文件操作功能差不多;
推荐有关博客;
小qus:只用一个wirteFile()函数输出,能不能通过一种类数组的形式储存每次的表达式,最后通过传参形式输出?(查阅了一些资料,还没有实现);