要求:
写一个能自动生成小学四则运算的命令行“软件”,分别满足下面的各种需求。
下面这些需求都可以用命令行参数的形式来指定:
a)一次可以出一千道题目,并且没有重复的,把题目写入一个文件中。
b)逐步扩展功能和可以支持的表达式类型,最后可以支持最多10个运算符,括号数量不限制的表达式。
c)出了整数以外,还要支持真分数的四则运算。(例如:1/6+1/8=7/24)
d)让程序能接受用户输入答案,并判定对错,最后给出总共 对/错 的数量。
代码说明:
函数:
int gcd(long int m,long int n) void float_to_fraction(double x) void create() int mycmp(char a, char b) void infix_to_suffix(char* infix, char* suffix) double suffix_value(char* suffix) int main(int argc , char *argv[])
函数说明:
(1)、求最大公因数
int gcd(long int m,long int n) { while(m%n!=0){ int t=m%n; m=n; n=t; } return n; }
(2)、浮点数转化为分数
void float_to_fraction(double x)
(3)、四则运算生成函数
void create()
(4)、比较运算符优先级
int mycmp(char a, char b)
(5)、中缀表达式转后缀表达式
void infix_to_suffix(char* infix, char* suffix)
(6)、后缀表达式求值
double suffix_value(char* suffix)
(7)、主函数
int main(int argc , char *argv[])