面向对象程序设计期中考试编程题
一、
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) 编辑 收藏 举报