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

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;
www.751com.cn)
{
 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)

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

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