Как использовать условия в случае переключения в C ++? - PullRequest
0 голосов
/ 26 марта 2020

Можно ли как-нибудь использовать оператор переключения регистра, основанный на ответе условия?

Например: если процент больше 90, то с помощью оператора switch он должен вывести оценку A?

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Вы можете сделать что-то вроде

#include<iostream>
#include<string>

int main()
{
int n;

std::cout<<"Enter Mark:";
std::cin>>n;

n=n>90;

switch(n)
{
case 1:
    std::cout<<"Grade A";
    break;
case 0:
    std::cout<<"Grade B";
    break;
}

return 0;
}

или если у вас более двух

#include<iostream>
#include<string>

// <50 is c , 50 - 90 is b, >90 is a

int main()
{
int n;

std::cout<<"Enter Mark:";
std::cin>>n;

n=(n>50?(n>90?1:2):3);

switch(n)
{
case 1:
    std::cout<<"Grade A";
    break;
case 2:
    std::cout<<"Grade B";
    break;
case 3:
    std::cout<<"Grade C";
    break;
}

return 0;
}
0 голосов
/ 26 марта 2020
    #include <iostream>
using namespace std;
int main()
{
    double physics,chemistry,biology,computer,math,totalMarks,obtainMarks,percentage;
    char grade;
    cout<<"Enter Total Marks=";
    cin>>totalMarks;
    cout<<"Enter Marks of Physics=";
    cin>>physics;
    cout<<"Enter Marks of chemistry=";
    cin>>chemistry;
    cout<<"Enter Marks of biology=";
    cin>>biology;
    cout<<"Enter Marks of computer=";
    cin>>computer;
    cout<<"Enter Marks of Mathematics=";
    cin>>math;
    obtainMarks=physics+chemistry+biology+computer+math;
    percentage=(obtainMarks/totalMarks)*100;
    grade=percentage>=90?'A':(percentage>=80?'B':(percentage>=70?'C':(percentage>=60?'D':(percentage>=40?'E':'F'))));

    switch(grade)
    {
        case 'A' : cout<<"you have got A grade";
        break;
        case 'B': cout<<"you have got B grade";
        break;
        case 'C': cout<<"you have got C grade";
        break;
        case 'D': cout<<"you have got D grade";
        break;
        case 'E': cout<<"you have got E grade";
        break;
        case 'F': cout<<"you have got F grade";
        break;
    }
        return 0;
}

сделано!

...