| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:[开源]打印某年月厉(输入本年第一天在礼拜几)
只看楼主 加入收藏
asdffdsa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-25
收藏
 问题点数:0 回复次数:4 
[开源]打印某年月厉(输入本年第一天在礼拜几)

用c++写的 共三个.cpp文件
大家有没有什么好建议,提一下,我刚开始学习编程
这是我们书上的练习
#include <iostream>
#include <string>
using namespace std;
extern void display(int,int,int);
//全局变量
string month[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};
int year,day,flag;

int main()
{



cout<<"What year do you want a calendar for?"<<endl;
cin>>year;
cout<<"What day of the week does January 1 fall on?"<<endl;
cout<<"(Enter 0 for Sunday,1 for Monday. etc.)"<<endl;
cin>>day;

if (day>7||day<0)
{
cerr<<"the day must from 0 to 6!!"<<endl;
return -1;
}

if (year%400==0||(year%4==0&&year%100!=0))
{
cout<<year<<" is a leap year."<<endl;
flag=1;
}

else
{
cout<<year<<"is not a leap year."<<endl;
flag=0;
}//not leap year
system("pause");

display(flag,year,day);

return 0;
}

搜索更多相关主题的帖子: int 礼拜 开源 打印 
2006-05-30 17:44
asdffdsa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-25
收藏
得分:0 

#include <iostream>
#include <string>
using namespace std;
void fixfirstday(int&);
void daylocate(int,int&);
extern string month[12];
extern int flag;
void display(int flag,int year,int day)
{
string blank8=" ";
string blank2=" ";
string daynameshort="S M T W T F S";
string hyphen="---------------------------";
int k=day;//用于确定行位置
cout<<endl<<endl<<endl;
cout<<blank8<<year<<endl<<endl;


int i;
for(i=1;i<=12;++i)
{
system("pause");
cout<<blank8<<month[i-1]<<endl;
cout<<daynameshort<<endl;
cout<<hyphen<<endl;


if(i%2==1&&i<8)//奇数月份31天
{
fixfirstday(k);//output much blank to locate,and return k
daylocate(31,k);
}//if
else if(i%2==0&&i<8)
{
if(i==2)
{ int t;
if(flag==1)//如果是闰年则有29天否则28天
{t=29;}
else t=28;
fixfirstday(k);//output much blank to locate,and return k
daylocate(t,k);
}//if
else//不是二月的时候的偶月份30天
{
fixfirstday(k);//output much blank to locate,and return k
daylocate(30,k);
}//else
}


else if(i%2==0&&i>7)//双月份31天
{
fixfirstday(k);//output much blank to locate,and return k
daylocate(31,k);
}
else//单月30天
{
fixfirstday(k);//output much blank to locate,and return k
daylocate(30,k);
}//else

cout<<endl<<endl;
}//for

}


void daylocate(int d2,int &k2)

{
string blank2=" ";


for(int j=1;j<=d2;j++)
{
if(k2>6)//如果到达本行最后,从新对k置零,并从下一行开始输出
{
cout<<endl;
k2=0;
}

if(j<10)
cout<<"0"<<j<<blank2;
else
cout<<j<<blank2;
k2++;
}//for

}

void fixfirstday(int &k)
{

string blank4=" ";

switch(k)
{
case 0:break;
case 1:cout<<blank4;break;
case 2:cout<<blank4<<blank4;break;
case 3:cout<<blank4<<blank4<<blank4;break;
case 4:cout<<blank4<<blank4<<blank4<<blank4;break;
case 5:cout<<blank4<<blank4<<blank4<<blank4<<blank4;break;
case 6:cout<<blank4<<blank4<<blank4<<blank4<<blank4<<blank4;break;
default:break;
}
}

2006-05-30 17:44
asdffdsa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-25
收藏
得分:0 
希望大家帮我提议下修改建议
一些编程习惯上的 还有别的什么都好
由于 时间不多 注释没有写
晴谅解
不过代码挺简单应该很容易看
2006-05-30 17:45
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
,我C++学的不好,我是用C的,C++正在学习中

我的征途是星辰大海
2006-05-31 14:32
asdffdsa
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-5-25
收藏
得分:0 
其实我基本上都是c啦
2006-06-02 13:19
快速回复:[开源]打印某年月厉(输入本年第一天在礼拜几)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018164 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved