LHL PTA 实验11 运算符重载、模板

题目1
6-1 学生成绩的输入和输出(运算符重载) (25分)
现在需要输入一组学生的姓名和成绩,然后输出这些学生的姓名和等级。
输入时,首先要输入学生数(正整数)N。接着输入N组学生成绩,每组成绩包括两项:第一项是学生姓名,第二项是学生的成绩(整数)。
输出时,依次输出各个学生的序号(从1开始顺序编号),学生姓名,成绩等级(不小于60为PASS,否则为FAIL)
函数接口定义:
面向Student类对象的流插入和流提取运算符
裁判测试程序样例:
#include
#include
using namespace std;

/* 请在这里填写答案 */

int main(){
int i, repeat;
Student st;
cin>>repeat;
for(i=0;i<repeat;i++){
cin>>st;
cout<<st<<endl;
}
return 0;
}

static int cnt=0;
class Student
{
public:
string name;
int grade;
Student(string n=" ",int g=1)
{
name=n;
grade=g;
}

};
ostream&operator<<(ostream& out,const Student &s)
{
out<<cnt<<". “<<s.name<<” ";
if(s.grade>=60)
out<<“PASS”;
else
out<<“FAIL”;

}
istream&operator>>(istream& in,Student &s)
{
in>>s.name>>s.grade;
cnt++;

}运行结果截图

题目2
6-2 日期类的设计与实现 (25分)
使用重载运算符(++,+=,<<等)实现日期类的操作。功能包括: 1)设置日期,如果日期设置不符合实际,则设置为默认日期(1900年1月1日) 2)在日期对象中向日期添加1或者加若干天(加入日期值后根据实际的日期进行月份、年份的变化) 3)重载流插入运算符进行日期的输出,其中月份要用名称表示
定义类MyDate:
class MyDate
主测试程序样例:
#include
#include
using namespace std;

/* 请在这里填写答案 */

int main()
{
int m,d,y;
MyDate d1,d2,d3;
cin>>m>>d>>y;
d1.setDate(m,d,y);

cin>>m>>d>>y;
d2.setDate(m,d,y);

cin>>m>>d>>y;
d3.setDate(m,d,y);

cout << "d1 is " << d1 << "\nd2 is " << d2;
cout << "\n\nd1 += 7 is " << ( d1 += 7 );
cout << "\n\n d2 is " << d2;
cout << "\n++d2 is " << ++d2;
cout << "\n\nTesting the prefix increment operator:\
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值