如何在c ++中使用Switch case?

时间:2016-04-16 09:14:04

标签: c++ switch-statement

如何在此代码中使用switch case?我已经尝试了几次,但我真的不知道如何做到没有错误。

#include<iostream.h>
int x,y;
int sum(int a,int b)
{
    int c;
    c = a+b;
    return (c);
}
int sub (int a ,int b)
{
    int c;
    c = a-b ;
    return (c);
}
int multi ( int a, int b )
{
    int c ;
    c = a*b;
    return (c);
}
float div ( int a , int b)
{
    float c;
    c = a/b ;
    return (c);
}
main()
{
    cout<<"enter the value of x = ";
    cin>>x;
    cout<<"enter the value of y = ";
    cin>>y;
    cout<<"x + y  = "<< sum(x,y);
    cout<<"\n x - y  = "<< sub(x,y);
    cout<<"\n x * y  = "<< multi(x,y);
    cout<<"\n x /y  = "<< div (x,y);
    cin>>"\n";
}

1 个答案:

答案 0 :(得分:1)

在你的主要添加一个开关,并使每个case语句成为一个函数调用(链接sum(),multi()等)。

你想要的是什么:

#include <iostream>
using namespace std;

int x,y;
int sum(int a,int b)
{
int c;
c = a+b;
return (c);
 }
int sub (int a ,int b)
{
int c;
c = a-b ;
return (c);
 }
int multi ( int a, int b )
{
int c ;
c = a*b;
return (c);
}
float div1( int a , int b)
{
float c;
    c = a/b ;
return (c);
}
main()
{
    int ch=0;
std::cout <<"enter the value of x = ";
std::cin >>x;
std::cout <<"enter the value of y = ";
std::cin >>y;
std::cout <<"Input"<<std::endl;
std::cout <<"Sum: 1, Subtract: 2, Product: 3, Divide: 4"<<std::endl;
std::cin >>ch;
switch(ch){
 case 1: 
    std::cout <<"x + y  = "<< sum(x,y) <<std::endl;break;
 case 2: 
    std::cout <<"x - y  = "<< sub(x,y) <<std::endl;break;
 case 3: 
    std::cout <<"x * y  = "<< multi(x,y) <<std::endl;break;
 case 4: 
        if(y!=0){
            std::cout <<"x /y  = "<<div1(x,y)<<std::endl;
        } else { 
            std::cout <<"Denominator can't be zero is 0"<<std::endl;
     }
     break;
 default:
    std::cout <<std::endl;
}
 }