博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++程序设计(第2版)课后习题答案--第13章
阅读量:5735 次
发布时间:2019-06-18

本文共 2804 字,大约阅读时间需要 9 分钟。

P317,13.3

View Code
1 #include 
2 #include
3 using namespace std; 4 5 static char daytable[2][13]={ 6 {
0,31,28,31,30,31,30,31,31,30,31,30,31}, 7 {
0,31,29,31,30,31,30,31,31,30,31,30,31} 8 }; 9 class Date10 { 11 //重载为友元12 //friend Date & operator+(Date &date,int d);13 friend ostream & operator<<(ostream &output,Date &d);14 public:15 Date();16 Date(int y,int m,int d);17 ~Date();18 //重载为成员函数19 Date & operator+(int d);20 static int isLeap(int y);21 22 protected:23 int year,month,day;24 };25 26 Date::Date()27 {28 year=2013;29 month=3;30 day=25;31 }32 33 Date::Date(int y,int m,int d)34 {35 year=y;36 month=m;37 day=d;38 }39 40 int Date::isLeap(int y)41 {42 return (y%4==0 && y%100 || y%400==0);43 }44 45 Date::~Date()46 {}47 48 Date & Date::operator+(int d)49 {50 while(day+d>daytable[isLeap(year)][month])51 {52 d-=daytable[isLeap(year)][month]-day;53 if(month==12)54 {55 year++;56 month=1;57 }58 else59 month++;60 day=0;61 }62 day+=d;63 64 return *this;65 }66 67 68 ostream & operator<<(ostream &output,Date &d)69 {70 output<
<<"-"<
<<"-"<
<
daytable[Date::isLeap(date.year)][date.month])78 {79 d-=daytable[Date::isLeap(date.year)][date.month]-date.day;80 if(date.month==12)81 {82 date.year++;83 date.month=1;84 }85 else86 date.month++;87 date.day=0;88 }89 date.day+=d;90 return date;91 }*/92 93 void main()94 {95 Date d(2013,3,25);96 d=d+365;97 cout<

P317,13.7

View Code
1 #include 
2 #include
3 //#include
4 using namespace std; 5 6 class Time 7 { 8 friend ostream & operator<<(ostream &output,Time &time); 9 friend istream & operator>>(istream &input,Time &time);10 public:11 Time(int h=0,int m=0,int s=0);12 private:13 int hour,minute,second;14 };15 16 Time::Time(int h,int m,int s)17 {18 hour=(h>=0 && h<=23)?h:0;19 minute=(m>=0 && m<=59)?m:0;20 second=(s>=0 && s<=59)?s:0;21 }22 23 ostream & operator<<(ostream &output,Time &time)24 {25 output<
<
<
<<":"26 <
<
<
<<":"27 <
<
<
<
>(istream &input,Time &time)33 {34 char buffer[81];35 input.getline(buffer,3,'-');36 time.hour=atoi(buffer);37 input.getline(buffer,3,'-');38 time.minute=atoi(buffer);39 input.getline(buffer,3,'\n');40 time.second=atoi(buffer);41 return input;42 }43 44 void main(void)45 {46 Time time(12,36,25);47 cout<<"hh-mm-ss:"<
>time;49 cout<

 

 

转载于:https://www.cnblogs.com/shajianheng/archive/2013/03/25/2980874.html

你可能感兴趣的文章
一点不懂到小白的linux系统运维经历分享
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>
POI getDataFormat() 格式对照
查看>>
Python 中的进程、线程、协程、同步、异步、回调
查看>>
好的产品原型具有哪些特点?
查看>>
实现java导出文件弹出下载框让用户选择路径
查看>>
刨根问底--技术--jsoup登陆网站
查看>>
OSChina 五一劳动节乱弹 ——女孩子晚上不要出门,发生了这样的事情
查看>>
Spring--通过注解来配置bean
查看>>
pandas 十分钟入门
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>
IK分词器安装
查看>>
查看Linux并发连接数
查看>>
你是谁不重要,关键是你跟谁!
查看>>
CSS中规则@media的用法
查看>>
pychecker:分析你的python代码
查看>>
css 默认不显示 之后显示
查看>>