ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++课程设计---学生成绩管理系统

2021-01-11 19:33:29  阅读:149  来源: 互联网

标签:课程设计 cout int C++ 学生 --- stu score 成绩


学生成绩管理系统

1.编译器
Dev c++;
2.系统功能需求分析
2.1学生成绩管理系统需求分析
包含学生的基本信息:姓名,性别,生日。
学生的成绩信息:学号,五科成绩,五科课程的名字(不同专业学生有不同的课程),总分,专业,绩点等。
学生成绩管理系统具有以下这些功能:
(1)学生成绩的录入:录入新的学生成绩等信息;
(2)学生成绩的添加:添加新的学生成绩等信息;
(3)学生成绩的删除:删除不需要的学生成绩等信息。
(4)学生成绩的查找:查找你需要的学生成绩等信息。
(5)学生成绩的修改:修改错误的学生成绩等信息。
(6)学生成绩的排序:按学生的绩点排序,排序后结果写入文件。
(7)学生的挂科情况:统计学生成绩小于60的数目。
(8)学生成绩的显示:显示所有学生成绩等信息。
(9)学生成绩的保存:把学生成绩等信息保存到文件。
2.2三个类功能需求分析
2.2.1 Person类
如图 1所示:
Person类派生出Student类。
Person类中受保护的数据成员有:姓名,性别,生日包含年月日。生日这个成员函数是BirthDate类的对象。
Person类中公用的成员函数有:
(1)输入函数
(2)显示函数
(3)重载<<,>>的函数
(4)基本的构造函数,默认构造函数,析构函数。
2.2.2 Student类
Student类派生出Undergraduate类。
Student类的受保护的数据成员:学号,五门课程名,五门课的成绩,总成绩。静态数据成员N用来统计学生人数。
Student类的公用的成员函数:
(1)输入函数
输入学生成绩等信息,并写入student.dat文件。
(2)显示函数
从student.dat 文件中读,并打印到终端。
(3)重载<<,>>的函数
(4)构造函数,默认构造函数,和析构函数。

2.2.3 Undergraduate类
Undergraduate类的私有的数据成员:专业,绩点,静态数据成员N用来统计学生人数。
Undergraduate类的公用的成员函数:
(1)重载<<,>>的函数
(2)构造函数,默认构造函数,和析构函数。
(3)输入学生成绩等信息
输入学生成绩等信息并写入Undergraduate.dat文件。
(4)显示所有的学生成绩等信息
从Undergraduate.dat文件中读,并打印到终端。
(5)增加学生成绩等信息
增加学生成绩等信息并继续写入Undergraduate.dat文件,如果重复输入已存在的学生学号,需要重新输入学生的成绩等信息。
(6)删除学生成绩等信息
在已添加的学生中查找要删除学生的学号,如果输入学生的学号查找不到,需要重新输入要删除学生的学号,并在文件中删除该学生成绩等信息。
(7)查找学生成绩等信息
按学生的学号查找学生,如果输入学生的学号查找不到,需要重新输入要删除学生的学号。在已添加的学生中查找到学生,就打印学生成绩等信息到终端。
(8)修改学生成绩等信息
按学生的学号查找需要修改成绩等信息的学生,如果输入学生的学号查找不到,需要重新输入要删除学生的学号。在已添加的学生中查找到学生,就重新输入该学生的信息,打印修改前后学生成绩等信息到终端,并将修改后学生成绩等信息写入文件。
(9)判断重复学号
判断是否重复输入已存在的学号。
(10)学生成绩排序
从Undergraduate.dat文件中读,并计算学生总分,绩点,并按降序排序,将成绩单写入Undergraduate_score_list.dat文件,并打印到终端。
(11)判断挂科的情况
从Undergraduate.dat文件中读,统计学生五科成绩小于60的个数,并打印到终端。
(12)学生成绩管理系统的菜单
菜单有0~8种选项,选择不同的选项,分别实现上述不同的功能。
3.代码展示

#include<iostream>
#include<fstream>
using namespace std;
class BirthDate{
	public:
	    int year;//年 
	    int month;//月 
	    int day;//日 
		BirthDate();
		BirthDate(int y,int m,int d):year(y),month(m),day(d){}
	    friend istream& operator>>(istream &in,BirthDate &b);
	    friend ostream& operator<<(ostream &out,BirthDate &b);
		void change(int,int,int);//修改
};
class Person 
{
	protected:
		string name;//姓名 
		string sex;//性别 
		BirthDate birth;//生日 
	public:
		Person();
		Person(string n,string s,int y,int m,int d):birth(y,m,d),name(n),sex(s){}
		~Person();
		virtual void display();//输出 
		void input();//输入 
};
class Student:public Person//学生类 
{ 
	protected:
		string id;//学号 
		string course[5];//五门课名
		double score[5];//五门成绩 
		double total;//总分
		static int N;//统计学生数量 
	public:
		Student();
	    Student(string n,string s,int y,int m,int d,string i,string course[5],double score[5],double t);
		~Student();
		friend istream& operator>>(istream &in,Student &s);
		friend ostream& operator<<(ostream &out,Student &s);
		void display();//打印终端 
		void input(Student*);//输入并写入文件 	
}; 
class Undergraduate:public Student//大学生类 
{
	private:
		string major;//专业名 
		double gpa;//绩点 
		static int N;//统计学生数量 
	public:
		Undergraduate();
	    Undergraduate(string n,string s,int y,int m,int d,string i,string course[5],double score[5],double t,string major):Student(n,s,y,m,d,i,course,score,t),major(major){gpa=0;}
		~Undergraduate();
		friend istream& operator>>(istream &in,Undergraduate &s);
		friend ostream& operator<<(ostream &out,Undergraduate &s);
		void display(); //显示 
		void input(Undergraduate*);//导入学生成绩等信息 
		void add(Undergraduate*);//增加 
		void remove(Undergraduate*);//删除 
		friend void search(Undergraduate*);//查找 
		void change(Undergraduate*);//修改 
		bool unique(const Undergraduate*,const string);//判断重复学号 
		friend void sort1(const Undergraduate *s);//排名 
		friend void sling(const Undergraduate*);//挂科 
		void menu(Undergraduate*); //目录 
};
//BirthDate类 
BirthDate::BirthDate()
{
	year=2000;
	month=1;
	day=1;
}
istream& operator>>(istream &in,BirthDate &b)
{
	in>>b.year>>b.month>>b.day;
	return in;
}
ostream& operator<<(ostream &out,BirthDate &b)
{
	out<<b.year<<" "<<b.month<<" "<<b.day;
	return out;
}
void BirthDate::change(int y,int m,int d)//修改 
{
	year=y;
	month=m;
	day=d;
}
//Person类 
Person::Person()
{
	name='0';
	sex='0';
}
Person::~Person()
{	
} 
void Person::display()//输出 
{
	cout<<name<<" "<<sex<<" ";
	cout<<birth<<" ";
}
void Person::input()//输入 
{
	cin>>name>>sex;
	cin>>birth;
}
//Student类 
int Student::N=0;
Student::Student()
{
	id='0';
	 for(int i=0;i<5;i++)
    {
    	course[i]='0';
    	score[i]=0;
	}
	total=0;
}
Student::Student(string n,string s,int y,int m,int d,string i,string c[5],double sc[5],double t):Person(n,s,y,m,d),id(i),total(t)
{
    for(int i=0;i<5;i++)
    {
    	course[i]=c[i];
    	score[i]=sc[i];
	}
} 
Student::~Student()
{
}
istream& operator>>(istream &in,Student &s)
{
	in>>s.name>>s.sex>>s.birth;
	in>>s.id;
	in>>s.course[0]>>s.course[1]>>s.course[2]>>s.course[3]>>s.course[4];
	in>>s.score[0]>>s.score[1]>>s.score[2]>>s.score[3]>>s.score[4];
	return in;
}
ostream& operator<<(ostream &out,Student &s)
{
	out<<s.name<<" "<<s.sex<<" "<<s.birth<<" ";
	out<<s.id<<" "<<s.course[0]<<" "<<s.score[0]<<" ";
	out<<s.course[1]<<" "<<s.score[1]<<" "<<s.course[2]<<" "<<s.score[0]<<" ";
	out<<s.course[3]<<" "<<s.score[3]<<" "<<s.course[4]<<" "<<s.score[4];
	return out; 
}

void Student::display()
{
	Student s[N];
	cout<<"姓名  性别  出生日期  学号  课程名1  score1  课程名2  score2  课程名3  score3  课程名4  score4  课程名5  score5"<<endl; 
	ifstream infile("student.dat");
	if(!infile)
	{
		cout<<"open error!"<<endl;
	}
	for(int i=0;i<N;i++)
	{
		infile>>s[i];
		cout<<s[i]<<endl;
	}
    infile.close();
}
void Student::input(Student *s)
{
	int n;
	ofstream outfile("student.dat");
	if(!outfile)
	{
		cout<<"open error!"<<endl;
	}
	cout<<"请输入导入学生人数:"<<endl;
	cin>>n;
	N=n;
	cout<<"请输入学生信息"<<endl; 
	cout<<"姓名  性别  出生日期:年 月 日  学号  课程名1  score1  课程名2  score2  课程名3  score3  课程名4  score4  课程名5  score5"<<endl; 
    for(int i=0;i<n;i++)
    {
    	cin>>s[i];
    	outfile<<s[i]<<endl;
	}
    outfile.close();
}

//Undergradu类 
int Undergraduate::N=0;
Undergraduate::Undergraduate()
{
	major='0';
	gpa=0;
}
Undergraduate::~Undergraduate()
{
}
istream& operator>>(istream &in,Undergraduate &s)
{
	in>>s.major;
	in>>s.name>>s.sex>>s.birth; 
	in>>s.id>>s.course[0]>>s.score[0];
	in>>s.course[1]>>s.score[1]>>s.course[2]>>s.score[2];
	in>>s.course[3]>>s.score[3]>>s.course[4]>>s.score[4];
	return in;
} 
ostream& operator<<(ostream &out,Undergraduate &s)
{ 
    out<<s.major<<" ";
    out<<s.name<<" "<<s.sex<<" "<<s.birth<<" "; 
    out<<s.id<<" "<<s.course[0]<<"\t"<<s.score[0]<<"\t";
	out<<s.course[1]<<"\t"<<s.score[1]<<"\t"<<s.course[2]<<"\t"<<s.score[2]<<"\t";
	out<<s.course[3]<<"\t"<<s.score[3]<<"\t"<<s.course[4]<<"\t"<<s.score[4];
    return out;
} 

void Undergraduate::display()
{
	Undergraduate s[N];
	cout<<"专业  姓名  性别  出生日期  学号  课程名1  score1  课程名2  score2  课程名3  score3  课程名4  score4  课程名5  score5"<<endl; 
	ifstream infile("Undergraduate.dat");//打开文件 
	if(!infile)
	{
		cout<<"open error!"<<endl;
	}
	for(int i=0;i<N;i++)
	{
		infile>>s[i];//写入文件 
		cout<<s[i]<<endl;//打印终端 
	}
    infile.close();//关闭终端 
}
void Undergraduate::input(Undergraduate *s)//输入 
{
	int n;
	ofstream outfile("Undergraduate.dat");//打开文件 
	if(!outfile)
	{
		cout<<"open error!"<<endl;
	}
	cout<<"请输入导入学生人数:"<<endl;
	cin>>n;
	if(n<0)
	{
		cout<<"输入错误"<<endl;
	 } 
	s[0].N=n;//统计学生人数 
	cout<<"请输入学生成绩等信息"<<endl; 
	cout<<"专业  姓名  性别  出生日期:年 月 日  学号  课程名1  score1  课程名2  score2  课程名3  score3  课程名4  score4  课程名5   score5"<<endl; 
    try
	{
		for(int i=0;i<n;i++)
    {
    	cin>>s[i];//输入学生信息 
		if(s[i].score[0]<0||s[i].score[0]>100||s[i].score[1]<0||s[i].score[1]>100||s[i].score[2]<0||s[i].score[2]>100||s[i].score[3]<0||s[i].score[3]>100||s[i].score[4]<0||s[i].score[4]>100)
    	{
    		int a;
    		throw a;
		}
		if(s[i].birth.year<=1980||s[i].birth.month<=0||s[i].birth.month>=12||s[i].birth.day<=0||s[i].birth.day>31)
		{
			BirthDate birth;
			throw birth;
		 } 
		outfile<<s[i]<<endl;//写入文件 
	}
    outfile.close();//关闭文件 
	}
	catch(int)
	{
		cout<<"输入的成绩非法"<<endl;
	}
	catch(BirthDate)
	{ 
	    cout<<"输入出生日期非法"<<endl; 
	}
}
void Undergraduate::add(Undergraduate *s)//增加 
{
    int n; 
	cout<<"请输入要添加的人数"<<endl;
	cin>>n;
    cout<<"专业  姓名  性别  出生日期:年 月 日  学号  课程名1  score1  课程名2  score2  课程名3  score3  课程名4  score4  课程名5  score5"<<endl; 
	ofstream outfile("Undergraduate.dat",ios::app);//打开文件 
	if(!outfile)
	{
		cout<<"open error!"<<endl;
	}
	try
	{
	for(int i=N;i<N+n;i++)
	{
		cin>>s[i];//输入学生信息 
		if(Undergraduate::unique(s,s[i].id))//判断是否输入重复学号 
		{
			cout<<"请重新输入学生成绩等信息:"<<endl;
			cin>>s[i]; 
		}
		if(s[i].score[0]<0||s[i].score[0]>100||s[i].score[1]<0||s[i].score[1]>100||s[i].score[2]<0||s[i].score[2]>100||s[i].score[3]<0||s[i].score[3]>100||s[i].score[4]<0||s[i].score[4]>100)
    	{
    		int a;
    		throw a;
		}
		if(s[i].birth.year<=1980||s[i].birth.month<=0||s[i].birth.month>=12||s[i].birth.day<=0||s[i].birth.day>31)
		{
			BirthDate birth;
			throw birth;
		 } 
		outfile<<s[i]<<endl;//将学生信息写入文件 
    }
    outfile.close();//关闭文件 
	N+=n;//增加学生人数 
    }
	catch(int)
	{
		cout<<"输入的成绩非法"<<endl;
	}
	catch(BirthDate)
	{ 
	    cout<<"输入出生日期非法"<<endl; 
	}
}
void Undergraduate::remove(Undergraduate *s)//删除 
{
	int n;
	string id; 
	bool flag=false;
	cout<<"请输入要删除学生信息的学号:"<<endl;
	while(!flag) 
	{
	cin>>id;
	for(int i=0;i<N;i++)
	{
		if(s[i].id==id)//判断是否找到要删除学生学号 
		{   
		    flag=true;
		    cout<<"学生成绩等信息:"<<endl; 
		    for(int k=0;k<N;k++) //打印到终端 
		    {
		    	cout<<s[k]<<endl;
			}
			for(int j=i;j<N-1;j++)//往前移1为,覆盖该学生信息 
			s[j]=s[j+1];
			cout<<"删除成功!"<<endl; 
			N=N-1;//减少学生人数 
			break;
		}
	} 
	if(!flag)
	{
		cout<<"未找到该学生信息,请重新输入"<<endl; 
	}
}
	ofstream outfile("Undergraduate.dat");//打开文件 
	if(!outfile)
	{
		cout<<"open error!"<<endl;
	}
	cout<<"删除后学生信息表:"<<endl; 
	for(int i=0;i<N;i++)
	{
	outfile<<s[i]<<endl;//写入文件 
	cout<<s[i]<<endl;//打印终端
    }
	outfile.close(); //关闭文件 
}
void search(Undergraduate *s)//查找 
{
	string id; 
	bool flag=false;
	int i,j,count=0;
	int num[5]={-1};
	int N=s[0].N;
	cout<<"请输入要查找学生信息的学号:"<<endl;
	while(!flag)
	{
		cin>>id;
	for(i=0;i<N;i++)
	{
		if(s[i].id==id)//判断是否查找到该学生信息 
		{
			flag=true;
			cout<<"该学生信息:"<<endl;
			cout<<s[i];  
			for(j=0;j<5;j++)
			{
				if(s[i].score[j]<60)
				{
					count++;//统计挂科数 
				}
			}
			cout<<"\t有"<<count<<"门课挂科"<<endl;
			break;
		}
	 } 
	 if(!flag)
    {
    	cout<<"未找到该学生信息,请重新输入学号"<<endl;
    }
    }
}
void Undergraduate::change(Undergraduate *s)//修改 
{
	string id; 
	bool flag=false;
	cout<<"请输入要修改学生信息的学号:"<<endl;
	while(!flag)
	{
	  cin>>id; 
    for(int i=0;i<N;i++)
	{
		if(s[i].id==id)//判断是否找到要修改的学生  
		{
			flag=true;
			cout<<"学生成绩信息表:"<<endl;
			for(int k=0;k<N;k++) 
			{
			   cout<<s[k]<<endl; //打印修改前学生的信息 
		    }
			cout<<"请重新输入该学生信息:"<<endl;
			cin>>s[i];   
			break;
		}
	 } 
	 if(!flag)
	 {
	 	cout<<"未找到该学生信息,请重新输入学号:"<<endl; 
	 }
    }
	ofstream outfile("Undergraduate.dat");//打开文件 
	if(!outfile)
	{
		cout<<"open error!"<<endl;
	}
	cout<<"修改后学生成绩信息表:"<<endl; 
	for(int i=0;i<N;i++)
	{
	outfile<<s[i]<<endl;//将修改后学生信息写入文件 
    cout<<s[i]<<endl;//将修改后信息打印终端 
	}
	outfile.close(); //关闭文件 
}
bool Undergraduate::unique(const Undergraduate *s,const string id)//判断重复学号 
{
		for(int i=0;i<N;i++)
	{
		if(s[i].id==id)
		{
			cout<<s[i].id<<"已存在,请勿输入重复学号的学生信息!"<<endl;
		    return true;
	    }
    }
    return false;
}
void sort1(const Undergraduate *s)//按学生绩点排序 
{
	int i,j,k;
    int N=s[0].N;
	Undergraduate temp,stu[N];
	ifstream infile("Undergraduate.dat");
	 if(!infile)
	{
		cout<<"open error!"<<endl;
	}
	for(i=0;i<N;i++)//从文件读 
	    infile>>stu[i];
	infile.close(); 
	   for(i=0;i<N;i++)//求总分 
	   {
	   	 stu[i].total=0;
	     for(j=0;j<5;j++)
	     {
	     	stu[i].total+=stu[i].score[j];
		 }
		 stu[i].gpa=(stu[i].total/50.0)-5;//求绩点 
	    }
	for(i=0;i<N-1;i++)//按学生绩点冒泡排序 从高到低打印到终端 
	{
		for(j=0;j<N-1-i;j++)
		{
		   if(stu[j].gpa<stu[j+1].gpa) 
		    {
		       temp.name=stu[j].name;temp.sex=stu[j].sex;temp.birth=stu[j].birth;temp.id=stu[j].id;
		       temp.name=stu[j].name;temp.total=stu[j].total;temp.gpa=stu[j].gpa;
		        for(k=0;k<5;k++)
		         {
			       temp.course[k]=stu[j].course[k];
			       temp.score[k]=stu[j].score[k];
		         }
		
		        stu[j].name=stu[j+1].name;stu[j].sex=stu[j+1].sex;stu[j].birth=stu[j+1].birth;stu[j].id=stu[j+1].id;
		        stu[j].name=stu[j+1].name;stu[j].total=stu[j+1].total;stu[j].gpa=stu[j+1].gpa;
		        for(k=0;k<5;k++)
		         {
			       stu[j].course[k]=stu[j+1].course[k];
			       stu[j].score[k]=stu[j+1].score[k];
		         }
		
		        stu[j+1].name=temp.name;stu[j+1].sex=temp.sex;stu[j+1].birth=temp.birth;stu[j+1].id=temp.id;
		        stu[j+1].name=temp.name;stu[j+1].total=temp.total;stu[j+1].gpa=temp.gpa;
		        for(k=0;k<5;k++)
		         {
			       stu[j+1].course[k]=temp.course[k];
			       stu[j+1].score[k]=temp.score[k];
		         }
		    }
	    }
    }
	ofstream outfile("Undergraduate_score_list.dat");//打开文件	
	cout<<"姓名 学号 课程名1 score1 课程名2 score2 课程名3 score3 课程名4 score4 课程名5 score5\t绩点"<<endl; 
	for(i=0;i<N;i++) 
	{
	 outfile<<stu[i].name<<" "<<stu[i].id<<" ";//写入文件 
	 cout<<stu[i].name<<" "<<stu[i].id<<" ";//打印终端 
	 for(j=0;j<5;j++)
	 {
	 	outfile<<stu[i].course[j]<<"\t"<<stu[i].score[j]<<"\t";
	 	cout<<stu[i].course[j]<<"\t"<<stu[i].score[j]<<"\t";
	 }
	 outfile<<stu[i].gpa<<endl; 
	 cout<<stu[i].gpa<<endl;
	}
	outfile.close(); //关闭文件 
}
void sling(const Undergraduate *s)//学生挂科情况 
{
	int N=s[0].N;
	int i,j,count=0;
	Undergraduate stu[N];
	ifstream infile("Undergraduate.dat");//打开文件 
	 if(!infile)
	{
		cout<<"open error!"<<endl;
	}
	for(i=0;i<N;i++)//从文件读 
	    infile>>stu[i];
	infile.close(); //关闭文件 
	for(i=0;i<N;i++)
	{
		count=0;
		for(j=0;j<5;j++)
			{
				if(stu[i].score[j]<60)
				{
					count++;//统计挂科数 
				}
			}
		cout<<stu[i]<<"\t"<<"有"<<count<<"门课挂科"<<endl; //打印学生成绩等信息和挂科的情况 
	}
}
void Undergraduate::menu(Undergraduate *s)//学生成绩管理系统菜单 
{
	Undergraduate STU;
	while(1)
	{  
	system("color b1");
	cout<<"*===============================================================================================*"<<endl;
	cout<<"**&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&欢迎使用学生成绩管理系统&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&**"<<endl;
	cout<<"**                                    ①输入学生信息                                           **"<<endl;
	cout<<"**                                    ②增加学生信息                                           **"<<endl;
	cout<<"**                                    ③删除学生信息                                           **"<<endl;
	cout<<"**                                    ④查找学生信息                                           **"<<endl;
	cout<<"**                                    ⑤修改学生信息                                           **"<<endl;
	cout<<"**                                    ⑥学生成绩排序                                           **"<<endl;
	cout<<"**                                    ⑦学生挂科情况                                           **"<<endl;
	cout<<"**                                    ⑧显示学生信息                                           **"<<endl;
	cout<<"**                                    〇   退出                                                **"<<endl;
	cout<<"**&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&**" <<endl;
	cout<<"*===============================================================================================*"<<endl;
	cout<<"请输入您要选择的服务种类:( 0 ~ 8)"<<endl; 
	int num;
	cin>>num;
	switch(num)
	{
		case 1 :system("CLS");STU.input(s);system("pause");break;	
		case 2 :system("CLS");STU.add(s);system("pause");break;
		case 3 :system("CLS");STU.remove(s);system("pause");break;
		case 4 :system("CLS");search(s);system("pause");break;
		case 5 :system("CLS");STU.change(s);system("pause");break;
		case 6 :system("CLS");sort1(s);system("pause");break;
		case 7 :system("CLS");sling(s);system("pause");break;
		case 8 :system("CLS");STU.display();system("pause");break;
		case 0 :system("CLS");cout<<"谢谢使用!";exit(0);system("pause");
		default:system("CLS");printf("无效输入!\n\n");system("pause");
	}
	}
}
int main()
{
	Undergraduate undergraduate;
    Undergraduate stu[80]; 
    undergraduate.menu(stu); 

	return 0;
}

`4.结束语
我设计的学生成绩管理系统的缺点,缺点很多,由于能力有限,只是实现了简单的几个功能,设计的学生成绩管理系统很脆弱,很容易就崩了。
优点:能够对输入成绩按绩点排序,统计挂科数,对输入错误的生日,成绩进行异常处理。
缺点一:没有动态的开辟空间,对指针不熟,没有用链表增删学生信息,就定义80大小对象数组存放学生成绩等信息。
缺点二:每次使用都需要先输入学生成绩等信息。等到下一次使用时,上一次输入学生的成绩就没了。
缺点三:需要依次输入学生专业,姓名,性别,年,月,日,学号,课程1,成绩1…该输入int,输入string。多输入或少输入信息。系统都可能会崩。

缺点很多,这些问题仍需继续解决。
通过课程设计,发现了自己在知识上还存在很多问题。学到了不少东西,这个学生成绩管理系统不能很好体现继承和多态性。虽然用到了继承,但用的并不好。我觉得课程设计考察对知识的综合运用,用到了学过的很多知识,通过这次机会,找到自己的知识漏洞,查课本,查资料,收获很多。

标签:课程设计,cout,int,C++,学生,---,stu,score,成绩
来源: https://blog.csdn.net/gezongbo/article/details/112487046

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有