博客
关于我
C++switch语句 | 判断某年某月有几天
阅读量:131 次
发布时间:2019-02-27

本文共 1746 字,大约阅读时间需要 5 分钟。

C++多分支选择结构

switch语句是C++中实现多分支选择的重要语句,类似于其他编程语言中的switch语句,但在语法细节上有一些差异。switch语句的基本结构如下:

switch(表达式) {case 常量表达式1: 语句1;case 常量表达式2: 语句2;...case 常量表达式n: 语句n;default: 语句n+1;}

switch语句后面的括号内的表达式可以是任意类型,并且多个case可以共享同一组执行语句。具体来说,当switch表达式的值与某个case子句中的常量表达式相同时,就会执行该case子句后面的语句。

需要注意的是,所有case子句中的常量表达式必须不同,否则会导致矛盾。此外,case和default的顺序不影响执行结果,读者可以将default放在任意位置。

在执行switch语句时,根据表达式的值找到对应的case子句后,从该case子句开始执行,不再进行其他判断。要跳出switch语句,可以使用break语句。

以下是一个实际案例:判断某年是否为闰年,并判断该年的某月有多少天。

#include

using namespace std;

int main() {int year, month;cout << "输入年份和月份(年月之间用空格隔开):";cin >> year >> month;

if (month < 1 || month > 12) {    cout << "输入的月份不存在。";    return 1;} else {    if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0)) {        cout << "年是闰年。";        mon = 1;    } else {        cout << "年是平年。";        mon = 2;    }}switch(month) {    case 1:        cout << "你输入的1月有31天。";        break;    case 2:        if (mon == 1) {            cout << "你输入的2月有29天。";        } else {            cout << "你输入的2月有28天。";        }        break;    case 3:        cout << "你输入的3月有31天。";        break;    case 4:        cout << "你输入的4月有30天。";        break;    case 5:        cout << "你输入的5月有31天。";        break;    case 6:        cout << "你输入的6月有30天。";        break;    case 7:        cout << "你输入的7月有31天。";        break;    case 8:        cout << "你输入的8月有31天。";        break;    case 9:        cout << "你输入的9月份有30天。";        break;    case 10:        cout << "你输入的10月有31天。";        break;    case 11:        cout << "你输入的11月有30天。";        break;    case 12:        cout << "你输入的12月有31天。";        break;    default:        cout << "输入有误!";        break;}

}

运行本程序时,输入年份和月份,年月之间用空格隔开。例如:

输入2020 10

2020年是闰年。

你输入的10月有31天。

以上内容可以根据实际需求进行修改和扩展,帮助读者更好地理解switch语句的使用和应用场景。

转载地址:http://qdfb.baihongyu.com/

你可能感兴趣的文章
OpenCV与AI深度学习 | 实战 | YOLOv10模型微调检测肾结石并提高准确率
查看>>
OpenCV与AI深度学习 | 实战 | 使用OpenCV和Streamlit搭建虚拟化妆应用程序(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 使用YOLOv8 Pose实现瑜伽姿势识别
查看>>
OpenCV与AI深度学习 | 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)
查看>>
OpenCV与AI深度学习 | 实战 | 使用姿态估计算法构建简单的健身训练辅助应用程序
查看>>
OpenCV与AI深度学习 | 实战 | 基于OpenCV和K-Means聚类实现颜色分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YoloV5和Mask RCNN实现汽车表面划痕检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)
查看>>
OpenCV与AI深度学习 | 实战 | 文本图片去水印--同时保持文本原始色彩(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)
查看>>
OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
查看>>
OpenCV与AI深度学习 | 实用技巧 | 使用OpenCV进行模糊检测
查看>>
OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
查看>>
OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
查看>>
OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
查看>>
OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
查看>>