[c++]万年历
2015-11-14 11:16
330 查看
</pre><pre name="code" class="cpp">#include<iostream> #include<iomanip> using namespace std; void main() { int monthDay[12] = { 31,0,31,30,31,30,31,31,30,31,30,31 }; //确定每个月的天数 cout << "please enter the year" << endl; int year; cin >> year; if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) monthDay[1] = 29; else monthDay[1] = 28; //判断是否为闰年 int startDay; startDay = ((year - 1) + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 + 1) % 7; //判断这一年第一天是星期几 //cout << startDay << endl; int count = 1; int day = 1; int temp; for (int i = 0; i < 12; i++) { cout << "Mon Tue Wed Thu Fri Sat Sun" << endl; //打印每个月的星期 while (count<startDay) { cout << setw(6) << " "; //每个月开始空的几天放空格 count++; } while (day <= monthDay[i]) //判断日期是否超过当月天数 { while (count <= 7) //判断是否超出一周7天 { if (day <= monthDay[i]) { cout << setw(3) << day << " "; //对齐 day++; count++; temp = count; } else // 完成这一周的打印强制退出 { temp = count; count = 8; } } cout << endl; //一周换行 count = 1; } cout << endl; //一月换行 day = 1; //一个月结束重置日期 startDay = temp; } }
相关文章推荐
- C++笔记:迭代器
- 谈谈C语言中的序列点(sequence point)和副作用(side effects)
- 10.c/c++程序员面试宝典-输入流与输出流
- C++中怎么对野指针进行防护
- C++判断文件是否存在
- C语言的变量的作用域和生存期
- 9.c/c++程序员面试宝典-递归
- C++primer第五版第十一章学习笔记
- c++之引用
- C++第十四课 面向对象
- c/c++标准预定义宏
- 提高C++代码质量 - [083]不要返回局部变量的引用
- C语言 条件编译详解
- C语言条件编译及编译预处理阶段
- win7 vc++ ide 解决方案
- c++构造与析构
- Ubuntu 14.10,准备C/C++的编译环境
- Ubuntu 14.10,准备C/C++的编译环境
- leetcode笔记:Decode Ways
- C 如何拼接字符串