综合应用实例_第1页
综合应用实例_第2页
综合应用实例_第3页
综合应用实例_第4页
综合应用实例_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

综合应用实例综合应用实例 实现一个简单的学生成绩录入和查询系统 具体要求如下 1 能够输入学生的学号 姓名和各科成绩 2 根据输入的学号 查询并计算出该生的各科成绩及平均分 3 根据输入的课程代号 查询并计算出该课程中每个学生的成绩及课程平均分 4 查询所有课程中成绩不及格的学生名单及相应成绩 程序分析 学生成绩用文本文件来存储 能够从文本文件里读出学生的信息 也能够 向文本文件中写入学生的信息 程序中对插入和提取运算符进行了重载 程序依次有 5 项 功能 学生信息的添加 输入学号 输出该生各科成绩及平均分 输入课程代号 输出该 课程每位学生成绩及课程平均分 输入学生姓名 输出成绩 设计功能选择菜单及利用 switch case 语句实现以上功能 程序如下 include include include include include int count 学生人数 class Student 学生类定义 private char Name 20 姓名 char Number 20 学号 double Chinese Math English Computer 语文 数学 英语 计算机成绩 public Student char getname return Name double getscore char n double score switch n case c score Chinese break case m score Math break case e score English break case p score Computer break return score char getNumber return Number friend ofstream 重载插入运算符 friend ostream 重载提取运算符 friend ifstream ofstream return dist ostream cout st Number cout st Chinese cout st Math cout st English cout st Computer return sour ifstream sour st Number sour st Chinese sour st Math sour st English sour st Computer return sour Student s 100 对象数组 void ReadStuInfoFromFile 读学生信息文件到数组中 count 0 ifstream infile d StuInfo txt ios in Student st infile st while infile eof s count st infile st infile close void AddStuInfo 添加学生信息 char c ofstream f d StuInfo txt ios ate do Student st cin st f st cout 数据输入成功 想继续数入吗 y n c if c y while c y f close void FindByName 按姓名查找学生 ReadStuInfoFromFile char n 20 int j 0 char c if count 0 cout 学生库中没有输入数据 endl return do int flag 0 cout 请输入你要查询的学生姓名 n for int j 0 j count j if strcmp n s j getname 0 flag 1 cout 您要查询的学生是 s j getname endl cout s j endl if flag 0 cout 对不起 您要查询的学生不存在 endl cout 您想继续查询吗 y n c if c y while c y void FindByCourseNo 查看课程考试情况 ReadStuInfoFromFile double CourseAve 0 0 char n int j 0 char c if count 0 cout 学生库中没有输入数据 endl return do cout 请输入你要查询的课程号 c 语文 m 数学 e 英语 p 计算机 n cout 您查询的结果如下 endl for int j 0 j count j cout s j getname 的成绩是 s j getscore n endl CourseAve s j getscore n cout 该课程的平均成绩是 setprecision 2 setiosflags ios fixed CourseAve count endl cout 您想继续查询吗 y n c if c y while c y void FindFault 查找不及格学生 ReadStuInfoFromFile if count 0 cout 学生库中没有输入数据 endl return cout 不及格情况如下 endl for int k 0 k count k if s k getscore c 60 s k getscore m 60 s k getscore e 60 s k getscore p 60 cout k 1 姓名 s k getname endl if s k getscore c 60 cout 语文 s k getscore c if s k getscore m 60 cout 数学 s k getscore m if s k getscore e 60 cout 英语 s k getscore e if s k getscore p 60 cout 计算机 s k getscore p if s k getscore c 60 s k getscore m 60 s k getscore e 60 s k getscore p 60 cout endl void FindByStuNo 按学号查找学生 ReadStuInfoFromFile char n 20 j 0 char c if count 0 cout 学生库中没有输入数据 endl return do int flag 0 cout 请输入你要查询的学生的学号 n for int j 0 j count j if strcmp s j getNumber n 0 flag 1 cout 您要查询的学生是 s j getname endl cout t 语文成绩 s j getscore c t 数学成绩 s j getscore m t 英语成绩 s j getscore e t 计算机成绩 s j getscore p endl if flag 0 cout 对不起 您要查询的学生不存在 endl cout 您想继续查询吗 y n c if c y while c y void ListAllStu 列出所有学生的考试成绩 cout 本系统所有学生数据如下 endl if count 0 if count 1 cout 学生库中没有输入数据 endl for int k 0 k count k cout s k void MainMenu 功能主菜单 cout 请选择您需要的操作 endl cout t t t endl cout t t t 0 增加数据 endl cout t t t 1 按姓名查询 endl cout t t t 2 查询成绩不及格的学生名单及相应成绩 endl cout t t t 3 按学号查询并计算出各科成绩及平均分 endl cout t t t 4 按课程号查询并计算机该课程的平均分 endl cout t t t 5 输出所有学生的成绩 endl cout t t t 6 退出系统 endl cout t t t endl cout 选择 0 5 数字进行操作 p if p 0 else cout 输入错误 请重新输入 endl while flag1 0 do switch p case 0 AddStuInfo break case 1 FindByName break case 2 FindFault break case 3 FindByStuNo break case 4 FindByCourseNo break case 5 ListAllStu break case 6 c

温馨提示

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

评论

0/150

提交评论