C++期中考试
第一题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++期中考试的更多相关文章
- 皓远的第二次博客作业(最新pta集,链表练习及期中考试总结)
前言: 知识点运用:正则表达式,有关图形设计计算的表达式和算法,链表的相关知识,Java类的基础运用,继承.容器与多态. 题量:相较于上次作业,这几周在java方面的练习花了更多的精力和时间,所要完成 ...
- 2019年11月18日 JAVA期中考试 增删改查
一.题目 石家庄铁道大学 青年志愿者服务网(20分) 1.项目需求: 为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需 ...
- 中国大学MOOC-陈越、何钦铭-数据结构-2016秋期中考试
判断题: 1-1 算法分析的两个主要方面是时间复杂度和空间复杂度的分析. (2分) 1-2 将N个数据按照从小到大顺序组织存放在一个单向链表中.如果采用二分查找,那么查找的平均时间复杂度是O(logN ...
- 实验5&期中考试后两题
实验内容1: #include <iostream> #include <vector> #include <string> using namespace std ...
- 【洛谷2019 OI春令营】期中考试
T68402 扫雷 题目链接:传送门 题目描述 扫雷,是一款单人的计算机游戏.游戏目标是找出所有没有地雷的方格,完成游戏:要是按了有地雷的方格,游戏失败.现在 Bob 正在玩扫雷游戏,你作为裁判要判断 ...
- Python期中考试程序设计题详解-2
一.请使用turtle库的turtle.pencolor().turtle.seth().turtle.fd()等函数,绘制一个边长为200的红色等边三角形. 题目解析: (1)本题利用turtle画 ...
- 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前几名 胡晓波(90).杨彦婷(88).宋卓卿(85).唐指朝(84).陈建兵(83).宋沛颖(82).王昊越(81).白睿(80).韩沅伯(80).王艺楷(80).张漠林(80) ...
- 复旦大学2015--2016学年第一学期高等代数I期末考试情况分析
一.期末考试成绩班级前几名 胡晓波(93).宋沛颖(92).张舒帆(91).姚人天(90).曾奕博(90).杨彦婷(90).白睿(88).唐指朝(87).谢灵尧(87).蔡雪(87) 二.总成绩计算方 ...
- 复旦大学2014--2015学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前几名 钱列(100).王华(92).李笑尘(92).金羽佳(91).李卓凡(91).包振航(91).董麒麟(90).张钧瑞(90).陆毕晨(90).刘杰(90).黄成晗(90). ...
随机推荐
- [C++] 递归之全排列问题、半数集
一.递归的定义 一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解. 二.用递归求解问题的主要步骤 1.找出相似性 ...
- Linux应用函数 -- 字符串
1.strchr 原型 char *strchr(const char* _Str,char _Val) 头文件 string.h 功能 查找字符串_Str中首次出现字符_Val的位置 返回值 成功 ...
- explain之三:MYSQL EXPLAIN语句的extended 选项学习体会,分析诊断工具之二
MySQL 的explain命令有一个extended选项,我想可以很多人都没有注意,因为它对命令的输出结果没有任何改变,只是增加了一个warning.这个 warning中显示了MySQL对SQL的 ...
- Dubbo各种协议详解
(1)协议支持 Dubbo支持多种协议,如下所示: Dubbo协议 Hessian协议 HTTP协议 RMI协议 WebService协议 Thrift协议 Memcached协议 Redis协议 在 ...
- 2016.7.27 VS搜索正则表达式,在UltraEdit中可选用Perl正则引擎,按C#语法搜索
表达式 语法 说明 任一字符 . 匹配除换行符外的任何一个字符. 最多 0 项或更多 * 匹配前面表达式的 0 个或更多搜索项. 最多一项或更多 + 匹配前面表达式的至少一个搜索项. 最少 0 项或更 ...
- GridControl 隐藏Drag a column header here to group by that column
解决方案: 打开设计器,找到OptionsView,往下拉设置showGroupPanel为false
- PagerSlidingTabStrip(viewPage滑动菜单)
Github地址:https://github.com/astuetz/PagerSlidingTabStrip 1,Include the library dependencies { compil ...
- Android Notification通知
/** * 在状态栏显示通知 */ private void showNotification(){ // 创建一个NotificationManager的引用 NotificationManager ...
- Java-马士兵设计模式学习笔记-工厂模式-单例及多例
一.单例的作用是用于控制类的生成方式,而不让外部类任意new对象 1.Car.java import java.util.ArrayList; import java.util.List; publi ...
- p1129 [ZJOI2007]矩阵游戏
传送门 分析 不难想到将黑点的行列连边,然后判断最大匹配是否等于n 代码 #include<iostream> #include<cstdio> #include<cst ...