欢迎光临散文网 会员登陆 & 注册

c++任意年月历代码

2022-03-16 10:48 作者:大威的水杯  | 我要投稿

代码如下:

#include<iostream>

#include<conio.h>

#include<stdio.h>

using namespace std;


void calendar(int iyear, int imonth)

{

int i = 1900,blank=0,flag1,flag2=0;

int day = 0,mday;

//计算每月1日星期几

while (i < iyear)

{

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

day += 366;

else

day += 365;

i++;

}

if (imonth == 2)

day += 31;

if (imonth == 3)

day += 31 + 28;

if (imonth == 4)

day += 31 + 28 + 31;

if (imonth == 5)

day += 31 + 28 + 31 + 30;

if (imonth == 6)

day += 31 + 28 + 31 + 30 + 31;

if (imonth == 7)

day += 31 + 28 + 31 + 30 + 31 + 30;

if (imonth == 8)

day += 31 + 28 + 31 + 30 + 31 + 30 + 31;

if (imonth == 9)

day += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31;

if (imonth == 10)

day += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30;

if (imonth == 11)

day += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31;

if (imonth == 12)

day += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;

if ((iyear % 4 == 0 && iyear % 100 != 0 || iyear % 400 == 0) && (imonth > 2))

day += 1;

day = day % 7 + 1;

//1日前空格数量

blank += (day - 1) * 4;

//计算输出月份的每月天数

if (imonth == 1 || imonth == 3 || imonth == 5 || imonth == 7 || imonth == 8 || imonth == 10 || imonth == 12)

mday = 31;

else

{

if (imonth == 2)

{

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

mday = 29;

else

mday = 28;

}

else

mday = 30;

}

//输出部分

cout << "一  二  三  四  五  六  日" << endl;

for (flag1 = 0; flag1 < blank; flag1++)

cout << " ";

while (flag2 < mday)

{

if (flag2 < 9)

cout << flag2 + 1 << " ";

else

cout << flag2 + 1;

if (day == 7)

cout << endl;

else

cout << "  ";

flag2++;

day = (day + 1) % 7;

if (day == 0)

day = 7;

}

}


int main()

{

char cmd = 'Y';

int year, month;

while (1)

{

if (cmd == 'Y'||cmd=='y')

{

cout << "欢迎使用万年历系统v1.0" << endl;

cout << "请输入年份、月份:";

cin >> year >> month;

system("cls");

cout << "       " << year << "年  " << month << "月" << endl << endl;

calendar(year, month);

cout << endl << endl;

cout << "按任意键继续..." << endl;

getchar();

getchar();//实现回车功能 

system("cls");

cout << "是否需要再次显示其他月历?(Y/N):";

cin >> cmd;

}

else

{

system("cls");

cout << "欢迎再次使用本系统!" << endl;

break;

}

if (cmd == 'Y' || cmd == 'y')

system("cls");

}

return 0;

}


c++任意年月历代码的评论 (共 条)

分享到微博请遵守国家法律