程序设计实现“加”、“减”混合运算练习。 随机产生4个整数(0~99),生成一道混合运算题,让用户给出答案。共生成10到混合运算题,每题10分,完成后对用户的答题给出分值,并且显示出用户哪些题错误,哪些题正确。错误的给出正确答案。其中“+”、“-”运算符是随机选择。
运算效果:
请答题:
第1题:6+12+45-80=?
17
第2题: 4+6-12+34=?
30
…….
你的得分:80分
第1题 6+12+45-80=-17 right;
第2题4+6-12+34=30,error ; answer: 32
……
解析:写子程序产生随机式,在此子程序过程中算式存为string
,同时产生结果int
;在主程序中十循,调用此子函数,同时要求cin
并比较输入与返回结果,完善string
,
同时算分数,此外,要把完善后的string
压人vector
中。十循之后,再十循vector
输出。
难点:首先思路上要考虑周全,最后我得出的方法是先寄存再输出。同时有个小细节,就是如何将int
转化为string
存入公式中。此处有三个问题:
string
具有可加性,但不能是char
+char
(该结果为int
),只能是char
+string
。三位数(即三个char
)的话,要先把个位转成char
,再转为string
,然后先十位加个位,再百位加string
。int
有正负,需先判断正负,负转正,并在最前面加上-
。- 位数不确定。该题不会超过三位数。若位数不确定,可用循环,
a/10==0
时停止从低位到高位,每次都是char
+string
即可。
程序试做
#include<iostream>
#include<vector>
#i