问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++程序设计 电子日历

发布网友 发布时间:2022-05-13 19:28

我来回答

4个回答

热心网友 时间:2022-04-24 14:19

兄弟,闲着没事,帮你做了一下,在VC6.0上调试通过

有什么不满意的,你自己再改改

//====================================

#include <iostream>

using namespace std;

//Date类的定义

class Date

{

public:

 Date(){year=0;month=0;day=0;}

    void Display();//输出函数声明

    void AddOneDay();//加一天函数声明

    void SetDay();//设置日期函数声明

 friend bool Legal(int y, int m, int d);//声明判断日期是否合法函数为友元函数,因为成员函数调用了该函数

protected:

  int year;

  int month;

  int day;

};

//=============================================

void Date::Display()

{

  cout <<day <<"/" <<month <<"/"  <<year <<endl;

}

//============================================

void Date::AddOneDay()

{

  if(Legal(year,month,day+1))

    day++;

  else if(Legal(year,month+1,1))

    month++,day=1;

  else if(Legal(year+1,1,1))

    day=1,month=1,year++;

}

//=======================================

void Date::SetDay()

{

 int y;

 int m;

 int d;

 cout<<"请输入年 月 日,中间用空格隔开:";

 cin>>y>>m>>d;

 while(!Legal(y,m,d))

 {

  cout<<"您输入的日期不合法,请重新设置:";

  cin>>y>>m>>d;

 }

   

 

     year=y;

  month=m;

  day=d;

}

//===========================================

bool Legal(int y, int m, int d)

{

  if(y>9999||y<1||d<1||m<1||m>12)

    return false;

  int dayLimit=31;

  switch(m)

  {

  case 4: 

  case 6: 

  case 9: 

  case 11: 

   dayLimit--;

  }

  if(m==2) dayLimit = ((y%4==0&&y%100!=0)||y%400==0) ? 29 : 28;

  return (d>dayLimit)? false : true;

}

//=================================================

void IsLeapYear()

{

 int y;

 cout<<"请输入要判断的年份:";

 cin>>y;

 if((y%4==0&&y%100!=0)||y%400==0)

  cout<<y<<"  是闰年"<<endl;

 else

  cout<<y<<"  不是闰年"<<endl;

}

//===============================================

void Week()// 基姆拉尔森计算公式

{

 int y;

 int m;

 int d;

    cout<<"请输入年 月 日,中间用空格隔开:";

    cin>>y>>m>>d;

 while(!Legal(y,m,d))

 {

  cout<<"输入日期不合法!请重新输入日期:";

     cin>>y>>m>>d;

 }

    if((m==1)||(m==2))

 {

  m+=12; 

        y--; 

 } 

  int week= int(((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)+1)%7); 

  switch(week)

  {

  case 0:

   cout<<"今天是星期日"<<endl;break;

  case 1:

   cout<<"今天是星期一"<<endl;break;

  case 2:

   cout<<"今天是星期二"<<endl;break;

  case 3:

   cout<<"今天是星期三"<<endl;break;

  case 4:

   cout<<"今天是星期四"<<endl;break;

  case 5:

   cout<<"今天是星期五"<<endl;break;

  case 6:

   cout<<"今天是星期六"<<endl;break;

  

  }

       

}

//===============================================

      int main()

      {

    cout<<"********************************************************************************\n";

    cout<<"欢迎使用简单电子日历,请输入功能选择:(0-5)"<<endl<<endl;

    cout<<"0.退出 1.设置日期 2.输出日期 3.日期加一天 4.查看任一天星期几 5.判断是否闰年"<<endl;

    cout<<"********************************************************************************\n";

    int num;

    Date date;

    cin>>num;//输入功能选择

    

    if(!(num==0 ||num==1 || num==2 || num==3 || num==4 || num==5))

    {

     cout<<"您输入有误,请重新输入功能选择:(0-5)";

     cin>>num;

    }

    else

    {

     do

     {

      if(num==0) break;

      if(num==1) date.SetDay();

      if(num==2) date.Display();

      if(num==3) 

      {

       cout<<"加一天前的日期:";

       date.Display();

       date.AddOneDay();//加一天

       cout<<endl<<"加一天后的日期:";

       date.Display();

      }

       

      if(num==4) Week();

      if(num==5) IsLeapYear();

            cout<<"********************************************************************************\n";

            cout<<"欢迎使用简单电子日历,请输入功能选择:(0-5)"<<endl<<endl;

            cout<<"0.退出 1.设置日期 2.输出日期 3.日期加一天 4.查看任一天星期几 5.判断是否闰年"<<endl;

            cout<<"********************************************************************************\n";

      cin>>num;

      if(!(num==0 ||num==1 || num==2 || num==3 || num==4 || num==5))

      {

       cout<<"您输入有误,请重新输入功能选择:(0-5)";

             cin>>num;

      }

     }while(num!=0);

    }

     cout<<"\t欢迎下次使用!"<<endl;

     

     return 0;

   }

      

 

你直接复制粘贴到你的VC6.0去调试

热心网友 时间:2022-04-24 15:37

设置日期是什么样的操作?有什么效果?

热心网友 时间:2022-04-24 17:12

唉,
做起来好复杂。。。

热心网友 时间:2022-04-24 19:03

同情楼主,闲人帮帮他吧!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 辛迪英文名是什么? 51岁辛迪克劳馥穿20年前&quot;旧衣&quot; ,为什么气质更胜鼎盛时期? Taylor Swift新的Bad Blood MV里这三个明星叫什么? oppor7s屏幕锁忘记了怎么办 1999年后购买的宅基地不确权宅基地属于谁的最新相关信息 我1999年12月在乡下买了宅基地,产权证和集体土地证都有,这二个证合法吗?我是非农。跪求!! 1999年12月买的乡下宅基地,合法吗?我是非农。跪求!! 1999年以前已确权的农村宅基地取得了土地证书的,是以每本证为一宅吗? 99年买的宅基地,2002年已办理房产证土地证,06年也已经村改居,现卖方想要回,可能吗? 99年买的宅基地,一直没过户,现在还能过户吗?或者做公证可以吗? 一九九年以前的宅基地和以后的有区别吗 我是1999年前买的农村的房屋合法吗? 美的空调有维修开关吗 我是城市户口在九九年在农村买的房子,房证宅基地证齐全合法吗? 国家将“禁用”8种宅基地?真的假的? 土地确权时,为什么1999年以后的宅基地不能确权? 1999年买的宅基地盖的房子,当时也办了房权证,现在想重新建房可以吗? 1999年之前农村宅基地是可以买卖给城镇人吗? 99年以前的宅基地都算数吗 490柴油机相当于多少马力? 电子日历毕业设计 急求一份暑期社会实践报告 关于服装厂的~ Crawford是什么意思 大学生社会实践报告。。就只是毛绒厂做做管理。。我写不出啥。。1500字 没财富了。。求大神 c语言课设题目电子日历 汇编程序:电子日历时钟系统程序设计 金骏眉茶叶询价 数电设计电子日历 用C++程序编写电子日历 c++课程设计电子日历 在电子日历时钟中,如何实现在同一个7段位数码管上交替的显示时间和日... 马苏里拉芝士条怎么做如何做好 荣耀8x屏碎了一块,但不影响手机屏幕正常使用,换个外屏多少钱? LOL可以登录客户端但不能进入游戏? 果园风送式喷雾机具有哪些特点 果树人工涂杆费工费时,用什么喷雾器可不落不滴而均匀, 环保建议书 我们与周围环境建议书 形容人美有气质的诗句有哪些? 形容女儿有气质的诗句有哪些?