| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 485 人关注过本帖, 1 人收藏
标题:求大神修改一下这个程序,自己写了半天但是没弄好
只看楼主 加入收藏
千里之外W
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-8-10
结帖率:50%
收藏(1)
已结贴  问题点数:10 回复次数:6 
求大神修改一下这个程序,自己写了半天但是没弄好
#include<iostream>
#include<string.h>
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;                        //课程结构体指针
    SUBJECT* buffer;
};

STUDENT::STUDENT(int nMax)
{
m_nMax=nMax;;
buffer=new SUBJECT[m_nMax];
  if(buffer!=NULL)
  {
    pSubject=buffer;
  }
   
  else
  {
    exit(1);
  }
cout<<"栈空间已成功建立!"<<endl;   
}

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

void STUDENT::AddNewSubject(SUBJECT &szSub)
{

cout<<"当输入的课程等级为0时,输入终止"<<endl;
m_nSubjectCount=2;
int i=m_nSubjectCount;
//pSubject[i-1].name[64]=szSub.name[64];
//pSubject[i-1].level=szSub.level;
while(szSub.level != 0)
{
 *pSubject= szSub;
 cout<<"请输入课程名称"<<endl;
 cin>>szSub.name;
 cout<<"请输入课程等级"<<endl;
 cin>>szSub.level;
i++;
}
}

SUBJECT*STUDENT::GetSubject(int nIndex)
{
if(nIndex<10)
{
  cout<<"查询的科目为:"<<endl;
  cout<<&pSubject[nIndex]<<endl;
  return 0;
}
else
{
  cout<<"输入的课程编号错误,请重新输入!"<<endl;
  return NULL;
}
}

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

int main(void)
{
    SUBJECT pSubject[2]={"大学物理",120,"大学英语",121};
    STUDENT(10);
   
    STUDENT stu(10);
    SUBJECT szSub;
    cout<<"请输入课程名称"<<endl;
    cin>>szSub.name;
    cout<<"请输入课程等级"<<endl;
    cin>>szSub.level;
    stu.AddNewSubject(szSub);
    int n;
    cout<<"请输入要查找的课程编号为:"<<endl;
    cin>>n;
    stu.GetSubject(n);

    stu.GetSubjectCount();

    return 0;
}
搜索更多相关主题的帖子: private include public 结构体 
2013-10-20 21:51
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:5 
你这个程序是想干嘛?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-10-21 08:48
IT男year
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:106
注 册:2013-6-9
收藏
得分:5 
SUBJECT pSubject[2]={"大学物理",120,"大学英语",121};————————》兄弟!请问这句神马意思?????

STUDENT(10);————————》兄弟!请问这句神马意思?????
2013-10-21 09:35
IT男year
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:106
注 册:2013-6-9
收藏
得分:0 
#include<iostream>
#include<string>
using namespace std;
struct SUBJECT         //课程信息结构体
{
    string name;         //课程名称
    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;                        //课程结构体指针
    SUBJECT* buffer;
};
int main(void)
{
     //SUBJECT pSubject[2]={"大学物理",120,"大学英语",121};
     //STUDENT(10);
     system("color 3e");
     STUDENT stu(10);
     SUBJECT szSub;
     cout<<"请输入课程名称"<<endl;
     cin>>szSub.name;
     cout<<"请输入课程等级"<<endl;
     cin>>szSub.level;
     stu.AddNewSubject(szSub);
     int n;
     cout<<"请输入要查找的课程编号为:"<<endl;
     cin>>n;
     stu.GetSubject(n);

     stu.GetSubjectCount();

     return 0;
}

STUDENT::STUDENT(int nMax)
{
m_nMax=nMax;;
buffer=new SUBJECT[m_nMax];
if(buffer!=NULL)
   {
     pSubject=buffer;
   }
     
else
   {
     exit(1);
   }
cout<<"栈空间已成功建立!"<<endl;   
}

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

void STUDENT::AddNewSubject(SUBJECT &szSub)
{
    cout<<"当输入的课程等级为0时,输入终止"<<endl;
    m_nSubjectCount=1;
    int i=m_nSubjectCount,j=1;
    pSubject[i-1].name=szSub.name;
    pSubject[i-1].level=szSub.level;
    while(j)
    {
        
        cout<<"请输入课程名称"<<endl;
        cin>>pSubject[i].name;
        cout<<"请输入课程等级"<<endl;
        cin>>pSubject[i].level;
        j=pSubject[i].level;
        m_nSubjectCount++;
        i++;
    }
}

SUBJECT*STUDENT::GetSubject(int nIndex)
{
    int i=1;
    while(i)
    {
        if(nIndex<m_nSubjectCount)
        {
            cout<<"查询的科目为:"<<endl;
            cout<<pSubject[nIndex].name<<endl;
            i=0;
        }
        else
        {
            cout<<"输入的课程编号错误,请重新输入!"<<endl;
            cin>>nIndex;
        }
    }
    return 0;
}

int STUDENT::GetSubjectCount()
{
    cout<<"当前课程数目为:"<<endl;
    cout<<m_nSubjectCount<<endl;
    return 0;
}
看看是否合你意?
 
2013-10-21 10:38
千里之外W
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-8-10
收藏
得分:0 
回复 4楼 IT男year
恩,是这样的,呵呵,谢谢
2013-10-21 22:43
千里之外W
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-8-10
收藏
得分:0 
回复 3楼 IT男year
我想把它弄成原有的储存信息。
2013-10-21 22:43
千里之外W
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-8-10
收藏
得分:0 
回复 2楼 peach5460
写一个简单的学生课程选课系统
2013-10-21 22:44
快速回复:求大神修改一下这个程序,自己写了半天但是没弄好
数据加载中...
 
   



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

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