开辟动态对象并用构造函数赋值的问题不会了,求大家指教
题目:
用动态对象数组实现一个简单的学生成绩管理系统。
定义一个学生类,有姓名、学号、性别、四门功课(Math、English、C、Computer)和平均分等私有数据成员。
用该学生类定义学生对象,学生信息由键盘输入;求出每个学生的平均分;然后显示每个学生的姓名、学号、四门课成绩和平均分。
要求:
1. 用动态对象数组实现;
2. 学生姓名的定义为:char *name;
3. 用构造函数实现学生信息的初始化;
4. 平均分的计算要用一个单独的函数实现;
5. 请严格按照下面的格式进行输入输出。
我的代码:
#include<iostream>
#include<string>
using namespace std;
class date
{
public:
date();
~date();
void showdate();
void pjs(int math1,int english1,int c1,int computer1);
private:
char *name;
int num;
char sex;
int math;
int english;
int c;
int computer;
int average;
};
date::date()
{
char *name1=new char[80];
int num1;
char sex1;
int math1;
int english1;
int c1;
int computer1;
int average1;
cin>>name1>>num1>>sex1>>math1>>english1>>c1>>computer1;
name=new char[strlen(name1)+1];
strcpy(name,name1);
num=num1;
math=math1;
english=english1;
c=c1;
computer=computer1;
delete []name1;
pjs(math1,english1,c1,computer1);
}
date::~date()
{
delete []name;
}
void date::pjs(int math1,int english1,int c1,int computer1)
{average=(math1+english1+c1+computer1)/4;}
void date::showdate()
{
cout<<name<<" "<<num<<" "<<sex<<" "<<math<<" "<<english<<" "<<c<<" "<<computer<<" "<<average<<endl;
}
int main()
{
int n;
cout<<"Please Input the Number of Students:"<<endl;
date *student=new date[n];
for(int i=0;i<5;i++)
{
}
cout<<"Student Information:"<<endl;
cout<<"Name ID Sex Math English C Computer Average"<<endl;
for(int i=0;i<5;i++)
{
student[i].showdate();
}
delete []student;
return 0;
}
实现构造函数赋值的时候,也就是第一个FOR循环的语句不会写了。。。希望大家能教教我。。谢谢