📄 student.cpp
字号:
//student.cpp
#include"StdAfx.h"
#include<string.h>
#include"student.h"
//有参构造函数
cstudent::cstudent(char *nam,char *psex,char *num,
char *maj,double mat,double cp,double eng)
{
name=new char[strlen(nam)+1];
strcpy(name,nam);
sex=new char[strlen(psex)+1];
strcpy(sex,psex);
number=new char[strlen(num)+1];
strcpy(number,num);
major=new char[strlen(maj)+1];
strcpy(major,maj);
math=mat;
cpp=cp;
english=eng;
next=NULL;
}
//无参构造函数
cstudent::cstudent()
{
name=0,sex=0,number=0,major=0;
math=0,cpp=0,english=0;
next=NULL;
}
//拷贝构造函数
cstudent::cstudent(cstudent &p)
{ name=new char[strlen(p.name)+1];
strcpy(name,p.name);
sex=new char[strlen(p.sex)+1];
strcpy(sex,p.sex);
number=new char[strlen(p.number)+1];
strcpy(number,p.number);
major=new char[strlen(p.major)+1];
strcpy(major,p.major);
math=p.math,cpp=p.cpp;
english=p.english;
next=&p;
}
//析构函数
cstudent::~cstudent()
{
if(name!=NULL)
delete[]name;
if(sex!=NULL)
delete sex;
if(number!=NULL)
delete[]number;
if(major!=NULL)
delete[]major;
}
//给已有结点赋值
void cstudent::setstudent(char *nam,char *psex,char *num,
char *maj,double mat,double cp,double eng)
{
name=new char[strlen(nam)+1];
strcpy(name,nam);
sex=new char[strlen(psex)+1];
strcpy(sex,psex);
number=new char[strlen(num)+1];
strcpy(number,num);
major=new char[strlen(maj)+1];
strcpy(major,maj);
math=mat;
cpp=cp;
english=eng;
}
char *cstudent::getname()//得到名字
{
return name;
}
char *cstudent::getsex()
{
return sex;
}
char *cstudent::getnumber()//得到学号
{
return number;
}
char *cstudent::getmajor()//得到专业
{
return major;
}
double cstudent::getmath()//得到数学成绩
{
return math;
}
double cstudent:: getcpp()//得到C++成绩
{
return cpp;
}
double cstudent::getenglish()//得到英语成绩
{
return english;
}
double cstudent::getallscore()//得到总成绩
{
return (math+cpp+english);
}
double cstudent::average()//得到平均成绩
{
return (math+cpp+english)/3.0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -