学生信息管理系统C++_第1页
学生信息管理系统C++_第2页
学生信息管理系统C++_第3页
学生信息管理系统C++_第4页
学生信息管理系统C++_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

include include include include include const int M 20 class stucopy 用于拷贝 student 的数据 用于排序功能的实现 public char id 20 char sex 10 char name 10 char Class 20 double grade 5 double sumsum 总成绩 double average 平均成绩 class student 用于保存学生信息的类 friend class list public char id 20 保存学号 char sex 10 保存性别 char name 10 保存名字 char Class 20 保存班级 double grade 5 保存成绩 student next 0 for int i 0 i 20 i id i 0 for i 0 i 10 i sex i 0 for i 0 i 10 i name i 0 for i 0 i 20 i Class i 0 void s 录入学生成绩 void setid char id1 20 for int i 0 i 20 i id i id1 i void setsex char sex1 10 for int i 0 i 10 i sex i sex1 i void setname char name1 10 for int i 0 i 10 i name i name1 i void setClass char Class1 20 for int i 0 i 20 i Class i Class1 i void setgrade double grade1 5 for int i 0 i 5 i grade i grade1 i student next next 指向下一个学生 构成链表 char outid 获得编号 return id char outsex return sex char outname return name char outClass return Class double outsum double sum 0 for int i 0 ioutgrade i return sum double outav return this outsum 5 double outgrade int i return grade i void intgrade int void student intgrade int j 修改学生的成绩 switch j case 1 cout grade 0 break case 2 cout grade 1 break case 3 cout grade 2 break case 4 cout grade 3 break case 5 cout grade 4 break void student s 录入学生信息 cout id cout name cout sex cout Class cout grade 0 cout grade 1 cout grade 2 cout grade 3 cout grade 4 class list 此类为链表 private double high 5 low 5 public student last first 链表的开头和结尾 double totoal list last 0 first 0 list void instu 学生数据的新建 void outstu char 根据姓名输出学生的信息 int delstu char n 根据姓名删除学生的信息 void outstu1 char 根据学号输出学生的信息 int delstu1 char n 根据学号删除学生的信息 void outsum char 根据姓名输出学生总成绩和平均成绩 void outsum1 char 根据学号输出学生总成绩和平均成绩 void think 用于输出班级成绩分布 void search char s 10 int 根据姓名修改学生的成绩 void search1 char s 20 int 根据学号修改学生的成绩 double hi int i 求某门课最高分 double lo int i 求某门课最低分 void av int i 求某门课平均分 void ev int i 用于班级成绩统计分析的人数分布输出 void scanall 输出所有学生信息 list list 析构函数 将创建学生对象全部删掉 if first 0 student p first temp while p NULL temp p p p next delete temp cout s 对象指针调用类里边的函数 if first 0 first last p else last next p last p void list outstu char n 根据姓名输出学生信息 if first 0 cout 班级无成员 查无此人 next if strcmp temp outname n 0 cout setw 8 学号 setw 8 姓名 setw 6 性别 setw 8 班 级 setw 6 语文 setw 6 英语 setw 10 线性代数 setw 10 程序设计 setw 6 物理 endl cout setw 8 outid setw 8 outname setw 6 outsex setw 10 outClass setw 6 outgrade 0 setw 6 outgrade 1 setw 10 outgrade 2 setw 10 outgrade 3 setw 6 outgrade 4 return cout 查无此人 endl return void list outstu1 char n 根据学号输出学生的信息 if first 0 cout 班级无成员 查无此人 next if strcmp temp outid n 0 cout setw 8 学号 setw 8 姓名 setw 6 性别 setw 8 班 级 setw 6 语文 setw 6 英语 setw 10 线性代数 setw 10 程序设计 setw 6 物理 endl cout setw 8 outid setw 8 outname setw 6 outsex setw 10 outClass setw 6 outgrade 0 setw 6 outgrade 1 setw 10 outgrade 2 setw 10 outgrade 3 setw 6 outgrade 4 return cout 查无此人 endl return int list delstu char n 根据姓名删除一个学生的信息 if first 0 cout 无数据 outname n 0 first first next delete temp cout next NULL temp temp next if strcmp temp next outname n 0 p temp next temp next temp next next delete p cout n 删除成功 n return 0 cout n 查无此人 删除失败 n return 0 int list delstu1 char n 根据学号删除学生的信息 if first 0 cout 无数据 outid n 0 first first next delete temp cout next NULL if strcmp temp next outid n 0 p temp next temp next temp next next delete p cout next cout n 查无此人 删除失败 n return 0 void list think 用于输出班级成绩分布 if first 0 cout 无数据 next i totoal i cout 人数 i endl cout 语文 n cout 最高分 hi 0 最低分 lo 0 平均分 av 0 ev 0 cout 英语 n cout 最高分 hi 1 最低分 lo 1 平均分 av 1 ev 1 cout 线性代数 n cout 最高分 hi 2 最低分 lo 2 平均分 av 2 ev 2 cout 程序设计 n cout 最高分 hi 3 最低分 lo 3 平均分 av 3 ev 3 cout 物理 n cout 最高分 hi 4 最低分 lo 4 outgrade i high i high i temp outgrade i temp temp next return high i double list lo int i 求某门课最低分 low i 100 student temp first while temp 0 if temp outgrade i outgrade i temp temp next return low i void list av int i 求某门课平均分 double aver 0 student temp first while temp NULL aver temp outgrade i temp temp next cout aver totoal outgrade i 10 case 10 a break case 9 a break case 8 b break case 7 c break case 6 d break case 5 e break default f temp temp next cout 100 90 的人数 a 89 80 的人数 b 79 70 的人数 c 69 60 的人数 d 59 50 的人数 e n 50 以下的人数 f 及格的人数 a b c d 不及格的人数 e f next if strcmp temp outname s 0 temp intgrade n void list search1 char s 20 int n 根据学号修改学生的成绩 student temp first for temp NULL temp temp next if strcmp temp outid s 0 temp intgrade n void list outsum char n 根据姓名输出学生总成绩和平均成绩 if first 0 cout 无数据 next if strcmp temp outname n 0 cout setw 8 学号 setw 8 姓名 setw 8 性别 setw 8 班 级 setw 8 总成绩 setw 10 n n 平均成绩 n cout setw 8 outid setw 8 outname setw 8 outsex setw 10 outClass setw 8 outsum n n setw 10 outav return cout 查无此人 endl return void list outsum1 char n 根据学号输出学生总成绩和平均成绩 double sum 0 int i 0 double av 0 if first 0 cout 无数据 next if strcmp temp outid n 0 cout setw 8 学号 setw 8 姓名 setw 8 性别 setw 8 班 级 setw 8 总成绩 n n setw 10 平均成绩 n cout setw 8 outid setw 8 outname setw 8 outsex setw 10 outClass setw 8 outsum n n setw 10 outav return cout 查无此人 next cout setw 8 outid setw 8 outname setw 6 outsex setw 10 outClass setw 6 outgrade 0 setw 6 outgrade 1 setw 10 outgrade 2 setw 10 outgrade 3 setw 6 outgrade 4 setw 8 outsum n n setw 10 outav endl void main int n1 f m1 123456 int i 0 system color 5b do for f 0 f 3 f cout 请用户输入数字密码 n1 if m1 n1 stucopy stu M 复制整个链表的数据于数组 用于排序 stucopy stutemp 临时变量 list will 整个链表 student p p1 new student q 临时变量 ifstream input 输入 ofstream output 输出 char file 20 classname 20 temp 80 id 20 name 9 sex1 10 Class1 20 临时变量 int m 0 n 0 j 0 i 0 临时变量 double grade1 5 临时变量 for i 0 i 20 i id i 0 for i 0 i 9 i name i 0 初始化 do cout n 0 退出系统 1 学生信息的录入 n 2 学生信息的查询 3 学生信息的修改 n 4 学生信息的删除 5 学生成绩的统计分析 n 6 学生总成绩和平均成绩的查询 7 浏览所有学生信息 n 8 将学生信息保存成文件 10 按总成绩排序输出成 绩 n 11 按学号顺序输出学生信息 n n cout endl m switch m case 1 will instu break case 2 cout 1 学号查询 2 姓名查询 endl n switch n case 1 cout id will outstu1 id cout n break case 2 cout name will outstu name cout n break break case 3 cout 1 学号查询 2 姓名查询 endl n switch n case 1 cout id will outstu1 id cout n cout setw 6 1 语文 setw 6 2 英语 setw 10 3 线性代数 setw 10 4 程序设计 setw 6 5 物理 endl cout j will search1 id j break case 2 cout name will outstu name cout n cout setw 6 1 语文 setw 6 2 英语 setw 10 3 线性代数 setw 10 4 程序设计 setw 6 5 物理 endl cout j will search name j break break case 4 cout 1 学号删除 2 姓名删除 endl n switch n case 1 cout id will outstu1 id will delstu1 id break case 2 cout name will outstu name will delstu name break break case 5 will think 学生成绩的统计分析 break case 6 cout 1 学号查询 2 姓名查询 endl n switch n case 1 cout id will outsum1 id break case 2 cout name will outsum name break break case 7 cout setw 8 学号 setw 8 姓名 setw 8 性别 setw 8 班 级 setw 6 语文 setw 6 英语 setw 10 线性代数 setw 10 程序设计 setw 6 物理 setw 8 总成绩 n n setw 10 平均成绩 n will scanall break case 8 cout 请输入文件名 file cout 请输入班级名称 classname output open file p will first output classname 成绩单 endl setw 8 学号 setw 8 姓 名 setw 8 性别 setw 8 班级 setw 6 语文 setw 6 英语 setw 10 线性代数 setw 10 程序设 计 setw 6 物理 setw 8 总成绩 n n setw 10 平均成绩 next output setw 8 outid setw 8 outname setw 6 outsex setw 10 outClass setw 6 outgrade 0 setw 6 outgrade 1 setw 10 outgrade 2 setw 10 outgrade 3 setw 6 outgrade 4 setw 8 outsum n n setw 10 outav endl output close break case 9 cout 请输入文件名 file input open file if input fail cout File does not exist endl break input getline temp 80 input getline temp 80 if input eof cout 文件中无数据 id name sex1 Class1 grade1 0 grade1 1 grade1 2 grade1 3 grade1 4 input temp input temp 将总成绩和平均成绩输入进临时变量 p1 setid id p1 setname name p1 setsex sex1 p1 setClass Class1 p1 setgrade grade1 will first p1 will last will first while input eof p new student q will last will last next p will last p input id name sex1 Class1 grade1 0 grade1 1 grade1 2 grade1 3 grade1 4 will last setid id will last setname name will last setsex sex1 will last setClass Class1 will last setgrade grade1 input temp input temp 将总成绩和平均成绩输入进临时变量 will last q will last next NULL input close break case 10 p will first 按总成绩排序输出成绩 for i 0 inext for j 0 jid j for j 0 jname j for j 0 jsex j for j 0 jClass j stu i sumsum p outsum stu i average p outav for n 0 n i 1 n for j 1 j i j if stu n sumsum stu j sumsum stutemp stu j stu j stu n stu n stutemp cout setw 8 学号 setw 8 姓名 setw 8 性别 setw 8 班级 setw 8 总成绩 n n setw 10 平均成绩 n for j 0 j i j cout setw 8 stu j id setw 8 stu j name setw 6 stu j sex setw 10 stu j Class setw 8 stu j sumsum setw 10 n n stu j a verage endl break case 11 p will first for i 0 inext for j 0 jid j for j 0 jname j for j 0 jsex j for j 0 jClass j stu i sumsum p outsum stu i average p outav for j 0 jgrade j for n 0 n i 1 n for j 1 jstu j id stutemp stu j stu j stu n stu n stutemp cout setw 8 学号 setw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论