3.08课·········switch case及if else嵌套(日期格式)
switch case
switch (n)
{
case :
break;
case :
break;
.
.
.
case n:
break;
}
1、switch case必须与break一同使用,每一个case后面都有一个break.
2、switch后面的()不能接收小数类型的值
3、break是跳转语句,与switch case连用的时候是跳出最近的{}。
4、switch case多用于年月日的计算。
分别输入月份 几号 输出是今年的第多少天
每年的1 3 5 7 8 10 12月是31天
今年的2月是28天
其他的4 6 9 11是30天
int m1 = , m2 = , m3 = , m4 = , m5 = , m6 = ,
m7 = , m8 = , m9 = , m10 = , m11 = ;//分别定义每个月的天数,12月份只需加上前面11个月的天数即可,不需定义 Console.Write("请输入月份:");
int m = int.Parse(Console.ReadLine());
Console.Write("请输入几号:");
int d = int.Parse(Console.ReadLine());
if ((m >= && m <= ) && (d >= && d <= ))
{
switch (m)
{
case :
Console.WriteLine("第" + d + "天");
break;
case :
Console.WriteLine("第" + (m1 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d) + "天");
break;
default:
Console.WriteLine("您的输入有误!");
break;
}
}
else
{
Console.WriteLine("您的输入有误!");
}
Console.ReadLine();
输入一个年份,判断是否是闰年//普通年份是4的倍数但不能是100的倍数
//世纪年需要是400的倍数
Console.Write("请输入年份:");
int year=int.Parse(Console.ReadLine()); if((year%==&&year%!=)||year %==)
{
Console.WriteLine("您输入的是闰年");
}
else
{
Console.WriteLine("您输入的是平年");
} } Console.ReadLine();
输入年月日,看格式是不是正确(利用if else嵌套)
其思维导图如下:
Console.Write("请输入年份:");
int y = int.Parse(Console.ReadLine());
if(y>=&&y<=)
{
Console.Write("请输入月份:");
int m = int.Parse(Console.ReadLine());
if(m>=&&m<=)
{
Console.Write("请输入日期:");
int d = int.Parse(Console.ReadLine());
if(d>=&&d<=)
{
if(m==||m==||m==||m==||m==||m==||m==)
{
Console.WriteLine("您输入的日期格式正确:"+y+"-"+m+"-"+d);
}
else if (m == || m == || m == || m == )
{
if (d <= )
{
Console.WriteLine("您输入的日期格式正确:" + y + "-" + m + "-" + d);
}
else
{
Console.WriteLine("您输入的日期格式有误!");
}
}
else//剩下的2月份
{
if ((y % == && y % != ) || y % == )//年份是闰年
{
if (d <= )
{
Console.WriteLine("您输入的日期格式正确:" + y + "-" + m + "-" + d);
} else
{
Console.WriteLine("您输入的日期格式有误!");
} }
else//不是闰年,是平年
{
if (d <= )
{
Console.WriteLine("您输入的日期格式正确:" + y + "-" + m + "-" + d);
}
else
{
Console.WriteLine("您输入的日期格式有误!");
}
}
} }
else
{
Console.WriteLine("您输入的日期格式有误!");
}
}
else
{
Console.WriteLine("您输入的月份格式有误!");
} }
else
{
Console.WriteLine("您输入的年份格式有误!"); }
Console.ReadLine();
3.08课·········switch case及if else嵌套(日期格式)的更多相关文章
- 为什么switch...case语句比if...else执行效率高
在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...
- 10-14C#基础--语句(switch....case和for...循环)
10-14C#基础--语句(2) 一.课前作业:“跟电脑猜拳” 二.switch(定义的变量,参数值)......case.... 注:switch...case大多用于值类型的判断,这里不同于if表 ...
- Android Studio快捷键switch case 轻松转换为if else
Android Studio快捷键switch case 轻松转换为if else 今天碰到的问题,没有找到资料,后面找到了方法,这个记下来,转载请注明出处:http://www.cnblogs.co ...
- java中的switch case
switch-case语句格式如下 switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; ... case default: //... ...
- 为什么说在使用多条件判断时switch case语句比if语句效率高?
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- 运算符 与 分支语句:if ,else if,else;switch case
分支语句: if else if else : switch case --如何使用 if else if else: Console. ...
- switch...case和if...else if的判断应用
判断成绩所属等级的 两种方法 1... switch...case方法: #include<stdio.h> int main(void) { ;i <= ;++i) // ...
- go语言选择语句 switch case
根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...
随机推荐
- mongo 增
mongodb存储的是文档,文档是json格式的对象,我们的增删改查,都要传输json对象 json是一个对象,js里有数组这个概念,只需要把多个对象放到一个数组里,即可 use test //首先选 ...
- 改变datagrid中指定单元格的值
//自己设置编辑时显示的内容 $('#purchasegroupname'+index).html(name); //单元格真实内容 $('#material_datagrid').datagrid( ...
- golang之路:mac下安装go
1.下载dkg包 2.安装 3.vim .bash_profile export GOROOT=/usr/local/goexport GOPATH=$HOME/GoglandProjects/Pro ...
- ubuntu 14.04 anaconda安装
Python的准备工作 Python 一个备受欢迎的点是社区支持很多,有非常多优秀的库或者模块.但是某些库之间有时候也存在依赖,所以要安装这些库也是挺繁琐的过程.但总有人忍受不了这种 繁琐,都会开发出 ...
- Resharper快捷键及用法
建议你使用 Reshaper 的快捷键,不要担心 Reshaper 会把你原来的快捷键设置给覆盖了,因为如果某个快捷键和 VS 是冲突的,Reshaper会让你自己选择需要使用 VS 还是 Resha ...
- leetcode第一刷_Binary Tree Zigzag Level Order Traversal
以出现的频率来看.树的层序遍历一定是考察的重点,除非工作人员想找题水数量. zigzag,还是有几道题的,层序的这个非常easy,假设是奇数层.reverse下面就可以.无他.我写的时候预计还不知道这 ...
- 涛哥的Python脚本工具箱之生成带Logo的二维码
近期须要在二维码上加Logo,网上没有找到好用的,于是自己用python写了一个. 须要安装qrcode,PIL库 二维码简称 QR Code(Quick Response Code),学名为高速响应 ...
- 基于CentOS7的服务器搭建(LAMP环境)
基于CentOS7的服务器环境搭建(LAMP环境) 一.安装MySQL组件 1.由于在CentOS7中,默认yum安装库中不含有mysql,我们可以下载mysql的分支MariaDB,如果必须要下my ...
- JAVA中的继承特点1
*如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段).如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它. ...
- 解决 三星Note3 桌面小部件不实时更新/不刷新 的问题
机型及问题描述:我的是三星note3 (国行 SM-N9008V),已ROOT,安装了LBE安全大师.在桌面小部件中,有些不会实时更新.比如有 滴答清单(办过的事项无法勾选),百度云音乐(歌曲播放更新 ...