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 ...
随机推荐
- JavaScript数组求最大值 面试题
1.JavaScript数组求最大值 (1)方法一:借用math.max (2)方法二:ES6 2.代码 <!DOCTYPE html> <html lang="zh&qu ...
- NSDate 类的总结,全面基础
<span style="font-size:24px;"><span style="font-size:18px;">//1.创建日期 ...
- 【Excle数据透视表】如何为数据透视表应用样式
如下数据透视表样例,如何为该数据透视表设置样式呢? 步骤 单击数据透视表区域的任意单元格→数据透视表工具→设计→数据透视表样式→打开下拉箭头即可任意选择
- mongo 增
mongodb存储的是文档,文档是json格式的对象,我们的增删改查,都要传输json对象 json是一个对象,js里有数组这个概念,只需要把多个对象放到一个数组里,即可 use test //首先选 ...
- win10 microsoft edge 浏览器收藏夹位置
1.打开文件夹,找到(注意 用户名 改为你自己的用户名) C:\Users\用户名\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bb ...
- logstash5安装并实现mariadb数据写入到elasticsearch
java环境这里默认安装了 ,一般源码安装,这里就不说了 一.安装logstash 安装logstash可以用yum安装,也可以用源码安装: yum安装: 1.导入GPG: rpm --import ...
- Git(四):理解和使用分支
分支是Git的核心内容之中的一个,本章将介绍分支的一些知识,这里将继续使用前面创建的版本号库. 假设你跳过了前面章节直接进入本章.能够从Github上克隆这个版本号库: $ git clon ...
- openWRT自学---对官方的开发指导文档的解读和理解 记录1:编译一个package
针对的是:http://kamikaze.openwrt.org/docs/openwrt.html#x1-390002 1.If you want, you can also modify the ...
- Mac OS X 安装Ruby
安装CocoaPods第一步 起因:重装系统后需要重新安装CocoaPods网上搜了下发现很多都过时了,已经不能用了.而且taobao Gems源已经停止服务,现在有ruby-china提供服务 PS ...
- 使用Erlang实现简单的排序算法:快速排序,冒泡排序,插入排序
[排序算法] -module(sort). -compile(export_all). %%快速排序 qsort([]) -> []; qsort([Pivot|T]) -> qsort( ...