标题:实在不知道,连方向度没有,哪位大神能帮忙下
取消只看楼主
鬼才!
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-10-21
结帖率:25%
已结贴  问题点数:20 回复次数:1 
实在不知道,连方向度没有,哪位大神能帮忙下
/*实验步骤及要求:
1.建立存储课程信息的结构体
struct SUBJECT         //课程信息结构体
{
char name[64];         //课程名称
int level;             //课程等级
};

2.声明一个学生信息结构体
class STUDENT  
{
public:
    STUDENT(int nMax);                        //参数nMax的值传给成员变量m_nMax
    virtual ~STUDENT();
    void AddNewSubject(SUBJECT &szSub);       //添加新课程
    SUBJECT* GetSubject(int nIndex);          //获取指定编号的课程
    int GetSubjectCount();                    //获取当前课程数目
private:
    int m_nSubjectCount;                      //当前课程数目
    int m_nMax;                               //最大课程数目
    SUBJECT* pSubject;                        //课程结构体指针
};

关于课程结构体指针SUBJECT* pSubject的解释:
该指针是用来开辟连续的内存空间用于存储学生的所有课程
开辟的内存单元数由成员变量m_nMax的值决定
这样:
第一门课程就存放于pSubject[0]
第二门课程就存放于pSubject[1]
第三门课程就存放于pSubject[2]以此类推


关于变量m_nSubjectCount的解释:存储当前学生课程的数目,其值应小于或者等于m_nMax的值

AddNewSubject(SUBJECT &szSub)用于添加新课程信息,新添加的课程信息添加到预先分配好的
课程结构体指针所指向的内存空间

GetSubject(int nIndex);用于获取指向索引号为nIndex的课程的指针
具体来说该函数的返回值就是&pSubject[nIndex],如果获取失败则返回空指针NULL

构造函数内需要完成的工作是:
(1)为m_nSubjectCount以及m_nMax赋初值
(2)为pSubject开辟指定大小的(由m_nMax决定)内存空间

析构函数的任务是销毁之前构造函数所动态分配的内存空间

3.完成整个类的设计
4.在主程序里面完成所有功能的演示
*/



#include<iostream>

using namespace std;

struct SUBJECT         //课程信息结构体
{
char name[64];         //课程名称
int level;             //课程等级
};

class STUDENT  
{
public:
    STUDENT(int nMax);                        //参数nMax的值传给成员变量m_nMax
    virtual ~STUDENT();
    void AddNewSubject(SUBJECT &szSub);       //添加新课程
    SUBJECT* GetSubject(int nIndex);          //获取指定编号的课程
    int GetSubjectCount();                    //获取当前课程数目
private:
    int m_nSubjectCount;                      //当前课程数目
    int m_nMax;                               //最大课程数目
    SUBJECT* pSubject;                        //课程结构体指针
};


STUDENT::STUDENT(int nMax)
{
nMax = 10;
int m_nSubjectCount = 6;
m_nMax = nMax;
//SUBJECT* pSubject = new pSubject[nMax];


}

STUDENT::~STUDENT()
{
delete  []pSubject;
cout<<"内存释放完毕!"<<endl;


}

void STUDENT::AddNewSubject(SUBJECT &szSub)
{
cout<<"输入新课程的名称和等级!"<<endl;
SUBJECT* pSubject = &szSub;
m_nSubjectCount ++;
cin>>szSub.name;
//cin>>szSub.level;

}


 *GetSubject(int nIndex)
{
SUBJECT* pSubject;
cout<<"请输入您所查找课程的编号!"<<nIndex<<endl;
cout<<"您所查找的课程为:"<<pSubject[nIndex].name<<endl;
cout<<"等级为:"<<pSubject[nIndex].level<<endl;

return 0;
}



int STUDENT::GetSubjectCount()
{
    cout<<"当前课程数目为"<<m_nSubjectCount<<endl;

return 0;
}





int main(void)
{

SUBJECT sub[6]=
{
              "college physics",7,
              "mathematical analysis",9,
              "college physics experiment",8,
              "college English",9,
              "mathematical logic",10,   
              "object oriented programming",10

};

int m_nMax;
STUDENT stu(m_nMax);
//STUDENT( m_nMax);
SUBJECT* pSubject;
stu.AddNewSubject(*pSubject);

int nIndex;
stu.GetSubject( nIndex);

stu.GetSubjectCount();


return 0;
}
搜索更多相关主题的帖子: public 结构体 课程 信息 
2013-10-21 22:57
鬼才!
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-10-21
得分:0 
回复 2楼 blueskiner
我笨啊
2013-10-22 21:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422316-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.096581 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved