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

编程入门 行业动态 更新时间:2024-10-11 05:21:04

LHL PTA 实验11 <a href=https://www.elefans.com/category/jswz/34/1771114.html style=运算符重载、模板"/>

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:\

更多推荐

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

本文发布于:2024-02-06 09:08:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748035.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:运算符   模板   LHL   PTA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!