C/C++日历
来源:互联网 发布:mac 如何设置密码 编辑:程序博客网 时间:2024/06/05 10:43
#include<iostream>
using namespace std;
using namespace std;
int menu() {
int s;
cout<< "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
cout<< "〓 1.查询某年某月某日是该年的第几天 〓" << endl;
cout<< "〓 2.查询某日是星期几 〓" << endl;
cout<< "〓 3.查询某月的月历 〓" << endl;
cout<< "〓 4.查询某年的年历 〓" << endl;
cout<< "〓 5.帮助 〓" << endl;
cout<< "〓 6.退出 〓" << endl;
cout<< "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
cout<< "请输入序号:" ;
cin>> s;
return s;
} //菜单
int s;
cout<< "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
cout<< "〓 1.查询某年某月某日是该年的第几天 〓" << endl;
cout<< "〓 2.查询某日是星期几 〓" << endl;
cout<< "〓 3.查询某月的月历 〓" << endl;
cout<< "〓 4.查询某年的年历 〓" << endl;
cout<< "〓 5.帮助 〓" << endl;
cout<< "〓 6.退出 〓" << endl;
cout<< "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
cout<< "请输入序号:" ;
cin>> s;
return s;
} //菜单
int Day(int setyear, int setmonth, int setday) { //计算时间为该年的第几天;
int month, day, sumday = 0;
for (month = 1;month <= setmonth;month++) {
if (month>1)
sumday = sumday + day;
switch (month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day = 31;break;
case 4:case 6:case 9:case 11:
day = 30;break;
case 2:
if ((setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0)
day = 29;
else
day = 28;break;
}
}
sumday = sumday + setday;
return sumday;
}
int month, day, sumday = 0;
for (month = 1;month <= setmonth;month++) {
if (month>1)
sumday = sumday + day;
switch (month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day = 31;break;
case 4:case 6:case 9:case 11:
day = 30;break;
case 2:
if ((setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0)
day = 29;
else
day = 28;break;
}
}
sumday = sumday + setday;
return sumday;
}
int Week(int setyear, int setmonth, int setday) { //计算日期的星期
int sum = 0, week;
week = ((setyear - 1) + (setyear - 1) / 4 - (setyear - 1) / 100 + (setyear - 1) / 400 + Day(setyear, setmonth, setday)) % 7;
return week;
}
int sum = 0, week;
week = ((setyear - 1) + (setyear - 1) / 4 - (setyear - 1) / 100 + (setyear - 1) / 400 + Day(setyear, setmonth, setday)) % 7;
return week;
}
void monthCalendar(int setyear, int setmonth,int setday){ // 实现月历
int day,d;
d = setday;
setday = 1;
switch (setmonth)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day = 31;break;
case 4:case 6:case 9:case 11:
day = 30;break;
case 2:
if ((setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0)
day = 29;
else
day = 28;break;
}
cout << "\n\t\t\t【" << setyear << "-" << setmonth << "】" <<endl ;
cout << "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
cout << "星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六" << endl;
int j = 0;
for (int i = 1; i <= Week(setyear, setmonth, d);i++) {
cout << "\t";
j++;
}
for (int i = 1; i <= day;i++) {
cout << i << "\t";
j++;
if (j % 7 == 0)
cout << endl;
}
cout << "\n〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
}
int yearCalendar(int setyear, int setmonth = 1, int setday = 1) { // 实现年历
for (setmonth;setmonth <= 12;setmonth++) {
monthCalendar(setyear, setmonth,setday);
}
return 0;
}
void main() {
bool loop = true;
int setyear = 1, setmonth = 1, setday = 1;
while (loop) {
bool x = (setmonth == 1 || setmonth == 3 || setmonth == 5 || setmonth == 7 || setmonth == 8 || setmonth == 10 || setmonth == 12);
bool y = (setmonth == 4 || setmonth == 6 || setmonth == 9 || setmonth == 11);
bool z = (setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0;
int a = menu();
switch (a) {
case 1: {
bool p = true;
while (p) {
cout << "年:";
cin >> setyear;
cout << "月:";
cin >> setmonth;
cout << "日:";
cin >> setday;
if (setmonth > 12 || setmonth <= 0) { // 判断月份是否正确
cout << "\n\t-----请输入正确月份...-----" << endl;
}
else if ((x && setday > 31) || (y && setday > 30)) { // 判断一个月的天数是否正确
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && z && setday > 29) { // 判断闰年二月的天数是否正确
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && !z && setday > 28) { // 判断平年二月的天数是否正确
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else {
p = false;
cout << "“" << setyear << "-" << setmonth << "-" << setday << "”" << "为当年的第:" << Day(setyear, setmonth, setday) << " 天" << endl;
setday = 1;
monthCalendar(setyear, setmonth, setday);
}
}
break;
}
int day,d;
d = setday;
setday = 1;
switch (setmonth)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day = 31;break;
case 4:case 6:case 9:case 11:
day = 30;break;
case 2:
if ((setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0)
day = 29;
else
day = 28;break;
}
cout << "\n\t\t\t【" << setyear << "-" << setmonth << "】" <<endl ;
cout << "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
cout << "星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六" << endl;
int j = 0;
for (int i = 1; i <= Week(setyear, setmonth, d);i++) {
cout << "\t";
j++;
}
for (int i = 1; i <= day;i++) {
cout << i << "\t";
j++;
if (j % 7 == 0)
cout << endl;
}
cout << "\n〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓" << endl;
}
int yearCalendar(int setyear, int setmonth = 1, int setday = 1) { // 实现年历
for (setmonth;setmonth <= 12;setmonth++) {
monthCalendar(setyear, setmonth,setday);
}
return 0;
}
void main() {
bool loop = true;
int setyear = 1, setmonth = 1, setday = 1;
while (loop) {
bool x = (setmonth == 1 || setmonth == 3 || setmonth == 5 || setmonth == 7 || setmonth == 8 || setmonth == 10 || setmonth == 12);
bool y = (setmonth == 4 || setmonth == 6 || setmonth == 9 || setmonth == 11);
bool z = (setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0;
int a = menu();
switch (a) {
case 1: {
bool p = true;
while (p) {
cout << "年:";
cin >> setyear;
cout << "月:";
cin >> setmonth;
cout << "日:";
cin >> setday;
if (setmonth > 12 || setmonth <= 0) { // 判断月份是否正确
cout << "\n\t-----请输入正确月份...-----" << endl;
}
else if ((x && setday > 31) || (y && setday > 30)) { // 判断一个月的天数是否正确
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && z && setday > 29) { // 判断闰年二月的天数是否正确
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && !z && setday > 28) { // 判断平年二月的天数是否正确
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else {
p = false;
cout << "“" << setyear << "-" << setmonth << "-" << setday << "”" << "为当年的第:" << Day(setyear, setmonth, setday) << " 天" << endl;
setday = 1;
monthCalendar(setyear, setmonth, setday);
}
}
break;
}
case 2: {
bool p = true;
while (p) {
cout << "年:";
cin >> setyear;
cout << "月:";
cin >> setmonth;
cout << "日:";
cin >> setday;
/*bool x = (setmonth == 1 || setmonth == 3 || setmonth == 5 || setmonth == 7 || setmonth == 8 || setmonth == 10 || setmonth == 12);
bool y = (setmonth == 4 || setmonth == 6 || setmonth == 9 || setmonth == 11);
bool z1 = (setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0;
bool z2 = !((setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0);*/
if (setmonth > 12 || setmonth <= 0) {
cout << "\n\t-----请输入正确月份...-----" << endl;
}
else if((x && setday > 31) || (y && setday > 30)){
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && z && setday >29) {
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && !z && setday >28) {
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else{
p = false;
cout << "“" << setyear << "-" << setmonth << "-" << setday << "”" << "为:周" << Week(setyear, setmonth, setday) << endl;
}
bool p = true;
while (p) {
cout << "年:";
cin >> setyear;
cout << "月:";
cin >> setmonth;
cout << "日:";
cin >> setday;
/*bool x = (setmonth == 1 || setmonth == 3 || setmonth == 5 || setmonth == 7 || setmonth == 8 || setmonth == 10 || setmonth == 12);
bool y = (setmonth == 4 || setmonth == 6 || setmonth == 9 || setmonth == 11);
bool z1 = (setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0;
bool z2 = !((setyear % 4 == 0 && setyear % 100 != 0) || setyear % 400 == 0);*/
if (setmonth > 12 || setmonth <= 0) {
cout << "\n\t-----请输入正确月份...-----" << endl;
}
else if((x && setday > 31) || (y && setday > 30)){
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && z && setday >29) {
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else if (setmonth == 2 && !z && setday >28) {
cout << "\n\t-----请输入正确日期...-----" << endl;
}
else{
p = false;
cout << "“" << setyear << "-" << setmonth << "-" << setday << "”" << "为:周" << Week(setyear, setmonth, setday) << endl;
}
}
break;
}
case 3: {
bool p = true;
cout << "年:";
cin >> setyear;
while (p)
{
cout << "月:";
cin >> setmonth;
if (setmonth <= 0 || setmonth > 12)
cout << "\n\t-----请输入正确月份...-----" << endl;
else {
p = false;
monthCalendar(setyear, setmonth, setday);
}
}
break;
}
case 4: {
cout << "年:";
cin >> setyear;
yearCalendar(setyear);
break;
}
break;
}
case 3: {
bool p = true;
cout << "年:";
cin >> setyear;
while (p)
{
cout << "月:";
cin >> setmonth;
if (setmonth <= 0 || setmonth > 12)
cout << "\n\t-----请输入正确月份...-----" << endl;
else {
p = false;
monthCalendar(setyear, setmonth, setday);
}
}
break;
}
case 4: {
cout << "年:";
cin >> setyear;
yearCalendar(setyear);
break;
}
case 5: {
cout << "“请严格按照所给的格式输入要查询的日期”\n" << endl;
break;
}
cout << "“请严格按照所给的格式输入要查询的日期”\n" << endl;
break;
}
case 6:
cout<<"程序以退出......"<<endl;
loop = false;
break;
default:
cout << "“请输入要菜单前正确的序号。。。”\n" << endl;
break;
}
}
}
cout << "“请输入要菜单前正确的序号。。。”\n" << endl;
break;
}
}
}
0 0
- C 日历
- c语言输出日历
- C语言日历
- 一个日历C程序
- C语言打印日历
- 日历C语言版
- C,日历V1.0。
- C/C++日历
- C语言版的日历
- c++:日历的实现
- C打印日历
- c语言打印日历
- C语言课程设计日历题目
- C语言课程设计日历题目
- C++:输出日历的算法
- 初学,C语言日历制作
- C语言 程序 打印日历
- C语言实现显示日历
- JavaScript表单对象Form介绍
- android inflater 用法
- mysql系列一
- spring配置durid连接池
- Java实体类的作用
- C/C++日历
- html表单提交的几种方法
- Xcode 清理
- Hibernate 学习笔记/代码(双向一对多)
- <LeetCode OJ> 26 / 264 / 313 Ugly Number (I / II / III)
- 【Unity3d】使用摄像机制作实时显示小地图
- Android 代码设置来电铃声
- [精]Oracle APEX 5.0 新手教程(二) 表格式表单
- android随笔13——自定义属性