当前位置:文档之家› C++万年历实验报告

C++万年历实验报告

cout<<"继续查询请输1 "<<endl<<"退出查询请输入字符"<<endl;
int x;
cin>>x;
if(x==1)
goto loop;
}
void wnl::isleapyear(int year)
{
if(year>=1000&&year<=9999)
printf("%s\n",year%(year%100?4:400)?"no":"yes"); //以C语言流的形式判断会更快一些,节省内存
case 6:cout<<"Saturday"<<endl;
}
}
}
}
else
cout<<"没有按格式输入"<<endl;
}
int wnl::getdays(int year,int month,int day)
{
int i,sum=0;
for(i=1;i<year;i++)
{
if(isleap(i)) sum+=366;
int getyear(){return Year;} //返回私有成员的值
int getmonth(){return Month;}
int getday(){return Day;}
private:
int Year,Month,Day;
}_wnl;
void main()
{
int choice,year,month,day;
int i=1;
for(i=1;i<=12/choice;i++) //计算纵向输出几个月
{
for(int h=1;h<=choice;h++) //该循环用于输出横向月份名
{
int m=choice*(i-1)+h; //计算月份
cout<<" "<<monthname[m]<<" ";
}
cout<<endl;
case 4: cout<<"该年是鼠年"<<endl; break;
case 5: cout<<"该年是牛年"<<endl; break;
case 6: cout<<"该年是虎年"<<endl; break;
case 7: cout<<"该年是兔年"<<endl; break;
case 8: cout<<"该年是龙年"<<endl; break;
cout<<"▏判断某天是星期几请按2;▕"<<endl;
cout<<"▏判断某年的隶属生肖请按3;▕"<<endl;
cout<<"▏输出某年的日历请按4;▕"<<endl;
cout<<"▏输出某月的日期请按5;▕"<<endl;
cout<<"╲如果您要退出系统请按0;╱"<<endl;
cin>>choice;
{
if(year>=1000&&year<=9999)
{
cout<<"输入一行输出的月份数:";
int choice;
cin>>choice;
int s;
int a[3],b[3]; //b数组用来储存每月的天数a数组用来临时储存那一月输出到的日期
cout<<" year:"<<year<<endl;
(11)参考文献:
[1]吕凤翥,《C++语言程序设计》,清华大学出版社。
实验代码:
//万年历
#include<iostream.h>
#include<stdio.h>
#include<iomanip.h>
int dayofmonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //整形数组用于储存每月的天数
void animal(int year);//判断某年的生肖
int getyear(){return Year;}//返回私有成员的值
int getmonth(){return Month;}
int getday(){return Day;}
3、定义私有成员:int Year,Month,Day;
cout<<" "; //输出月前的空
if(isleap(year)) dayofmonth[2]=29;
b[j]=dayofmonth[month]; //月份天数b数组储存一个月的天数
for(int i=1;i<8-s;i++) //从一号开始输出
cout<<setw(2)<<i<<" "; //最后那个空是为了让一位数和两位数对齐
cout<<endl;
for(j=0;j<choice;j++) //这个循环是为了输出第一行,第一行都是单数,所以提出来输
{
int month;
month=choice*(i-1)+j+1; //计算月份
s=getdays(year,month,1);
s=s%7; //获取每月第一天
for(int m=0;m<s;m++)
int getdays(int year,int month,int day);//获取据第一天天数
void weekdays(int year,int month,int day);//获取星期几
void printyear(int year);//输出年的日历
void printyearmonth(int year,int month); //输出某年某月的日历
switch(choice)
{
case 0:return;
case 1:
cout<<"输入一个年份格式如:xxxx";
cin>>year;
_wnl.isleapyear(year);break;
case 2:
{
cout<<"请输入您要查询的天数格式如xxxx xx xx";
cin>>year>>month>>day;
{
if(year>=1000&&year<=9999)
{
if(month<=12&&month>=1)
{
int max=dayofmonth[month];
if(day>0&&day<max)
{
int s=getdays(year,month,day)%7;
switch(s)
{
case 0:cout<<"Sunday"<<endl;break;
{
int n=year%12;
switch(n)
{
case 0: cout<<"该年是猴年"<<endl; break;
case 1: cout<<"该年是鸡年"<<endl; break;
case 2: cout<<"该年是狗年"<<endl; break;
case 3: cout<<"该年是猪年"<<endl; break;
(5)创意的技术实现
(6)
(7)
(8)
主函数流程
判断闰年
获取天数
输出年份
(9)课程设计中目前存在的问题:
无法在欢迎页面插入字符画;
(10)设计实践过程中的自我感受
这是我第一次编写如此长的代码,从网上如同大海捞针似的寻找编写方法,看铺天盖地的长代码,还有的程序是错的。输入的时候,没有小工具。在看着自己熬通宵打出的代码,一大串的错误,真的有些泄气。改对了执行输出结果还是错的,只好重新思考算法。不过通过这次编程我真的学会了好多,比如其他的头文件的功能;setfil(‘’)设置填充字符;setw()定义字段长度……也让我真正体会到了编程的作用,爱上了编程。
cout<<" ~~欢迎来到万年历查询系统~~"<<endl<<endl;
cout<<"设计人:"<<endl;
cout<<"天津职业技术师范大学\n\t\t\t设计人:张锦琪\n\n";
loop:
cout<<"╱请按序号输入您要做的工作:╲"<<endl;
cout<<"▏判断闰年请按1;▕"<<endl;
相关主题