毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++大学选修课系统设计 第4页

更新时间:2010-3-7:  来源:毕业论文
C++大学选修课系统源代码
//////////////////////////////////////////////////////////////////////////
//头文件
#include <string.h>
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <fstream.h>
#include <conio.h>

///////////////////////////////////////////////////////////////////////////
//定义课程
struct course        //某个学生所学的课程中的某一个
{
 char cname[20];  //课程名称
 float grade;    //课程成绩
 course *Next;   //指向下一个课程的指针
};
///////////////////////////////////////////////////////////////////////////
//学生类
class student
{
  public:
     student()
  {
    root = NULL;
    const maxcourse = 5;
    factcourse = 0;
  }
       void readname(char N[] );    //读入学生的姓名
    void getname(char N[]);     //得到学生的姓名
    void wrecourse(char N[],float score); //要据课程名写入学生课程的成绩
    float average();       //学生课程的平均成绩
       void addcourse(char N[],float g);  //给学生增加一门课
    int findcourse(char N[]);    //查找是否已有此课程,如果有返回1,如果没有返回0
    int retfactcourse()
    {
     return factcourse;
    }         //得到所学的课程数目
    course *retroot()
    {
     return root;      //利用键表将所有的课程保存起来
    }  
    int retmaxcourse()
    {
     return 5;      //得到最多可学的课程数目
    }
    void clrroot()      //清零
    {
     root = NULL;
     factcourse = 0;
    }
    ~student()
    {
   
    }

  private:
     char sname[20];        //学生的姓名
        int maxcourse;      //学生最多可以学五门课程
        int factcourse;      //学生实际所学的课程数目
  course *root;      //课程的根结点指针
};

void student::readname (char N[])
{
 strcpy(sname,N);
}

void student::getname(char N[])
{
 strcpy(N,sname);
}

void student::wrecourse(char N[],float score)
{
 course *p = root;
 if(p==NULL)
  return;
 if(p!=NULL)
  p = p->Next;
 while(p)
 {
  if(strcmp(p->cname,N)==0)
   p->grade = score;
  
  p = p->Next;
 }
}

float student::average()
{
 float aver=0.0;
    course *p = root;

 while (p)
 {
  aver = aver+p->grade;
 }

 aver = aver/factcourse;
 return aver;
}

void student::addcourse (char N[],float g)
{
 course *s = new course;
 s->Next=NULL;
 if(root == NULL)
  root = s;
 course *p = root;
    course *newcourse = new course;
 newcourse->Next = p->Next;
 p->Next=newcourse;
 strcpy(newcourse->cname,N);
 newcourse->grade = g;
 factcourse++;

}

int student::findcourse (char N[])
{
 course *p = root;
    if(root==NULL)
  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()

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

C++大学选修课系统设计 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。