第一个个人项目是四则运算,程序读取txt文档中的题,使用者计算出答案,程序判断输入答案是否正确并显示正确(错误)个数,若错误,则给出正确结果。
这道题一下就让我联想到了去年学的数据结构中,中缀转后缀。只不过之前做的只有整数的加减乘除,这次的任务加入了分数之间的运算。只要对上次的程序进行一些添加就可以达成目标。
于是构建了一个结构体,结构体中定义了int型的分子与分母。如果计算的数是整数,则将其分母设置为1。
由于“/”既表示除号,又表示分号,为了加以区分,用“\”代替分号。
在识别运算数的时候如果遇到“\”就将符号后面的数字设置为分母。如果计算的数是整数(没有“\",则将其分母设置为1)。
在进行四则运算之后需要找出分子与分母的最大公约数以便约分。分子、分母同时除以计算出的最大公约数得到最简分数。
在使用者进行答题的时候同样的道理,分离出分子与分母,分别与正确答案进行比较,判断结果。
之后我会考虑一下如何自动生成算式,并能查重这一功能。
就酱。