作业帮 > 综合 > 作业

用C++编写的一个简易计数器问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 19:14:25
用C++编写的一个简易计数器问题
原题:
3)编写一个模拟简易计数器程序:输入两个数(用number1和number2表示),再输入一个运算符(用operator表示,它只能是+、—、*、/ 中的某一种运算符),计算病输出其结果值.
l       算法提示:a)用嵌套的if语句实现.b)做除法时先判断除数是否为0,当除数为0时,输出出错信息并将结果置位0.c)当输入运算符超出所规定的操作范围时,输出出错信息并将结果置位0.

我的代码:

#include<iostream.h>
#include<stdlib.h>

int main()
{
float number1,number2;         //用户输入的两个数
char oper;                     //定义一个四则运算符号
                  

cout<<"这是一个简易计数器,先输入两个数字,再输入一个四则运算符进行运算"<<'\n';
    cout<<"请输入两个数字:"<<'\n';
cin>>number1>>number2;
cout<<"请输入一个四则运算符"<<'\n';
cin>>oper;

if(oper='-'){

      cout<<"结果是:"<<number1-number2<<"\n";
 
}
else if(oper='+'){

     \x09cout<<"结果是:"<<number1+number2<<"\n";

}
else if(oper='*'){

   cout<<"结果是:"<<number1*number2<<'\n';

}
else if(oper='/'){
if(number2=0){ cout<<"输入错误,\n";
}else{
cout<<"结果是:"<<number1/number2<<'\n';
}

}else{
            cout<<"输入错误,\n";
             return 0;
}
 cout.flush();      // 刷新输出缓冲区
 system("pause");   // 提示暂停,需要#include <stdlib.h>
}

小白新手 提问!这是我编写的一个程序   OK 绝对是no error的...
但是无论我输入什么四则运算符号 或者 我number2输入0( 代表输入除法会显示"输入错误")
都只给我显示 我第一个if 语句 也就是 减法的运算结果!跪了.....



我知道 用其他语句做可以顺利得到结果...比如switch语句...但是....

给一个 在我编写的基础上改动的代码 万谢!
if(oper=='-') //掉了=号
再问: 感谢感谢!!!!可为什么 我900/0显示的是这个.按照我程序 应该显示"输入错误"才对啊!
再答: 还是同样的问题if(number2=0){ cout<<"输入错误,\n";改为if(number2==0){ cout<<"输入错误,\n";
再问: 小白= =求原谅...... 大神能告诉我哪些 地方用== 哪些地方直接可以用=嘛? not all control paths return a value还有我这程序 由于加了 return 0 会出现这玩意 求解释!
再答: ==表示的是否相等,当你作为判断条件的时候使用 =表示赋值 你的程序都应该用== 错误表示不是所有地方都有返回值,你在 system("pause"); 后加上return 0