📄 teacherandsyudent.txt
字号:
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <fstream.h>
#include <string.h>
#include <math.h>
/*
class base
{
public:
//构造 赋值 显示
base(char name[]="")
{
strcpy(this->name,name);
}
virtual void setdata()
{
cout<<"请输入姓名:";cin>>name;
}
virtual void display()
{
cout<<"姓名:"<<name<<endl;
}
virtual bool isgood()=0;
char* getName(){return name;}
private:
char name[20];
};
class student:public base
{
public:
//构造 赋值 显示
student(char name[]="",float num=0):base(name)
{
this->num=num;
}
void setdata()
{
base::setdata();
cout<<"请输入成绩:";cin>>num;
}
void display()
{
base::display();
cout<<"成绩:"<<num<<endl;
}
bool isgood()
{
return num>90;
}
private:
float num;
};
class teacher:public base
{
public:
//构造 赋值 显示
teacher(char name[]="",int num=0):base(name)
{
this->num=num;
}
void setdata()
{
base::setdata();
cout<<"请输入论文数:";cin>>num;
}
void display()
{
base::display();
cout<<"论文数:"<<num<<endl;
}
bool isgood()
{
return num>3;
}
private:
int num;
};
void main()
{
base *b[100];
char ch;
int n=0;
do
{
cout<<"输入老师(s)或学生(t)?:";cin>>ch;
switch(ch)
{
case 's':
case 'S':
b[n]=new teacher();
b[n]->setdata();
n++;
break;
case 't':
case 'T':
b[n]=new student();
b[n]->setdata();
n++;
break;
default:
cout<<"请选择错误,请重新选择!"<<endl;
}
cout<<"是否继续?(Y/N)";cin>>ch;
}while(ch=='y' || ch=='Y');
system("pause");
system("cls");
fstream f;
f.open("base.txt",ios::out|ios::app);
cout<<"优秀的老师和学生信息如下:"<<endl;
for(int i=0;i<n;i++)
if(b[i]->isgood()==true)
{
b[i]->display();
f<<b[i]->getName()<<endl;
}
f.close();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -