【C++】电影评分

题目:根据用户对于电影的评分,输出该评分对应的等级

类似题目:跟据输入分数,判定该学生的成绩评级等

本次解题使用Switch语句进行判断

Switch语句的中心思想:执行多条件分支语句

分析:

根据提示,用户输入一个分数

获取并判断输入的这个分数值

        如果分数等于 x (某值):输出语句A;退出判断;

        如果分数等于 y (某值):输出语句B;退出判断;

        如果分数等于 z (某值):输出语句C;退出判断;

        否则:输出默认内容;推出判断

------ 思考一下 动手做一做  再往下翻翻看------

代码:

#include <iostream>
using namespace std;

int main(){

    int k;

    cout << "请输入对该电影的评分(0~10分)" << endl;
    cin >> k ;
    cout << "你给出的分数是:" << k << endl;

    switch(k){
        case 10:cout << "该电影优秀" << endl; break;
        case 9:cout << "该电影优秀" << endl; break;
        case 8:cout << "该电影还行" << endl; break;
        case 7:cout << "该电影还行" << endl; break;
        case 6:cout << "该电影一般" << endl; break;
        case 5:cout << "该电影一般" << endl; break;
        case 4:cout << "该电影一般" << endl; break;
        case 3:cout << "看不下去" << endl; break;
        case 2:cout << "看不下去" << endl; break;
        case 1:cout << "退票吧" << endl; break;
        case 0:cout << "退票吧" << endl; break;
        default:cout << "请再看一下评分规则" << endl; break;

    }

    system("pause");

    return 0;

}

运行结果:

聪明的你应该不难发现,其实有好几评分对应的输出语句是一致的,那能不能有一些简单一点的写法呢?

让我们试一下将代码改成这样:

#include <iostream>
using namespace std;

int main() {

    int k;

    cout << "请输入对该电影的评分(0~10分)" << endl;
    cin >> k;
    cout << "你给出的分数是:" << k << endl;

    switch (k) {
    case 10:
    case 9:cout << "该电影优秀" << endl; break;
    case 8:
    case 7:cout << "该电影还行" << endl; break;
    case 6:
    case 5:
    case 4:cout << "该电影一般" << endl; break;
    case 3:
    case 2:cout << "看不下去" << endl; break;
    case 1:
    case 0:cout << "退票吧" << endl; break;
    default:cout << "请再看一下评分规则" << endl; break;

    }

    system("pause");

    return 0;

}

运行结果:

所以,当我们发现相邻不同条件输出的语句是一样的时候,可以省略前几个输出语句,只留下最后一个输出语句(如果还不能理解,我们可以对比以上两种方法看一下代码的区别)。

注意事项:

1、在使用switch语句中,每一个输出语句后需要添加一个break,退出当前判断。不然整个程序会继续运行下去,不能达到一个数值对应一个输出结果。

2、switch(判断项):判断项中只能是整型或字符型,不可以是一个区间

提问环节:

switch语句是如何工作的?它有哪些限制?

switch语句是根据表达式不同的值选择执行不同语句控制流语句。它具有结构清晰、执行效率高的特点。

其工作原理如下:

1、执行switch语句后面的判断项表达式

2、将表达式的值与各个case标签中的值比较,匹配成功则输出对应语句;否则输出default标签后的语句

3、完成第二步后,继续执行后续代码至整个switch代码块结束,如果遇见break语句则结束运行

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值