闰年测试和对输入的非法判断

1问题描述

输入一个测试用例,判断输入用例是否为闰年

2方法使用

这里用到两个函数方法第一个方法由于都在if语句中判断,所以不好测试,第二个方法可以更加明确的判断

3具体代码

#include<stdio.h>
#include<sstream>
#include<string>

using namespace std;

void judge(int year){
bool b;
 if (year % 4 == 0)
         b=true;
 if (year % 100 == 0)
         b=false;
 if (year % 400 == 0)
           b=true;
 if(b==true)
     cout<<"runnian"<<endl;
 if(b!=true)
      cout<<"no runnian"<<endl;

}

void judge2(int a)
{
if((a%4==0&&a%100!=0)||(a%400==0))
   cout<<"run nian "<<endl;
else
   cout<<"no run nian";
}

int main(){
 string t;
 int n;
 stingstream ss;
 while(cin>>t){
    ss<<t;
    ss>>n;
    if(!ss.good()){
        cout<<"error";
        break;
    }
    judge(n);
        judge2(n);

 }
 return 0;
}

其中stringstream可以将任意格式的数据转换,ss.good()可以判断是否转换成功。

时间: 2025-01-15 22:21:15

闰年测试和对输入的非法判断的相关文章

JAVA闰年测试与解决非法输入

问题实现 实现一个闰年测试的JAVA代码如下: package leapyear; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextFi

闰年测试处理非法输入

本周问题为:输入任意年份,判断是否为闰年. 判断是否为闰年,可以通过下面代码实现: public boolean ifLeapYear(int year) { if (year % 400 == 0) return true; else if (year % 100 == 0) return false; else if (year % 4 == 0) return true; else return false; } 然而,输入的年份是保存为string类型的,因此,这时候就要把输入的字符串转

闰年测试非法输入的处理 简单安卓app 20150406

在软件测试的课上,老师介绍了闰年测试.闰年测试旨在检测某一年份是否为闰年,计算方式为四年一闰,百年不闰,四百年再闰.使用安卓实现这个小程序. 界面代码如下: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width=&quo

以一个闰年检测程序为例的非法字符异常输入检测

闰年:闰年(Leap Year)是为了弥补认为历法规定造成的年度天数与地球实际公转周期的时间差而设立的.补上时间差的年份为闰年. 简单来说,置润法则是:四年一闰,百年不闰,四百年再闰.即规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年. 例如:1950-2050年间的闰年: 1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000, 2004,2008,2012,2016,2020,2024,2

Practice:输入年月日,判断为一年的第几天

#-*- coding:utf-8 -*-'''Created on 2015-6-7# 输入年月日,判断为一年的第几天@author: AdministrInputator'''# strInput = '150223'# a = int(strInput[-2:])# print(a)def leapYear(year): # 判断平闰年,由于输入年份只有两位数,‘00’~‘69’转换为2000~2069,‘70’~’99‘转换为1970~1999 if year < 70: year +=

30.输入年月日,判断它是该年的第多少天

(1)运用swicth语句 #include<iostream> using namespace std; int main() { int y,m,d; int d1; int sum=0,sum1=0; cout<<"please input year,month,day: "<<endl; cin>>y>>m>>d; if(((y%4==0)&&(y%100!=0))||(y%400==0))

计算输入的年份是否为闰年,并利用条件运算符输入“是”或者“不是”

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConditionOperator{ class Program { static void Main(string[] args) { Console.Write("请输入一个年份:");//屏幕输入提示字符串 string strYear = Console.ReadLine();//获取用户输入的年

java编写输入一个数判断是否是回文数,所谓回文数比如121,1221,6778776

package com.hao947; import java.util.Scanner; public class demo5 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int x = 0; x = scanner.nextInt(); System.out.println("请输入一个4-8位的数"); int dig[] = new int[10]; i

练习:编写循环,让用户输入内容,判断输入的内容以alex开头的,则将该字符串加上_SB结尾

编写循环,让用户输入内容,判断输入的内容以alex开头的,则将该字符串加上_SB结尾 while True: user = input('请输入:') # 用户输入 if user.startswith('alex'): # 判断用户输入的内容以alex开头 print(user + 'SB') # 则在该字符串加上SB结尾 break 输出结果: 请输入:bbb 请输入:alex alexSB