课程首页 › 第2部分 › 第29课

第29课 不太准的心理测试

第2部分 智能的开始 · 选择结构· 知识点:if、switch嵌套

不太准的心理测试(if、switch嵌套)

你参与过如下跳转方式的心理问答测试吗?

1.你喜欢游泳吗?

A.不喜欢(选择后跳转到第2题)

B.喜欢(选择后跳转到第4题)

2.你害怕水吗?

A.很害怕(选择后跳转到第3题)

B.一点点害怕(选择后跳转到第5题)

3.你喜欢下雨天吗?

A.喜欢(选择后跳转到第4题)

B.不喜欢(选择后跳转到第5题)

4.如果下雨,你更喜欢做什么呢?

A.穿雨衣出门(选择后跳转到第6题)

B.待在家里(选择后跳转到第5题)

5.你会喜欢玩游乐园的过山车吗?

A.喜欢(选择后跳转到第6题)

B.不喜欢(选择后结束问答,输出分析结果A)

6.你有没有忘记过东西?

A.经常忘记(选择后结束问答,输出分析结果B)

B.很少忘记(选择后结束问答,输出分析结果C)

这样的问答方式不同于往日的顺序做题,而是根据不同的选择跳转到不同的问题,具有灵活性和趣味性。请尝试运行下面的程序体验一下。

插图
插图
插图
插图

运行程序:

开始不太准的心理测试:

1.你喜欢游泳吗?

A.不喜欢

B.喜欢

请选择:A 2.你害怕水吗?

A.很害怕

B.一点点害怕

请选择:B

5.你会喜欢玩游乐园的过山车吗?

A.喜欢

B.不喜欢

请选择:A 6.你有没有忘记过东西?

A.经常忘记

B.很少忘记

请选择:B

你可能是一个注重细节、有条理并且喜欢稳定的人,通常能够很好地掌握自己的生活和事务,不太追求冒险或刺激。

自己编的纯属娱乐,没有科学道理,所以这是一个不太准的心理测试!

(1)#include:包含C++标准库中的输入输出流头文件,实现cout输出和cin输入。

(2)using namespace std:使用std命名空间,这样可以使用标准库命名空间中的元素而不需要在前面加上std::。

(3)int main():程序的主函数。

(4)int num=1:定义一个整数变量num,用于跟踪当前测试问题的编号。num的初始值为1,使得测试题从第1题开始,同时为case匹配做好对应。

(5)char select定义一个字符变量select,用于接收用户的选择。它和嵌套switch选项case匹配,同时也作为最后存储分析结果A、B、C的变量。

(6)bool go=true:定义一个布尔变量go,用于控制循环是否继续进行。当进行到第5、6题的时候,通过选项将go值改成false,以便跳出while循环。

●while(true)为真,循环继续。

●while(false)为假,循环停止。

(7)将题号switch嵌套在循环中,使得每次问答可以根据题号num进行匹配和跳转。

(8)最后的switch(select)设计在问答结束的循环外,根据用户的选择进行心理分析,并输出相应的分析结果。

巩固练习

(1)switch语句通常用于对什么类型的值进行条件判断?()

A.字符串

B.浮点数

C.数组

D.整数

(2)switch语句中的default标签通常用于什么目的?()

A.用于执行默认的情况

B.用于终止switch语句的执行

C.用于处理不匹配的情况

D.用于创建新的case(3)在一个幻想世界里,四个季节之间界限分明,每个季节都有其特殊的魔法和神秘的生物。作为一名勇敢的冒险

家,想知道当前是哪个季节,以便做好冒险的准备。

请编写一个程序,输入月份,输出季节,并告诉该季节的特点以及可能遇到的神秘生物:

①如果输入的月份是1、2或12,则输出“十二月到二月是冬季。在冬季,寒冷的天气可能会带来冰雪魔法,可能会遇到雪精灵”。

②如果输入的月份是3、4或5,输出“三月到五月是春季。春季充满生机,可能会有植物魔法,可能会遇到树精灵”。

③如果输入的月份是6、7或8,输出“六月到八月是夏季。夏季阳光明媚,可能会有火焰魔法,可能会遇到火精灵”。

④如果输入的月份是9、10或11,输出“九月到十一月是秋季。秋季可能有风暴魔法,可能会遇到风精灵”。