面向对象程序设计期中考试编程题

一、

data.cpp中补全代码如下:

#include "date.h"

#include "utils.h"

#include <iostream>

using std::cout;

using std::endl;

 

// 补足程序,实现Date类中定义的成员函数

 

 

Date::Date(){

    year=1970;

    month=1;

    day=1;

}

Date::Date(int y, int m, int d){

    year=y;

    month=m;

    day=d;

}

void Date::display(){

    cout<<year<<'-'<<month<<'-'<<day<<endl;

}

int Date::getYear() const{

    return year;

}

int Date::getMonth() const{

    return month;

}

int Date::getDay() const{

    return day;

}

int Date::dayOfYear(){

    int daynL[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

    int daysL[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};

    int ans=0;

    if(isLeap(year))

        for(int i=1;i<month;i++)

            ans+=daysL[i];

    else

        for(int i=1;i<month;i++)

            ans+=daynL[i];

    ans+=day;

    return ans;

}

运行结果:

二、

 

除工具包外各文件中代码分别为:

Article.h

 

#ifndef ARTICLE_H

#define ARTICLE_H

 

#include <string>

#include <iostream>

using namespace std;

class Article{

public:

    Article();

    void updateTitle();

    void updateContent();

    void show();

private:

    string title;

    string content;

    string publicTime;

    string lastUpdateTime;

};

#endif

 

Article.cpp

 

#include "Article.h"

#include "utils.h"

#include <iostream>

using std::cout;

using std::endl;

Article::Article(){

    cout<<"输入标题:"<<endl;

    getline(cin,title);

    cout<<"输入内容:"<<endl;

    getline(cin,content);

    publicTime=lastUpdateTime=getCurrentTime();

    cout<<endl;

}

void Article::updateTitle(){

    cout<<"更改标题..."<<endl;

    cout<<"输入新标题:"<<endl;

    getline(cin,title);

    lastUpdateTime=getCurrentTime();

    cout<<endl;

}

void Article::updateContent(){

    cout<<"修改内容..."<<endl;

    cout<<"输入新内容:"<<endl;

    getline(cin,content);

    lastUpdateTime=getCurrentTime();

    cout<<endl;

}

void Article::show(){

    for(int i=0;i<18;i++)

        cout<<'=';

    cout<<"文章信息";

    for(int i=0;i<18;i++)

        cout<<'=';

    cout<<endl;

    cout<<"标题               "<<title<<endl;

    cout<<"内容"<<endl;

    cout<<content<<endl;

    cout<<"发布时间:          "<<publicTime<<endl;

    cout<<"最后一次更新时间:  "<<publicTime<<endl;

    cout<<endl;

}

 

Main.cpp

 

#include "utils.h"

#include "Article.h"

#include <iostream>

#include <string>

using namespace std;

int main() {

    Article a1;

    a1.show();

    a1.updateTitle();

    a1.updateContent();

    a1.show();

    system("pause");

    return 0;

}

 

最终运行结果如下:

 

三、

main.cpp中补全后代码如下:

#include "info.h"

#include <iostream>

// 补足必要的头文件

// 。。。

#include <vector>

using namespace std;

 

int main() {

   

    // 补足程序,实现题目要求

    // 。。。

    vector<Info> audienceInfoList;

    string nm;

    string con;

    string city;

    int num;

    int cont=0;

    cout<<"录入信息"<<endl<<endl;

    cout<<"称呼/昵称,联系方式(邮箱/手机号),所在城市,预定参加人数"<<endl;

    while(cin>>nm>>con>>city>>num){

        cont+=num;

        Info tmp(nm,con,city,num);

        audienceInfoList.push_back(tmp);

    }

    int s=audienceInfoList.size();

    cout<<endl<<"截至目前,一共有"<<cont<<"位听众预定参加。预定听众信息如下:"<<endl;

    for(int i=0;i<s;i++){

        audienceInfoList[i].print();

    }

    system("pause");

    return 0;

}

运行结果如下:

 

posted on 2019-04-30 14:49  Alexander_Yang  阅读(448)  评论(5编辑  收藏  举报

导航