C++学籍管理系统 下载本文

内容发布更新时间 : 2024/5/18 8:51:55星期一 下面是文章的全部内容请认真阅读。

C++学生学籍管理系统

1、 基本要求:为方便管理一个班同学的学籍,编写一个学籍管理系统软件。系统记录必须

包括学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。 2、 基本管理功能:

(1) 添加:增加一个同学的记录到管理系统中。

(2) 查询:可以根据姓名或学号查找某人的相关信息,若找到则显示其信息。 (3) 修改:在管理系统中修改一个同学的记录。

(4) 保存:将所有学生学籍信息保存在一个文件中(数据库文件或普通的文本文件)。 (5) 读取:从文件中读取已保存了数据。 (6) 删除:从管理系统中删除一条记录。 (7) 恢复:能恢复被删除的记录。

(8) 统计:(A)计算各门课程全班平均成绩及总成绩;(B) 统计其课程全班得:100分、

90?99分、80?89分、70?79分、60?69分、59分以下学生人数及全班总人数的百分比;(C)以表格形式打印全部学生的平均成绩(?包括各课总的平均成绩)。

(9) 其他:可以根据自己的思路设计其他功能。

PS:我们报告是手写的,所以报告没有弄上来,不过源程序大家可以看一下,下面是运行的界面

剩下的功能大家自己试吧,这里就不截图了。

源程序:(头文件#include \和主函数int main(int argc, char* argv[]) 是建工程时自带的,把之前的清掉后直接复制即可) #include \#include #include #include #include #include #include #include using namespace std; int n=0,u=0;

int number[5][6]={{0},{0},{0},{0},{0}}; //各门学科分段成绩的人数 double point[5][6]={{0},{0},{0},{0},{0}};

double eva[5]={0,0,0,0,0}; string find_name; string find_num; int p;

void search(string); void search(int);

void cunqu_data(); /*存取文件*/ void save_data(); /*保存文件*/ void read_data(); /*读取文件*/ void renew_data(); /*删除恢复*/ void delete_data(int m); /*删除记录*/ void recover_data(); /*恢复记录*/

void set_eva2(); /*课程的平均成绩*/ void put_result1(); void put_result2(); void put_result3();

class Student /*定义一个Student类*/ {public:

Student(); /*构造函数*/ void set_eva();

friend void set_massage(int m,Student j[]);/*友元函数*/ friend void add_massage(int m,Student j[]);/*友元函数*/ friend void put_massage(int m,Student j[]);

friend void change_data(int m,Student j[]);/*修改学生信息*/ friend void search_data(); /*查找学生信息*/ friend void search_name(string name); friend void search_num(string num); friend void set_number(); friend void set_point();

friend void save_data(); /*保存文件*/ friend void read_data(); /*读取文件*/ friend void delete_data(int m); /*删除记录*/ friend void recover_data(); /*恢复记录*/

friend void set_eva2(); /*课程的平均成绩*/ friend void put_result1(); private:

string name; /*姓名*/ string num; /*学号*/ string sex; /*性别*/ double eva; /*学习水平*/ double shuxue; /*数学成绩*/ double wuli; /*物理成绩*/ double huaxue; /*化学成绩*/ double yingyu; /*英语成绩*/