当前位置: 首页 > news >正文

公司网站 开源数据分析师报考条件

公司网站 开源,数据分析师报考条件,做实验室信息的网站,做网站需要监事吗目录 一、项目目标 二、功能需求 1. 基本功能 2. 扩展功能(选做) 三、实现思路 1. 主程序流程图 2. 关键步骤 四、代码实现 五、代码说明 1. 输入验证 2. 异常处理 3. 模块化设计 六、运行示例 七、扩展建议 八、总结 一、项目目标 实现…

目录

一、项目目标

二、功能需求

1. 基本功能

2. 扩展功能(选做)

三、实现思路

1. 主程序流程图

2. 关键步骤

四、代码实现

五、代码说明

1. 输入验证

2. 异常处理

3. 模块化设计

六、运行示例

七、扩展建议

八、总结


一、项目目标

实现一个命令行简易计算器,支持以下功能:

  1. 四则运算(加、减、乘、除)
  2. 用户交互(输入操作数和操作符)
  3. 错误处理(除零错误、无效输入)
  4. 循环运行(用户可选择继续或退出)

二、功能需求

1. 基本功能

  • 用户输入两个数字和一个运算符(+-*/
  • 程序计算结果并输出
  • 支持连续计算(用户可选择是否继续)

2. 扩展功能(选做)

  • 输入验证(防止非数字输入)
  • 支持更多运算(如幂运算 ^、取模 %
  • 使用函数封装逻辑

三、实现思路

1. 主程序流程图

开始↓
显示菜单↓
获取用户输入(操作数1、操作符、操作数2)↓
执行计算↓
显示结果↓
询问是否继续↓
结束 or 循环

2. 关键步骤

  • 输入处理:使用 cin 获取用户输入,注意处理输入错误。
  • 错误检查:检查除零错误和无效操作符。
  • 循环控制:使用 do-while 循环保持程序运行。

四、代码实现

#include <iostream>
#include <limits> // 用于输入验证
using namespace std;// 函数声明
void displayMenu();
double getNumber(const string& prompt);
char getOperator();
void calculate(double num1, char op, double num2);
bool confirmContinue();int main() {char choice = 'y';do {displayMenu();double num1 = getNumber("请输入第一个数字: ");char op = getOperator();double num2 = getNumber("请输入第二个数字: ");calculate(num1, op, num2);choice = confirmContinue();} while (choice == 'y' || choice == 'Y');cout << "感谢使用!再见!" << endl;return 0;
}// 显示菜单
void displayMenu() {cout << "简易计算器\n";cout << "支持的运算符: +, -, *, /\n";
}// 获取数字(带输入验证)
double getNumber(const string& prompt) {double num;while (true) {cout << prompt;if (cin >> num) {break;} else {cin.clear(); // 清除错误标志cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略无效输入cout << "输入错误!请输入一个数字。\n";}}return num;
}// 获取操作符
char getOperator() {char op;while (true) {cout << "请输入操作符 (+, -, *, /): ";cin >> op;if (op == '+' || op == '-' || op == '*' || op == '/') {break;} else {cout << "无效的操作符!请重新输入。\n";}}return op;
}// 执行计算
void calculate(double num1, char op, double num2) {try {switch (op) {case '+':cout << "结果: " << num1 + num2 << endl;break;case '-':cout << "结果: " << num1 - num2 << endl;break;case '*':cout << "结果: " << num1 * num2 << endl;break;case '/':if (num2 == 0) {throw runtime_error("除数不能为零!");}cout << "结果: " << num1 / num2 << endl;break;default:cout << "未知错误!" << endl;}} catch (const exception& e) {cerr << "错误: " << e.what() << endl;}
}// 确认是否继续
bool confirmContinue() {char ch;while (true) {cout << "是否继续计算?(y/n): ";cin >> ch;if (ch == 'y' || ch == 'Y' || ch == 'n' || ch == 'N') {return (ch == 'y' || ch == 'Y');} else {cout << "请输入 y 或 n。\n";}}
}

五、代码说明

1. 输入验证

  • 使用 cin.fail() 检测输入错误。
  • 使用 cin.clear() 和 cin.ignore() 清理输入流。

2. 异常处理

  • 使用 try-catch 捕获除零错误。
  • 抛出 runtime_error 提供错误信息。

3. 模块化设计

  • 将功能拆分为独立函数,提高代码可读性和复用性。

六、运行示例

简易计算器
支持的运算符: +, -, *, /
请输入第一个数字: 10
请输入操作符 (+, -, *, /): *
请输入第二个数字: 5
结果: 50
是否继续计算?(y/n): y
请输入第一个数字: 20
请输入操作符 (+, -, *, /): /
请输入第二个数字: 0
错误: 除数不能为零!
是否继续计算?(y/n): n
感谢使用!再见!

七、扩展建议

  1. 添加更多运算

    case '^': // 幂运算cout << "结果: " << pow(num1, num2) << endl;break;
  2. 使用函数指针或 Lambda 表达式

    using Operation = double (*)(double, double);
    map<char, Operation> operations = {{'+', [](double a, double b) { return a + b; }},{'-', [](double a, double b) { return a - b; }}
    };
  3. 面向对象设计

    class Calculator {
    public:void run();
    private:double add(double a, double b);double subtract(double a, double b);
    };

八、总结

通过本项目,你将掌握:

  • 基本输入输出和用户交互
  • 条件判断与循环控制
  • 函数的封装与调用
  • 异常处理和输入验证
  • 模块化编程思想

这是一个非常适合 C++ 初学者的实践项目,建议多调试并尝试扩展功能!

http://www.fp688.cn/news/145643.html

相关文章:

  • 如何做商业网站推广甘肃seo技术
  • 电商企业网站源码黄石市seo关键词优化怎么做
  • 网站建设 系统 排名电商培训机构靠谱吗
  • 网站为什么需要备案长尾词挖掘
  • 装修平台网站排名前十名有哪些jmr119色带
  • 手机上可以做网站吗网站交易
  • word怎么做网站百度快照客服电话
  • 做化妆品网站的意义杭州新站整站seo
  • 硅云买域名做网站百度公司电话热线电话
  • wordpress评论时选填昆明百度搜索排名优化
  • wordpress josn查询东莞网络优化公司
  • 网站排名突然下降解决技术培训学校机构
  • 网站建设主机类型怎么选我要恢复百度
  • 知乎营销推广北京seo优化技术
  • 南阳做网站优化哪家好网络营销外包
  • 网站站点是什么站长之家域名
  • 电商平台网站建设河南seo
  • 南水北调建设管理局网站3分钟搞定网站seo优化外链建设
  • 湖北省住房和城乡建设部门户网站阿里云搜索引擎
  • 免费空间asp网站西安网站建设推广
  • 如何建设自己的小说网站baidu百度首页官网
  • 深圳网站建设有限公司开网店
  • 怎样制作自己的网站品牌营销策划方案案例
  • wordpress 图片循环seo体系百科
  • 手机里面的网站怎么制作金城武重庆森林经典台词
  • 免费建站系统开源北京seo管理
  • 在线网站建设教程青岛网
  • 外贸网站怎样做推广百度爱采购优化
  • 扬中网站网站建设网站制作河南
  • 用wordpress建站一定要先有域名和空间吗软文写作网站