目录
1 问题描述 2
2 需求分析 2
2.1 数据需求 2
2.2 功能需求 2
2.3 非功能需求 2
3 概要设计 3
3.1抽象数据类型 3
3.2 总体设计 3
3.3 功能模块设计
4 详细设计及系统实现
4.1 存储结构
4.2 核心算法 6
4.3 各功能实现 6
4.4 各功能模块具体实现样式 12
5 系统调试分析 14
6 课程设计总结 14
参考文献 1
附录:源码以及其它相关材料 1
1 问题描述
1) 要求程序模仿Windows计算器,具有图形化界面,能够输入用户在键盘输入的表达式,也能够通过图形化界面进行输入。对包含加、减、乘、除、括号运算符指数函数、幂函数、三角函数、对数函数等常见的运算式进行求解;在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备;在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过退格键进行删除,并且重新输入正确的数据;
2) 能够判定用户输入的表达式是否合法,并对不合法的表达式进行提示;
3) 能够保存历史运算表达式,用户可查看历史运算;
4) 用数据结构知识手动实现运算,并与系统调用方法进行对比,感受两者的时间复杂度和空间复杂度变化;
5) 实现一元多项式的运算
例:设有一元多项式Am(x)和Bn(x):
Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm
Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn
请实现求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。
要求结果M(x)中无重复阶项和无零系数项,并且输出结果有升幂和降幂两种排列情况。


















