网站建设关键词分类,wordpress 卢松松主题,长沙景点必去,关键词优化如何名人说#xff1a;莫听穿林打叶声#xff0c;何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)#xff08;一个喜欢古诗词和编程的Coder#xff09; 目录 一、效果图二、代码#xff08;带注释#xff09;三、说明 一、效果图 二、代码#xff08;带… 名人说莫听穿林打叶声何妨吟啸且徐行。—— 苏轼《定风波·莫听穿林打叶声》 Code_流苏(CSDN)一个喜欢古诗词和编程的Coder 目录 一、效果图二、代码带注释三、说明 一、效果图 二、代码带注释
//创作者Code_流苏CSDN
//未经允许禁止转载发布可自己学习使用
#include iostream
#include cmath
#include vector
using namespace std;// 计算函数根据不同的运算符执行相应的计算
double calculate(double num1, double num2, char oper) {switch(oper) {// 基本运算case : return num1 num2;case -: return num1 - num2;case *: return num1 * num2;case /: if(num2 ! 0) return num1 / num2;else {cout 错误除数不能为0。 endl;return NAN; // 返回非数值}// 扩展运算case ^: return pow(num1, num2); // 幂运算case R: return sqrt(num1); // 平方根case A: return abs(num1); // 绝对值case S: return sin(num1); // 正弦case C: return cos(num1); // 余弦case T: return tan(num1); // 正切case L: return log(num1); // 自然对数case G: return log10(num1); // 常用对数// 其他功能可以继续添加default:cout 无效的运算符 endl;return NAN;}
}int main() {double num1, num2;char oper;char choice;vectorstring history; // 历史记录向量用于存储所有计算do {// 输入第一个数字并进行有效性检查cout 输入第一个数字: ;while(!(cin num1)){cout 无效的输入请输入一个数字: ;cin.clear();cin.ignore(123, \n);}// 输入运算符cout 输入运算符 (, -, *, /, ^, R, A, S, C, T, L, G): ;cin oper;// 对于需要两个操作数的运算符输入第二个数字if(oper || oper - || oper * || oper / || oper ^) {cout 输入第二个数字: ;while(!(cin num2)){cout 无效的输入请输入一个数字: ;cin.clear();cin.ignore(123, \n);}}// 执行计算并输出结果double result calculate(num1, num2, oper);if (!isnan(result)) {cout 结果: result endl;// 保存计算记录history.push_back(to_string(num1) oper to_string(num2) to_string(result));}// 询问用户是否继续cout 是否继续? (y/n): ;cin choice;} while(choice y || choice Y);// 在程序结束前打印历史记录cout \n计算历史: endl;for(const auto record : history) {cout record endl;}return 0;
}
三、说明
上述代码实现了一个简易的命令行计算器程序使用C编写。它可以执行基本的算术运算以及一些扩展运算。下面是对这个程序的主要功能和结构的概述 函数 calculate: 这个函数根据传入的两个数字num1, num2和一个运算符oper执行相应的计算。支持的运算包括基本的加、减、乘、除以及幂运算、平方根、绝对值、三角函数正弦、余弦、正切、对数自然对数和常用对数。如果遇到除以零的情况程序会输出错误信息并返回一个非数值NAN。如果输入了无效的运算符程序也会输出错误信息并返回 NAN。 主函数 main: 程序在一个循环中运行允许用户进行多次计算。用户首先输入第一个数字程序会检查输入的有效性。然后输入一个运算符。对于需要两个操作数的运算如加、减、乘、除、幂运算程序会要求输入第二个数字并进行有效性检查。程序调用 calculate 函数执行计算并输出结果。计算结果会被保存在 history 向量中以便于程序结束前显示所有的计算历史。用户可以选择是否继续进行更多的计算。 错误处理: 输入数字时如果用户输入了非数字的内容程序会提示重新输入并清除错误状态和忽略无效输入。在进行除法时如果除数为零程序会输出错误信息。 计算历史记录: 程序使用一个 vectorstring 来存储所有的计算历史。在用户结束计算时程序会打印出所有的计算记录。 Code_流苏(CSDN)一个喜欢古诗词和编程的Coder 点赞加关注收藏不迷路本篇文章对你有帮助的话还请多多点赞支持