注册 登录
编程论坛 C++教室

怎样改才能在输入y时继续进行计算?输入n时跳出循环?

笛c 发布于 2013-03-27 20:15, 2350 次点击
#include<iostream>
using namespace std;
main()
{
    int x,y;
    char a,h,Y,N,n;
cout<<"请输入两个数字和需要的运算符号"<<endl;
    cin>>x>>a>>y;
    switch(a)
    {
    case '+': cout<<(x+y)<<endl;cout<<"是否继续输入?"<<endl;cin>>h;if(h==n||N)break;
    case '-': cout<<(x-y)<<endl;cout<<"是否继续输入?"<<endl;cin>>h;if(h==y||Y)break;
    case '*': cout<<(x*y)<<endl;cout<<"是否继续输入?"<<endl;cin>>h;if(h==y||Y)break;
    case '/': cout<<(x/y)<<endl;cout<<"是否继续输入?"<<endl;cin>>h;if(h==y||Y)break;
    default: cout<<"输入错误"<<endl;break;
    }
}
5 回复
#2
shmilyflf2013-03-27 20:28
#include<iostream>
using namespace std;
main()
{
    int x,y;
    char a,h;
   
    while(1)
    {   
        cout<<"请输入两个数字和需要的运算符号"<<endl;
        cin>>x>>a>>y;
        switch(a)
        {
        case '+': cout<<(x+y)<<endl;break;
        case '-': cout<<(x-y)<<endl;break;
        case '*': cout<<(x*y)<<endl;break;
        case '/': cout<<(x/y)<<endl;break;
        default: cout<<"输入错误"<<endl;break;
        }
        cout<<"是否继续输入?"<<endl;
        cin>>h;
        //注意你的h==n || N,即使n和N看作字符,你这个判断是h==n的真假和N的真假,并不会是你想的判断h==n或者h==N!!!
        if(h=='n'||h=='N')//大体是这么个意思,这个是输入n或N退出,其他的都会继续
            break;
    }
}
//你这个输入要很麻烦啊,慢慢输吧
#3
笛c2013-03-27 20:36
你改的不错呀!但题目要求如下:(1)编写一个程序实现两个数之间简单的四则运算。在程序中,提示用户按表达式顺序输入操作数与运算符。

(2)增加实验的功能,是程序运行时,能一次完成多个运算,直至用户输入字符“N”(在程序中,提示用户输入“Y”或“N”以决定是否继续进行四则运算)。
#4
笛c2013-03-27 20:54
题目要求是不是输入一组数据四则运算后,继续换数据计算?是的话,那把case后面的break去掉就行,对吧?
#5
shmilyflf2013-03-27 21:23
这个题目够难懂的,但是还是别去掉break,你输入的运算符是什么就执行什么运算,下次运算再次输入表达式运算就行。要是题目想你输入的一组数据做完四则运算,那就不会让你输入运算符了。
#6
笛c2013-03-28 09:01
好的,谢了,分给你了
1