//---------------+-*/%算法----------------------------------------------------------
#include <iostream>
using namespace std;
// 函数原型声明
int Add(int e1, int e2);
int Sub(const int*pe1, const int*pe2);
int Mul(const int&re1, const int&re2);
int Div(int e1, int e2)throw(int); // 分母不能为0,否则抛出除0错
int Mod(int e1,int e2)throw(int,long); //分子 分母不能为0,否则抛出无意义错或除0错 void main() {
int e1, e2, result;
char optr; while (true) {
cout <<
"Please type in an expression which likes a @b,type 'q' to quit" << endl;
cin >> optr;
if (optr == 'q' || optr == 'Q')
break; // 结束循环
cin.putback(optr); // 将读入的字符退回到流中,让它可以被重新读入
cin >> e1;
cin >> optr;
cin >> e2; switch(optr) {
case '+':
result = Add(e1, e2);
break;
case '-':
result = Sub(&e1, &e2);
break;
case '*':
result = Mul(e1, e2);
break;
case '/':
result = Div(e1, e2);
break;
case '%':
result = Mod(e1, e2);
break;
}
}
system("pause");
} int Add(int e1, int e2) {
int result = e1 + e2;
cout << '=' << result << endl;
return result;
} int Sub(const int *pe1, const int *pe2) {
int result = *pe1 - *pe2; // 指针指向的内存地址里面存的数值相减
cout << '=' << result << endl;
return result;
} int Mul(const int &re1, const int &re2) {
int result = re1 * re2;
cout << '=' << result << endl;
return result;
} int Div(int e1, int e2)throw(int) {
try {
if (e2 == )
throw ;
int result = e1 / e2;
cout << '=' << result << endl;
return result;
}
catch(int) {
cout << "Denominator cannot be zero" << endl;
} } int Mod(int e1,int e2)throw(int,long)
{
try
{
if(e1==)
throw int();
if(e2==)
throw long(); int result=e1%e2;
cout << '=' << result << endl;
return result;
}
catch(int)
{
cout<<"It doesn't make sense when numerator is zero"<<endl;
}
catch(long)
{
cout<<"Denominator cannot be zero"<<endl;
}
}

C++初学(1) 简单的加减乘除取余运算代码的更多相关文章

  1. 使用PHP语言制作具有加减乘除取余功能的简单计算器

    准备工作: 使用环境 :PHPStudy 开启Apache和Mysql 打开代码编辑器 <!DOCTYPE html> <html lang="en"> & ...

  2. 洛谷 P1226 【模板】快速幂||取余运算

    题目链接 https://www.luogu.org/problemnew/show/P1226 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 ...

  3. 快速幂 cojs 1130. 取余运算

    cojs 1130. 取余运算 ★   输入文件:dmod.in   输出文件:dmod.out   简单对比时间限制:10 s   内存限制:128 MB [题目描述] 输入b,p,k的值,求b^p ...

  4. 为什么Java的hash表的长度一直是2的指数次幂?为什么这个(hash&(h-1)=hash%h)位运算公式等价于取余运算?

    1.什么是hash表? 答:简单回答散列表,在hash结构散列(分散)存放的一种数据集结构. 2.如何散列排布,如何均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) ...

  5. 洛谷P1226 【模板】快速幂||取余运算

    题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 S1: ...

  6. php取余运算(%) 注意事项

    <?php //php取余运算(%)的那点事,php取余数用%符号,即为模运算 //理论上应该输出45才对,可是实际运算结果是44 $val=9.45; $result=$val*100; ec ...

  7. LuoguP1226 【模板】快速幂||取余运算

    题目链接:https://www.luogu.org/problemnew/show/P1226 第一次学快速幂,将别人对快速幂原理的解释简要概括一下: 计算a^b时,直接乘的话计算次数为b,而快速幂 ...

  8. 洛谷——P1226 取余运算||快速幂

    P1226 取余运算||快速幂 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod ...

  9. python 取余运算

    python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|. 经过测试可发现,pytho ...

随机推荐

  1. Activiti 5.17 实体对象与类和数据库表的映射

    一.Activiti 5.17 mybatis的mapping文件声明映射的实体对象关系. <configuration><settings><settingname=& ...

  2. 【Todo】Java类面试题分析

    Java 面试中的重要话题 多线程,并发及线程基础数据类型转换的基本原则垃圾回收(GC)Java 集合框架数组字符串GOF 设计模式SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)设 ...

  3. 【Objective-C】09-空指针和野指针

    一.什么是空指针和野指针 1.空指针 1> 没有存储不论什么内存地址的指针就称为空指针(NULL指针) 2> 空指针就是被赋值为0的指针.在没有被详细初始化之前.其值为0. 以下两个都是空 ...

  4. iOS开发之UITabBarController和UICollectionView的使用

    这一篇要记录的是iOS开发中UITabBarController控件和UICollectionView控件的使用.APP跑起来之后的效果例如以下图: watermark/2/text/aHR0cDov ...

  5. 【翻译自mos文章】怎么找到OGG Director Server使用的数据库和username?

    APPLIES TO: Management Pack for Oracle GoldenGate - Version: 1.0.0.0 - Release: 1.0 Information in t ...

  6. VB.net版机房收费系统——结账功能实现(调错与优化)

    调错部分 上一篇博客<VB.net版机房收费系统--结账功能实现(代码部分>说的是结账功能的实现,亮出了代码.是在为这篇博客做铺垫.尽管结账功能代码是借鉴的巨人的博客.可是自己比着葫芦画瓢 ...

  7. maven优化依赖

    maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...

  8. 三张图教你生成一个Android jar 库。

    我看到非常多教人使用第三方开源组件的Android教程.都是在教基于源代码project的库导入,个人觉得非常不妥,觉得最恰当的方式是把源代码project生成一个jar再导入到目标project上使 ...

  9. hive增加Update、Delete支持

    一.配置hive-site.xml二.建表三.操作四.总结 一.配置hive-site.xml CDH版本先进入Hive配置页 选择高级,找到hive-site.xml 的 Hive 客户端高级配置代 ...

  10. 常用的sql命令

    1 mysql创建数据库 create database [database name]; 2 创建表 create table [table name]([first column name] [f ...