面向对象程序设计作业4

面向对象程序设计作业4

github repo 链接


学习感想

一开始就觉得本次作业是较为简单的,之前大致看了下命令行的知识就觉得花不了多少时间,便一直留着到周六下午才开始正经学习。

然而懂得理论知识不代表便会使用,一经实践便出现了各种各样的问题,此次作业完成得我心慌慌,以后再简单的知识点都要去认真学习。


文件读写、文件路径学习

寒假便有学习了文件输入输出流,当时学习的是ifstream/ofstream流,这次作业中学习了使用freopen/fclose函数来实现文件的输入输出,两者都能顺利实现文件输入输出,个人觉得可能freopen/fclose会较为简单易懂。

命令行学习

  1. int argc,char *argv[]
    argc-arguments count代表输入参数的个数,以空格来计数,第一个参数(argv[0])是程序名(.exe)。
    argv-arguments vector,以字符数组的方式储存参数内容。
  2. 由命令行控制文件读写
    argv以字符数组的形式储存我们写入的命令,然后替代文件读写中的文件路径。如~freopen( "input.txt", "r", stdin)~ ——> ~freopen(argv[1], "r", stdin)~或者~ifstream infile("input.txt", ios::in)~ ——> ~ifstream infile(argv[1], ios::in)~ 通过类似这样的操作,我们就能由命令行控制文件读写。
  3. 当然命令行也不仅局限于使用文件读写,argv储存的是字符串,我们可以像平时使用字符串一样来完成一些其他处理。

遇到的问题

一开始自以为懂得了理论,一下子实践却出了各种各样的细节问题,什么替换时没去掉“”啊,一直打不开文件啊,在其他函数使用时忘记传参啊等等,感觉这次做作业的效率不高。

关于bonus

完成基础的文件读写后,对从命令行读取的参数进行了一些判断处理,如判断参数过多或过少,input/output文件地址不正确,针对本次3个电梯题目的output文件数量不对等判断,并输出提示。


附上程序运行图:

猜你喜欢

转载自www.cnblogs.com/qq291713624/p/9094380.html