C++学籍管理系统.doc

上传人:rrsccc 文档编号:8844168 上传时间:2021-01-19 格式:DOC 页数:43 大小:122.50KB
返回 下载 相关 举报
C++学籍管理系统.doc_第1页
第1页 / 共43页
C++学籍管理系统.doc_第2页
第2页 / 共43页
C++学籍管理系统.doc_第3页
第3页 / 共43页
C++学籍管理系统.doc_第4页
第4页 / 共43页
C++学籍管理系统.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《C++学籍管理系统.doc》由会员分享,可在线阅读,更多相关《C++学籍管理系统.doc(43页珍藏版)》请在三一文库上搜索。

1、 C+学生学籍管理系统1、 基本要求:为方便管理一个班同学的学籍,编写一个学籍管理系统软件。系统记录必须包括学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。2、 基本管理功能:(1) 添加:增加一个同学的记录到管理系统中。(2) 查询:可以根据姓名或学号查找某人的相关信息,若找到则显示其信息。(3) 修改:在管理系统中修改一个同学的记录。(4) 保存:将所有学生学籍信息保存在一个文件中(数据库文件或普通的文本文件)。(5) 读取:从文件中读取已保存了数据。(6) 删除:从管理系统中删除一条记录。(7) 恢复:能恢复被删除的记录。(8) 统计:(A)计算各门课程全班平均成绩及总成绩;(B

2、) 统计其课程全班得:100分、 9099分、8089分、7079分、6069分、59分以下学生人数及全班总人数的百分比;(C)以表格形式打印全部学生的平均成绩(包括各课总的平均成绩)。(9) 其他:可以根据自己的思路设计其他功能。PS:我们报告是手写的,所以报告没有弄上来,不过源程序大家可以看一下,下面是运行的界面剩下的功能大家自己试吧,这里就不截图了。源程序:(头文件#include stdafx.h和主函数int main(int argc, char* argv) 是建工程时自带的,把之前的清掉后直接复制即可)#include stdafx.h#include#include#incl

3、ude#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 read_data(); /*读

4、取文件*/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);/*友元函数*/f

5、riend 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();fr

6、iend 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

7、; /*数学成绩*/ 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)/5;void set_mas

8、sage(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.shuxuejm-1.wulijm-1.hua

10、xuejm-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)setiosflags(ios:fixe

11、d)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)setprecision(0)ji.sex;co

12、ut;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;cout;cout setfill(0

13、)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.输出所有学生信息endl4.返回

14、主菜单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();break;void se

15、arch_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)setiosflags(ios:

16、left)studi.num;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.sex;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.shuxue;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.wuli;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.huaxue;cout; cout setfill(0)setw(3)setiosflags(io

17、s:left)studi.yingyu;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.wangluo;cout; coutn; cout _ endl; flag=true; break; if(flag=false) cout对不起,暂无此学生信息; getch();void search_num(string num)/按学号查找int i;bool flag=false;for(i=0;in;i+)if(studi.num=num) cout _endl; cout 序号 姓 名 学 号 性别数学物理化学英语网络endl;

18、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)setiosflags(ios:left)studi.num;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.sex;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.sh

19、uxue;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.wuli;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.huaxue;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.yingyu;cout; cout setfill(0)setw(3)setiosflags(ios:left)studi.wangluo;cout; coutn; cout _ endl; flag=true; break;if(fl

20、ag=false) cout对不起,暂无此学生信息; getch();void set_number()/number 开始 int e,f,i,t; for(e=0,f=0,t=0,i=0;in;i+) /100 if(studi.shuxue=100) t+; numberef=t; for(e=1,f=0,t=0,i=0;in;i+) if(studi.wuli=100) t+; numberef=t; for(e=2,f=0,t=0,i=0;in;i+) if(studi.huaxue=100) t+; numberef=t; for(e=3,f=0,t=0,i=0;in;i+) if

21、(studi.yingyu=100) t+; numberef=t; for(e=4,f=0,t=0,i=0;in;i+) if(studi.wangluo=100) t+; numberef=t; for(e=0,f=1,t=0,i=0;i=90&studi.shuxue=99) t+; numberef=t; for(e=1,f=1,t=0,i=0;i=90&studi.wuli=99) t+; numberef=t; for(e=2,f=1,t=0,i=0;i=90&studi.huaxue=99) t+; numberef=t; for(e=3,f=1,t=0,i=0;i=90&stu

22、di.yingyu=99) t+; numberef=t; for(e=4,f=1,t=0,i=0;i=90&studi.wangluo=99) t+; numberef=t; for(e=0,f=2,t=0,i=0;i=80&studi.shuxue=89) t+; numberef=t; for(e=1,f=2,t=0,i=0;i=80&studi.wuli=89) t+; numberef=t; for(e=2,f=2,t=0,i=0;i=80&studi.huaxue=89) t+; numberef=t; for(e=3,f=2,t=0,i=0;i=80&studi.yingyu=8

23、9) t+; numberef=t; for(e=4,f=2,t=0,i=0;i=80&studi.wangluo=89) t+; numberef=t; for(e=0,f=3,t=0,i=0;i=90&studi.shuxue=99) t+; numberef=t; for(e=1,f=3,t=0,i=0;i=70&studi.wuli=79) t+; numberef=t; for(e=2,f=3,t=0,i=0;i=70&studi.huaxue=79) t+; numberef=t; for(e=3,f=3,t=0,i=0;i=70&studi.yingyu=79) t+; numb

24、eref=t; for(e=4,f=3,t=0,i=0;i=70&studi.wangluo=79) t+; numberef=t; for(e=0,f=4,t=0,i=0;i=60&studi.shuxue=69) t+; numberef=t; for(e=1,f=4,t=0,i=0;i=60&studi.wuli=69) t+; numberef=t; for(e=2,f=4,t=0,i=0;i=60&studi.huaxue=69) t+; numberef=t; for(e=3,f=4,t=0,i=0;i=60&studi.yingyu=69) t+; numberef=t; for

25、(e=4,f=4,t=0,i=0;i=60&studi.wangluo=69) t+; numberef=t; for(e=0,f=5,t=0,i=0;i=0&studi.shuxue=59) t+; numberef=t; for(e=1,f=5,t=0,i=0;i=0&studi.wuli=59) t+; numberef=t; for(e=2,f=5,t=0,i=0;i=0&studi.huaxue=59) t+; numberef=t; for(e=3,f=5,t=0,i=0;i=0&studi.yingyu=59) t+; numberef=t; for(e=4,f=5,t=0,i=

26、0;i=0&studi.wangluo=59) t+; numberef=t; void set_point() /point int e,f; for(e=0;e5;e+) for(f=0;f6;f+) pointef=numberef/(n*1.0)*100; void set_eva2() /*课程的平均成绩*/ double s;int i; for(i=0,s=0;in;i+) s=s+studi.shuxue; eva0=s/(n*1.0); for(i=0,s=0;in;i+) s=s+studi.wuli; eva1=s/(n*1.0); for(i=0,s=0;in;i+)

27、s=s+studi.huaxue; eva2=s/(n*1.0); for(i=0,s=0;in;i+) s=s+studi.yingyu; eva3=s/(n*1.0); for(i=0,s=0;in;i+) s=s+studi.wangluo; eva4=s/(n*1.0); void put_result() /输出统计结果char g;for(g=0;g=0|g!=4;)system(cls);cout1.查询每位学生的总平均分endl2.查询各课的成绩分布及平均成绩endl3.查询各段成绩所占的百分比endl4.返回主菜单g;system(cls);switch(g)case 1:p

28、ut_result1();getch();break; case 2:put_result2();getch();break; case 3:put_result3();getch();break; case 4:break; default:coutendlendlendlendlendlendlendlendlendlendlendl 错误指令!按任意键返回。endl;getch();break;void put_result1()/每位学生的总平均分int e; cout 学生的总平均分 endl; cout _endl; cout 姓 名平均成绩endl; cout -endl; fo

29、r(e=0;en;e+) cout ;coutsetfill(0)setw(6)setiosflags(ios:right)stude.name ;coutsetfill(0)setw(6)setiosflags(ios:right)stude.eva endl; cout _endl;void put_result2() /输出统计结果2int e,f; cout 各课的成绩分布及平均成绩 endl; cout _endl; cout 课 程 100 909980897079606960以下平均分endl; cout -endl; cout ;cout数 学;for(e=0,f=0;f6;f

30、+)coutsetfill(0)setw(4)setiosflags(ios:right)numberef ;cout setfill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva0endl; cout ;cout物 理;for(e=1,f=0;f6;f+)coutsetfill(0)setw(4)setiosflags(ios:right)numberef ;cout setfill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva1endl; cout ;cout化 学;for(e=2,f=0;f6;f+)coutsetfill(0)setw(4)setiosflags(ios:right)numberef ;cout setfill(0)setw(5)setiosflags(ios:left)setiosflags(ios:fixed)setprecision(1)eva2endl; cout ;cout英 语;for(e=3,f=0;f6;f+)c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1