C++学生成绩管理系统设计源码+设计文档资料。
1. 功能模块与界面
(1)教师,学生登录
(2)学生显示自己的全部信息
(3)教师选择功能:课程管理,成绩录入,成绩查询,成绩修改,成绩删除,学生管理。
(4)课程管理中可以添加,修改,删除课程
(5)成绩录入可以选择课程,然后选择成绩文件录入成绩。
(6)成绩修改可以输入学生的学号和成绩进行修改。
(7)成绩查询可以选择通过学号,姓名,课程等进行查询。
(8)成绩删除可以输入学号和课程删除相应成绩。
(9)学生管理选择添加,修改和删除学生。(添加学生:输入新学生的信息,修改学生:输入需修改得学生学号,然后输入新的信息,删除学生:输入需要删除的学生学号)
⼆.关键设计思路或⽅法
1.成绩的数据结构
class Score{
string StdentNO;
string ClassName;
int score;
Score* head; //指向头
Score* next; //指向下⼀个
public :
friend class User;
Score( string,string);
Score( string,string,int);
int getScore();
void changeScore(int);//输⼊课程和分数修改成绩
};
对于成绩采⽤Score类来进⾏表⽰。⼀个Score对象相当于⽤户成绩链的⼀个节点。Score
中包括了学⽣的学号,课程名称以及该⻔课程的成绩。*next指向下⼀个成绩节点,*head指向第
⼀个成绩节点。值得说明的是,这个链路将在⽤户初始化的时候构建,学⽣学号由⽤户的构造函
数传⼊,课程和成绩由Score的构造函数从数据库中取得。此外最后⼀个节点的*next将指向第⼀
个节点。也就是说,⽤户的成绩链被设计成是环形的,以便其他函数的操作。
2.⽤户类
class User{
int UserType; //1⽼师,2本科⽣,3研究⽣,4博⼠⽣,0未定
string StudentNo; //学号
string sname;//姓名
string spassword;//密码
Score* sscore; //分数
Score* sstail; //分数
public:
学⽣成绩管理系统 Page 3
User():UserType(0),StudentNo("暂⽆"),sname("暂⽆"),spassword("暂⽆
"),sscore(nullptr),sstail(nullptr){}
User(string);
~User();
void setUser(string);
int getUserType() const;
string getStudentNo() const;
string getName() const;
string getPassword() const;
Score* getScore() const;
void showInfo();
void cStudentNo(string);
void cSName(string);
void cSPassword(string);
void cSScore(string,int);
};
⽤户类中UserType被⽤来表⽰这个⽤户是教师,本科⽣,研究⽣还是博⼠⽣。其中教师拥
有管理权限。包括UserType在内,StudentNo(学号),sname(姓名),spassword(密码)
和Score(成绩)都将在User(string)这个构造函数中从数据库中取得。此外在添加⽤户的时候,
使⽤User()构造函数,以上⼏个的内容将会以0,”暂⽆”或nullptr来代替。
3.Admin类
Admin类中包括了管理员常⽤的操作。包括成绩录⼊,检查登录信息,添加⽤户等
等操作。
学⽣成绩管理系统 Page 4 三.详细设计
1.源代码⽂件结构及类的构成
如图
(1)main函数:相当于整个程序的Controlle