第一题1. 补足日期类实现,使得能够根据日期获取这是一年中第多少天。(12分)

date.h

 #ifndef DATE_H
#define DATE_H class Date {
public:
Date(); // 默认构造函数,将日期初始化为1970年1月1日
Date(int y, int m, int d); // 带有形参的构造函数,用形参y,m,d初始化年、月、日
void display(); // 显示日期
int getYear() const; // 返回日期中的年份
int getMonth() const; // 返回日期中的月份
int getDay() const; // 返回日期中的日字
int dayOfYear(); // 返回这是一年中的第多少天 private:
int year;
int month;
int day;
}; #endif

utils.h

 // 工具包头文件,用于存放函数声明

 // 函数声明
bool isLeap(int);

date.cpp

 #include "date.h"
#include "utils.h"
#include <iostream>
using std::cout;
using std::endl; /*
class Date {
public:
Date(); // 默认构造函数,将日期初始化为1970年1月1日
Date(int y, int m, int d); // 带有形参的构造函数,用形参y,m,d初始化年、月、日
void display(); // 显示日期
int getYear() const; // 返回日期中的年份
int getMonth() const; // 返回日期中的月份
int getDay() const; // 返回日期中的日字
int dayOfYear(); // 返回这是一年中的第多少天 private:
int year;
int month;
int day; */
// 补足程序,实现Date类中定义的成员函数
Date::Date ():year(),month(),day()
{
}
Date::Date(int y,int m,int d):year(y),month(m),day(d)
{ }
void Date::display()
{
cout<<year<<'-'<<month<<'-'<<day<<endl;
}
int Date::getDay()const
{
return day;
}
int Date::getMonth()const
{
return month;
}
int Date::getYear()const
{
return year;
}
int Date::dayOfYear()
{
int sum=;
int month1[]={,,,,,,,,,,,};
if(isLeap(year))
month1[]=;
for(int i=;i<month-;i++)
sum+=month1[i];
sum+=day;
return sum;
}

main.cpp

 #include "utils.h"
#include "date.h" #include <iostream>
using namespace std;
int main() { Date epochDate;
epochDate.display();
cout << "是" <<epochDate.getYear()<<"年第"<< epochDate.dayOfYear() << "天.\n\n" ; Date today(,,); today.display();
cout << "是" <<today.getYear()<<"年第"<< today.dayOfYear() << "天.\n\n" ; Date tomorrow(,,);
tomorrow.display();
cout << "是" <<tomorrow.getYear()<<"年第"<< tomorrow.dayOfYear() << "天.\n\n"; system("pause");
return ;
}

utils.cpp

 // 功能描述:
// 判断year是否是闰年, 如果是,返回true; 否则,返回false bool isLeap(int year) {
if( (year % == && year % !=) || (year % == ) )
return true;
else
return false;
}

C++期中考试的更多相关文章

  1. 皓远的第二次博客作业(最新pta集,链表练习及期中考试总结)

    前言: 知识点运用:正则表达式,有关图形设计计算的表达式和算法,链表的相关知识,Java类的基础运用,继承.容器与多态. 题量:相较于上次作业,这几周在java方面的练习花了更多的精力和时间,所要完成 ...

  2. 2019年11月18日 JAVA期中考试 增删改查

    一.题目 石家庄铁道大学 青年志愿者服务网(20分)   1.项目需求: 为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需 ...

  3. 中国大学MOOC-陈越、何钦铭-数据结构-2016秋期中考试

    判断题: 1-1 算法分析的两个主要方面是时间复杂度和空间复杂度的分析. (2分) 1-2 将N个数据按照从小到大顺序组织存放在一个单向链表中.如果采用二分查找,那么查找的平均时间复杂度是O(logN ...

  4. 实验5&期中考试后两题

    实验内容1: #include <iostream> #include <vector> #include <string> using namespace std ...

  5. 【洛谷2019 OI春令营】期中考试

    T68402 扫雷 题目链接:传送门 题目描述 扫雷,是一款单人的计算机游戏.游戏目标是找出所有没有地雷的方格,完成游戏:要是按了有地雷的方格,游戏失败.现在 Bob 正在玩扫雷游戏,你作为裁判要判断 ...

  6. Python期中考试程序设计题详解-2

    一.请使用turtle库的turtle.pencolor().turtle.seth().turtle.fd()等函数,绘制一个边长为200的红色等边三角形. 题目解析: (1)本题利用turtle画 ...

  7. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析

    一.期末考试成绩班级前几名 胡晓波(90).杨彦婷(88).宋卓卿(85).唐指朝(84).陈建兵(83).宋沛颖(82).王昊越(81).白睿(80).韩沅伯(80).王艺楷(80).张漠林(80) ...

  8. 复旦大学2015--2016学年第一学期高等代数I期末考试情况分析

    一.期末考试成绩班级前几名 胡晓波(93).宋沛颖(92).张舒帆(91).姚人天(90).曾奕博(90).杨彦婷(90).白睿(88).唐指朝(87).谢灵尧(87).蔡雪(87) 二.总成绩计算方 ...

  9. 复旦大学2014--2015学年第二学期高等代数II期末考试情况分析

    一.期末考试成绩班级前几名 钱列(100).王华(92).李笑尘(92).金羽佳(91).李卓凡(91).包振航(91).董麒麟(90).张钧瑞(90).陆毕晨(90).刘杰(90).黄成晗(90). ...

随机推荐

  1. Java-API:java.util.list

    ylbtech-Java-API:java.util.list 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1. https://docs.oracle.co ...

  2. Modules:template

    ylbtech-Modules: 1.返回顶部 1.   2. 2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返 ...

  3. md5加密(1)

    package com.js.ai.modules.pointwall.util; import java.security.MessageDigest; import java.security.N ...

  4. [MySQL]修改mysql数据库的root密码的方法

    方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass ...

  5. List转Datable(需区分对象充当List成员和数组充当List成员两种情况)

    对象充当List成员时: /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name ...

  6. 2016.1.23 通过cmd在程序中执行sql脚本

    System.Diagnostics.Process pro = new System.Diagnostics.Process(); pro.StartInfo.FileName = "cm ...

  7. QT5提示can not find -lGL的解决方法

    这是由于 Qt5.0 默认将OpenGL加入了工程,但是在机器上没有安装OpenGL,所以jonas只需要在机器上安装OpenGL即可 .   安装建立基本编译环境 首先不可或缺的,就是编译器与基本的 ...

  8. CPU, PSU, SPU的区别

    It all started in January 2005 with Critical Patch Updates (CPU).  Then Patch Set Updates (PSU) were ...

  9. dp-最小点对问题

    dp-最小点对问题 //最小点对问题 //采用分治思想,先分成两个子集分别求出最短距离d //再对两个子集进行合并,在一个dx2d的矩形中,最多可能有6个点距离小于d //按y排序,当x增长时求出这6 ...

  10. linux驱动开发的经典书籍

    转载于:http://www.cnblogs.com/xmphoenix/archive/2012/03/27/2420044.html 参加实习也近一个月了,严重感觉知识不够,真是后悔学校里浪费那么 ...