学号:20130000
程序设计课程设计(报告)
课程题目课程设计
学生姓名蒙宇、高张正、修云青
金世双
指导教师
计算机121
所在班级
所在学院信息工程学院
提交日期 2014年6月15日
目录
1. 引言 1
2. 系统框架 1
程序分析 1
程序展示 5
引言
设计一个万年历,可以嵌入游戏或软件内部,符合实际的计时规范。
初始界面
系统框架
查询具体日期对应星期数
显示万年历
年
具体年份
月
日
退出系统
*
程序分析
在程序设计之前,我们必须准备好所需的标准头文件。
#include<iostream>
#include<iomanip>
#include<string>
#include<>
using namespace std;
设计一个日期类Data,创建所需要使用的数据成员以及成员函数。包括年、月、日三个数据成员。查询年份、查询日期、判定闰年、判定所属星期、判定月份天数、输出结果等函数。
class Date
{public:
void getyear();
void getday();
int isleapyear();
int judgeweek();
int monthday(int i);
void display();
void searchday();
private:
int year;
int month;
int day;
};
输入部分
string weekday[7]={"一","二","三","四","五","六","日"}; //记录星期一到星期日
void Date::getyear()
{cout<<"请输入要查询的年份:";
cin>>year;
}
void Date::getday()
{cout<<"请输入日期:";
cin>>year;
cin>>month;
cin>>day;
}
判断部分
int Date::isleapyear()
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}
int Date::judgeweek()
{
int total=0; //以01年1月1日(星期一)为基点
int n;
total=(year-1)*365+(year-1)/4+(year-1)/400-(year-1)/100; //计算基点到输入年份的天数
n=total%7;
if(n==0)
return 0;
else
return n+1; //返回该年的1月1日为星期几
}
int Date::monthday(int i)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
return 31;
else if (i==2)
{if(isleapyear())
return 29;
else return 28;
}
else
上海海事大学程序设计课程设计—万年历 来自淘豆网m.daumloan.com转载请标明出处.