用switch语句编程设计一个简单的计算器程序,指定的算术运算符为加(+)、减:将一面额为10元倍数的整钱(<=100元)换成1元、2元和5元的零钱组合(每种面
用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2
计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。
编程要求:程序能进行浮点数的算术运算,有用户输入输出提示信息。
提示:因为除法中的除数不能为0,因此关键在于如何比较浮点变量data2和常数0是否相等。
#include<iostream>
int main(int argc,char**argv){
double num1;
double num2;
char oper;
std::cin>>num1;
std::cin>>oper;
std::cin>>num2;
if(oper=='/'&&num2<0.0000001){
perror("num1/num2 num2 is Zero");
return -1;
}
double result=0;
switch(oper){
case '+':result=num1+num2;break;
case '-':result=num1-num2;break;
case '*':result=num1*num2;break;
case '/':result=num1/num2;break;
}
std::cout<<"RESULT>>"<<result<<std::endl;
return 0;
}
将一面额为10元倍数的整钱(<=100元)换成1元、2元和5元的零钱组合(每种面值都要有)。输入要换的面额(如10元),输出所有可能的换法(如2种)。
#include<iostream>
int main(int argc,char**argv){
const int moneyList={1,2,5};
int moneyNum={0,0,0};
int MaxNum;
int input;
std::cin>>input;
if(input<=0||input>100||input%10!=0){
perror("INPUT:ERROR");
return -1;
}
for(int i=0;i<3;i++)
MaxNum=input/moneyList;
int count=0;
for(int i=1;i<=MaxNum;i++){
for(int j=1;j<=MaxNum;j++){
for(int k=1;k<=MaxNum;k++){
if(i*moneyList+j*moneyList+k*moneyList==input){
std::cout<<++count<<" RESULT >> "<<i<<" "<<j<<" "<<k<<std::endl;
}
}
}
}
return 0;
}
文档来源:51CTO技术博客https://blog.51cto.com/u_15302296/3151881
页:
[1]