HUBEI NORMAL UNIVERSITY 项目名称:学生信息管理系统需求分析 姓 名: 学 号: 班 级: 一、需求描述 度这次c++课程设计作业,我们小组选择的是设计一个简单的计算器。我们平常所用的计算器都是可视化界面计算器,对于计算一些混合的四则算术运算不是很方便,所以我们此次设计的计算器则是可以进行四则混合运算,用户可以从键盘输入算式,可以进行加、减、乘、除混合运算,运算的优先级也已经考虑在内,并且用户可以按任何的运算符出现顺序进行输入,输入的计算式的长也是不限定。这样就方便了我们对于一些混合算式的计算。 但是我们的程序也还存在一定问题,关于括号“()”优先级运算就没有实现。 二、系统总体分析设计 根据任务要求,程序的总体功能可以设计成如下图所示。 三、程序详细功能描述 在这次c++课程设计中,我们小组成员分工明确。在编码过程中,我们在编码过程中主要有一个counter 类,counter 里面一共有三个函数,分别是input()输入函数、suanfa()计算函数和show ()显示函数,体现了类的封装性,另外还有一个不同函数进行程序说明。本程序实现加、减、乘、除的基本运算,并能按照四则运算的基本法则进行运算,,在除法运算中,当被除数为 零 的时 候 ,系统会 报 错 ,提 示被除数不能为 零 ,则会 退 出程序。 四、 编码 否 是 是 否 开 始 输出算式及 提 示信检 查 输入算式:字 符是否合格 、除数是否 不为0 除法 加法 减法 乘法 输出结 果 是否 继 续 结 束 #include #include using namespace std; class counter { private: int n; //计算输入数组的长度 double a[100];// 存放数据的数组 char fh[100]; //存放字符的数组 public: input(); //输入函数 suanfa(); //四则运算“+、-、*、/、” show(); //显示函数 }; counter ::input() { cout<<"请输入表达式,并且以“=”结尾"<>a[i]; cin>>fh[i]; if(fh[i]=='=') //"="为结束符标志 { n=i; break; } } } counter ::suanfa() { char sign; for(int j=0;j