当前位置:   article > 正文

c++课设作业之课程信息管理系统_【程序填空】课程信息管理

【程序填空】课程信息管理

课程信息管理系统

课程信息包括:记录编号、课程编号、课程名、学时(讲课学时、实践学时)、学分、开课学期,考核方式(考试/报告)
功能要求:
A、 从课程信息文件中读取已有的课程信息,并实现屏幕显示。
B、 能通过课程编号对已有的课程信息进行修改,要求编号不能修改,其他信息内容都可改,修改的结果保存至课程信息文件。
C、 实现对课程信息的统计(分学期统计课程数量及开课总学分数)。
D、 实现对课程信息的查询显示(查询条件分为课程编号、课程学分、开课学期),对有多条记录的查询结果按照课程开课学期进行排序显示。
E、 新课程信息的添加并保存至课程信息文件。
F、 数据约束关系:学时=讲课学时+时间学时;学分=学时/16。
G、 课程信息的删除,根据课程编号,删除指定课程信息,并将结果写入文件。

本程序主要用到了类以及链表的知识。
后面代码中单链表及其功能的实现额解释在这个文章中
https://blog.csdn.net/xuese_luochen/article/details/104374323
头文件——Class.h

//头文件,用来定义类,并定义其成员函数
#ifndef CLASS_H_
#define CLASS_H_

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

class Date						//类Date有数据成员,是课程的各种数据和一个类指针
{
   
public:
	string name;
	string exam_method;
	int semester;
	double time,number,credit;
	Date *Classnext;
};

class Class						//类Class有成员函数——类指针(用来临时储存各个数据),和成员函数(用来实现程序的各种功能)
{
   
public:
	Date *ClassHead;
	~Class();							//析构函数
	Class ();							//构造函数
	void class_set ();					//输入课程信息
	void show ();						//输出课程信息
	void class_keep ();					//将课程信息写入文档
	void class_insert(double N,string n,double t,int s,string e);		//将文档中的课程信息插入到链表中
	void class_Read();					//从文档中读取课程信息
	void class_delete();				//删除课程信息
	void class_revise();				//修改课程信息
	void class_sort();
	void class_find();					//按照一定条件寻找课程
	void class_renew();					//更新课程信息,并保持在文档中
	void class_census();				//按学期统计课程数量和学分总数
};

Class::Class()              //构造函数
{
   
	ClassHead=new Date;						//创建链表的链头
	ClassHead->Classnext=NULL;
}

Class::~Class()             //析构函数
{
   
	Date *p;
	while (ClassHead)				//将链表清除
	{
   
		p=ClassHead;
		ClassHead=ClassHead->Classnext;
		delete p;
	}
	ClassHead=NULL;
}


void Class::class_set ()   //输入课程信息
{
   
	class_sort();
	Date *p;
	Date *a;
	int class_num;
	a=ClassHead;
	cout << "您要输入几个课程的信息" << endl;
	cin >> class_num ;
	cout << "请依次输入课程编号,课程名字,课程学时,课程开课学期,课程测试方式" << endl;
	for(int k=0;k<class_num;k++)
	{
   
		p= new Date;
		cin >> p->number >> p->name >> p->time >> p->semester >> p->exam_method ;
		p->credit=p->time/16;					//下面三步实现将新的课程数据存放到链表中
		p->Classnext=a->Classnext;
		a->Classnext=p;
		a=a->Classnext;
	}
}

void Class::show ()                     //输出课程信息
{
   
	Date *p;
	cout << "课程编号" << '\t' << "课程名字" << '\t' << "课程学时" << '\t' << "课程学分" << '\t' << "课程学期" << '\t' << "课程考核方式" << endl;
	for(p=ClassHead->Classnext;p!=NULL;p =p->Classnext)		//将链表各节点的数据全部输出
	{
   
		cout << p->number << '\t' << '\t' << p->name <<'\t' << p->time  <<'\t'  << '\t' << p->credit  <<'\t' << '\t' << p->semester << '\t' << '\t' << p->exam_method << endl;
	}
	class_sort();						//排序函数--方便程序排列
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/41519
推荐阅读
相关标签
  

闽ICP备14008679号