本文实例为大家分享了C++实现万年历的具体代码,供大家参考,具体内容如下
用C++写了个简易的万年历。
具体功能如下:
1.打印指定年(用户输入)所有月份的年历
2.打印指定年指定月(用户输入)的月份
3.打印指定日期(用户输入)的星期数
4.可重复输入
贴上源码:
#include#include #include using namespace std; int number; //菜单键 int year, month, day; //年、月、日 int i, j, t; //for循环用的量 int s; //星期X char c; //存放随机输入的数字,以实现“按任意键返回主菜单”的功能 char months[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; //平年每个月的天数 void Pos(int x, int y); //光标位置 void menu(); //主菜单函数 void runnian(); //如是闰年则变第二个月天数28为29 void oneyear(); //输出一整年的年历 void onemonth(); //输出一个月的月历 void xianshiweek(); //显示星期数 void Pos(int x, int y)//光标位置 { COORD pos; HANDLE hOutput; pos.X = x; pos.Y = y; hOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOutput, pos); } void menu()//主菜单函数 { Pos(40, 3); cout <<"***********************************" < > number; if (number <0 || number>3) { system("cls"); Pos(20, 15); cout <<"输入数字无效,请重新输入!" < > year; if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) //闰年判断公式 { months[2] = 29; } } void oneyear() //输出一整年的年历 { cout <<"请输入年份:"; runnian(); system("cls"); //清屏 cout <<"请输入年份:" < > c; system("cls"); menu(); } void onemonth()//输出一个月的月历 { int s = 0; cout <<"请输入年份:"; runnian(); cout <<"请输入月份:"; cin >> month; system("cls"); cout <<"请输入年份:" < > c; system("cls"); menu(); } void xianshiweek() //显示星期数 { int s = 0; cout <<"请输入年份:"; runnian(); cout <<"请输入月份:"; cin >> month; cout <<"请输入日期:"; cin >> day; system("cls"); cout <<"请输入年份:" < > c; system("cls"); menu(); } int main()//主函数 { setlocale(LC_ALL, "chs");//转中文 menu(); while (number != 0) { switch (number) { case 1: { oneyear(); break; } case 2: { onemonth(); break; } case 3: { xianshiweek(); break; } } months[2] = 28; //把months[2]变为初值 } if (number == 0) { system("pause"); } return 0; }
运行效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。