C++学籍管理系统(18页).doc
《C++学籍管理系统(18页).doc》由会员分享,可在线阅读,更多相关《C++学籍管理系统(18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C+学籍管理系统-第 18 页 C+学生学籍管理系统1、 基本要求:为方便管理一个班同学的学籍,编写一个学籍管理系统软件。系统记录必须包括学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。2、 基本管理功能:(1) 添加:增加一个同学的记录到管理系统中。(2) 查询:可以根据姓名或学号查找某人的相关信息,若找到则显示其信息。(3) 修改:在管理系统中修改一个同学的记录。(4) 保存:将所有学生学籍信息保存在一个文件中(数据库文件或普通的文本文件)。(5) 读取:从文件中读取已保存了数据。(6) 删除:从管理系统中删除一条记录。(7) 恢复:能恢复被删除的记录。(8) 统计:(A)计算各
2、门课程全班平均成绩及总成绩;(B) 统计其课程全班得:100分、 9099分、8089分、7079分、6069分、59分以下学生人数及全班总人数的百分比;(C)以表格形式打印全部学生的平均成绩(包括各课总的平均成绩)。(9) 其他:可以根据自己的思路设计其他功能。PS:我们报告是手写的,所以报告没有弄上来,不过源程序大家可以看一下,下面是运行的界面剩下的功能大家自己试吧,这里就不截图了。源程序:(头文件#include stdafx.h和主函数int main(int argc, char* argv) 是建工程时自带的,把之前的清掉后直接复制即可)#include stdafx.h#incl
3、ude#include#include#include#include#include#includeusing namespace std;int n=0,u=0;int number56=0,0,0,0,0; /各门学科分段成绩的人数double point56=0,0,0,0,0;double eva5=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
4、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,Stud
5、ent 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 voi
6、d 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; /*学习水平
7、*/ double shuxue; /*数学成绩*/ double wuli; /*物理成绩*/ double huaxue; /*化学成绩*/ double yingyu; /*英语成绩*/ double wangluo; /*网络成绩*/stud200,studl200;Student:Student() /*定义构造函数*/name=wu;num=wu;sex=wu;shuxue=0;wuli=0;huaxue=0;yingyu=0;wangluo=0;void Student:set_eva() /计算平均成绩eva=(shuxue+wuli+huaxue+yingyu+wangluo
8、)/5;void set_massage(int m,Student j)int i;for(i=0;im;i+) cout输入第i+1个学生的信息endl; cout姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩ji.nameji.numji.sexji.shuxueji.wuliji.huaxueji.yingyuji.wangluo;coutn;system(cls);void add_massage(int m,Student j)/增加学生信息int i;for(i=n;in+m;i+) cout输入第i+1个学生的信息endl; cout姓名 学号 性别 数学成
9、绩 物理成绩 化学成绩 英语成绩 网络成绩ji.nameji.numji.sexji.shuxueji.wuliji.huaxueji.yingyuji.wangluo;system(cls);n=n+m;void change_data(int m,Student j)/修改学生信息if(m=0|mn)cout输入错误!endl;getch(); else coutendl; cout 输入该同学的新学籍信息endl; cout _ endl; cout姓名 学号 性别 数学成绩 物理成绩 化学成绩 英语成绩 网络成绩jm-1.namejm-1.numjm-1.sexjm-1.shuxuej
10、m-1.wulijm-1.huaxuejm-1.yingyujm-1.wangluo; system(cls); coutendlendlendlendlendlendlendlendlendlendlendl 修改成功_,按任意键返回主菜单。endl;getch();void put_massage(int m,Student j)int i;cout _ endl; cout 序号 姓 名 学 号 性别数学物理化学英语网络endl;cout -endl; for(i=0;im;i+) cout ;cout setfill(0)setw(3)setiosflags(ios:left)seti
11、osflags(ios:fixed)setprecision(0)i+1;cout;cout setfill(0)setw(7)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.name;cout;coutsetfill(0)setw(10)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.num;cout;cout setfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setpreci
12、sion(0)ji.sex;cout;cout setfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.shuxue;cout;cout setfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.wuli;cout;cout setfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.huaxue;cou
13、t;cout setfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.yingyu;cout;cout setfill(0)setw(3)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(0)ji.wangluo;cout;coutn;cout _ endl; void search_data()/查找功能char a;for(a=0;a=0|a!=4;)system(cls);cout1.按姓名查找endl2.按学号查找endl3.
14、输出所有学生信息endl4.返回主菜单a;system(cls);switch(a) case 1:coutfind_name;search_name(find_name);break;case 2:coutfind_num;search_num(find_num);break;case 3:coutendl; cout 学生学籍信息endl; put_massage(n,stud);getch();break;case 4:break;default:coutendlendlendlendlendlendlendlendlendlendlendl 错误指令!按任意键返回。endl;getch
15、();break;void search_name(string name)/按姓名查找int i;bool flag=false;for(i=0;in;i+) if(studi.name=name) cout _endl; cout 序号 姓 名 学 号 性别数学物理化学英语网络endl; cout -endl; cout ;cout setfill(0)setw(3)setiosflags(ios:left)i+1;cout; cout setfill(0)setw(7)setiosflags(ios:left)studi.name;cout; coutsetfill(0)setw(10)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学籍 管理 系统 18
限制150内