标题:数据准确性检测
取消只看楼主
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
结帖率:100%
已结贴  问题点数:20 回复次数:3 
数据准确性检测
#include<iostream>
using  namespace  std;
class  Date
{  private:
  int  year;
  int  month;
  int  day;

bool  isLeapYear();
public:
bool  check();
void set_date();
    void  show_date();
   
};
void  Date::set_date()
{   cin>>year;
     cin>>month;check();
     cin>>day;check();}
void  Date::show_date()
{ cout<<year<<" "<<month<<" "<<day<<endl;
}
bool Date::isLeapYear()
 {
     return (year%4==0 && year%100!=0)||(year%400==0);
 }
 bool Date::check()
 {
     
int max_day;
int max[12]={31,28,31,30,31,30,31,31,30,31,30,31};
     if(isLeapYear())
     { ++max[1];
     }
    max_day = max[month];
    /*if((month>12)||(day>max_day))
    {cout<<"输入错误,请重新输入:"<<endl;
         set_date();
    }*/
     
        if(month>12)
         { cout<<"输入月份错误,请重新输入:"<<endl;
         
            set_date();
         }
        max_day = max[month];
         if(day>max_day)
     {
         cout<<"输入天错误,请重新输入:"<<endl;
         set_date();
     }
 
    return  0;
 }
    int  main()
   
    {  Date  d;
cout<<"请输入一个四位的阿拉伯数字表示的年,一个两位阿拉伯数字表示的月,一个两位的阿拉伯数字表示的日,并用回车分别输入"<<'\n';
       d.set_date();
      
        d.show_date();
       cin.get();
       return  0;
       }
    我输入“2012 3 45 ”,运行结果显示输入天数错误,我重新输入“2012 3 4”结果还是显示输入天数错误,请大家看看程序哪里出现问题,求助
搜索更多相关主题的帖子: private include public return 检测 
2013-10-29 08:42
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
得分:0 
回复 4楼 苑天尤
我运行了你回复的程序,结果还是不行啊
2013-10-29 22:27
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
得分:0 
回复 2楼 rjsp
我是想边接收数据,边进行检测,这样貌似不行啊,
2013-10-29 22:34
呜呜1
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2013-9-10
得分:0 
回复 3楼 nba199044
灰常谢谢,我想边接受数据,边进行检测,结果没成功
2013-10-29 22:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422686-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.421249 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved