C++大学选课系统课程设计 第3页

C++大学选课系统课程设计 第3页
return 0;
 p = p->Next;
 while(p)
 {
  if(strcmp(p->cname,N)==0)
  return 1;
  p = p->Next;
 }
 return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////
struct studentdb
{
 student stu;
 studentdb *Next;
};
struct studentname
{
 char tname[20];       //学生的名字
 float  result;     //学生所得的该课程分数
 studentname *Next;
};
/////////////////////////////////////////////////////////////////////////////////////////////
//课程类
class subject
{
public:
 subject()
 {
  first = NULL;
  maxstudent=30;
  activestudnet=0;
 }
 float readcredit();    //得到课程的学分
 void  getcredit(float a);  //设置学分
 float getaverage();    //得到学生的平均成绩
 float getresult(char N[]);  //查找某个学生的成绩
 void  getkname(char N[]);  //读出课程的名称
 void  setkname(char N[]);  //读入课程的名称
 studentname *retfirst()
 {
  return first;    //返回根结点
 }
 void findstudent(studentdb *P);  //根据该课程的名称,寻找选这课程的学生
 int retactivestudent()
 {
  return activestudnet;  //返回实际学生数
 }
 int retmaxstudent()
 {
  return 30;     //返回最多学生数30
 }
 void clractivestudnet()
 {
  activestudnet = 0;   //从文件中读出来后将实际学生数清零
 }

private:
 int maxstudent;    //最多学生数
 int activestudnet;   //实际学生数
 studentname *first;   //学生名单
 float credit;    //该课程的学分
 float averagerusult;  //该课程的平均成绩
 char kname[20];    //该课程的名称
};

float subject::readcredit ()
{
 return credit;
}

void subject::getcredit (float a)
{
 credit=a;
}

float subject::getaverage()
{
 float k = 0.0;
 studentname *p;
 p=first->Next;
 if(p==NULL)
 return 0;
 while(p)
 {
  k = k + p->result;
  p = p->Next ;
 }

 return k/activestudnet;
}

float subject::getresult (char N[])
{
 studentname *p;
 p = first;
 while(p)
 {
  if(strcpy(p->tname ,N)==0)
  return p->result;
  p = p->Next ;
 }
 return -1;
}

void subject::getkname (char N[])
{
 strcpy(N,kname);
}

void subject::setkname (char N[])
{
 strcpy(kname,N);
}

void subject::findstudent(studentdb *P)
{
 studentname *newcode = new studentname;
 newcode->Next=NULL;
 first = newcode;
 studentname *T = first;

 studentdb *K = P->Next;
 while(K)
 {
  course *Y = K->stu.retroot();
  if(Y ==NULL)
  {
   K = K->Next;
   continue;
  }

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有