C++成绩管理系统_第1页
C++成绩管理系统_第2页
C++成绩管理系统_第3页
C++成绩管理系统_第4页
C++成绩管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1 C C 学生成绩管理系统学生成绩管理系统 课程名 称 c 程序设计 姓名 学号 专业 日期 2 目目 录录 1 需求分析 3 2 概念设计 3 3 详细设计 4 4 调试分析 7 5 测试结果 9 3 1 需求分析 需求分析 该程序的主要功能有 添加学生信息 输出学生成绩 查找学生成绩 修改学生成绩 删除学生成绩 学生成绩排序 保存数据到文件和读取文件中学生成绩的模块 2 概念设计 概念设计 2 12 1 系统功能分析 系统功能分析 系统通过调用函数来实现学生成绩信息录入 学生成绩信息修改 学生成绩信息删除 学生成 绩信息查询以及数据保存文件等功能 Insert 函数用于录入学生成绩及信息 Update1 函数 用来修改学生成绩及信息 Show 函数用于显示所有已有的记录 Delete 函数用来删除学生 成绩及信息 Search1 及 Search2 函数用来查询及信息 Save 函数用于将输入的信息存 入文件内 主函数 main 用于调用这些函数 2 22 2 系统功能模块划分与设计 系统功能模块划分与设计 本系统定义了 Score 类 Subject 类 Student 类以及 Class 类这四个类 定义了 Insert Update1 Show Save Delete Search1 及 Search2 等函数来实现系统所需 功能 2 32 3 系统功能模块图 系统功能模块图 4 3 详细设计 详细设计 3 13 1 分数类的设计分数类的设计 该类定义了一个整型变量用来存放分数 定义了设置份总数和显示分数的函数 图 3 1 3 23 2 科目类的设计科目类的设计 该类定义了一个 Score 类类型的变量 定义了一个字符数组用来存放科目名称 定义了设置和 显示私有成员的函数 图 3 2 3 33 3 学生类的设计学生类的设计 该类定义了一个 Subject 类类型的数组 一个字符型数组和一个字符变量 两个整型变量以及 设置和显示私有成员的函数 图 3 3 Score score int Score s int 0 set1 void show1 Subject subject 20 char sc Score Subject set2 void show2 void Student name 20 char num int S char n int p1 8 Subject Student set3 void show3 void getNU1 int getNA1 char 5 3 43 4 班级类的设计班级类的设计 该类定义了一个 Student 类类型的变量 字符型数组 整型及设置和显示私有成员的函数等 图 3 4 3 53 5 各个类的关系描述各个类的关系描述 1 sc 1 图 3 5 1 Class name 20 char num2 int Class getNU int set4 void show4 void Subject subject 20 char Subject set2 void show2 void Score score int Score s int 0 set1 void show1 6 1 p1 8 1 图 3 5 2 1 stu 1 图 3 5 3 Student name 20 char num int S char n int Student set3 void show3 void getNU1 int getNA1 char Subject subject 20 char Subject set2 void show2 void Class name 20 char num2 int Class getNU int set4 void show4 void Student name 20 char num int S char n int Student set3 void show3 void getNU1 int getNA1 char 7 4 调试调试分析分析 主界面 学生成绩录入 学生成绩查询 学生成绩显示 8 学生成绩修改 记录存入文件 学生成绩删除 9 5 测试结果测试结果 源代码 源代码 include include include using namespace std int M 100 static int M2 0 class Score 分数类分数类 private int score public Score int s 0 score s void set1 cout 请输入分数请输入分数 score void show1 cout score endl class Subject 科目类科目类 private Score sc char subject 20 public Subject for int i 0 i 20 i 10 subject i 0 void set2 cout 请输入科目名称请输入科目名称 subject sc set1 void show2 cout subject sc show1 class Student 学生类学生类 private Subject p1 8 char name 20 int num char S int n public Student for int i 0 i 20 i name i 0 num 0 S 0 void set3 void show3 int getNU1 return num 11 char getNA1 return name void Student show3 学生类显示函数学生类显示函数 int i cout 姓名姓名 name t 性别性别 S t 学号学号 num endl for i 0 i 8 i p1 i show2 void Student set3 学生类修改函数学生类修改函数 int i cout name cout num cout S cout 请输入每门课程的分数 名称请输入每门课程的分数 名称 endl for i 0 i 4 i p1 i set2 class Class 班级类班级类 private 12 Student stu char name2 20 int num2 public Class for int i 0 i 20 i name2 i 0 num2 0 int getNU return stu getNU1 string getNA return stu getNA1 void set4 cout name2 cout num2 stu set3 void show4 cout 班级班级 name2 t 班号班号 t num2 stu show3 friend void Search1 Class c1 int count1 friend void Search2 Class c2 int count2 friend void Update1 Class c3 int count d friend void Delete Class c4 int count c friend void Insert Class c5 int b 100 void Save Class c6 int count 记录存入文件函数记录存入文件函数 13 fstream file class txt ios out ios binary if file cout file coun t open endl abort for int i 0 i count i file write reinterpret cast file close void Show Class c7 显示记录函数显示记录函数 int i 0 for i 0 c7 i getNU 0 i c7 i show4 void Insert Class c5 int if count a M cout 空间已满空间已满 14 return cout 请输入学生的学号 请输入学生的学号 in number for i 0 i count a i if c5 i getNU in number cout 已有相同的学号已有相同的学号 请重新输入请重新输入 endl break while c5 i getNU in number if in number 1 cout 输入错误 请重新输入大于零的整数输入错误 请重新输入大于零的整数 endl while in number 0 i count a c5 i set4 count a cout endl endl n n 1 if n 0 cout 学生成绩录入成功学生成绩录入成功 endl void Search1 Class c1 int count1 按学号查询信息函数按学号查询信息函数 15 int i number flag 1 n 0 cout 请输入所要查询的学生的学号请输入所要查询的学生的学号 number if number 0 cout 输入错误 请重新输入大于零的整数输入错误 请重新输入大于零的整数 endl while number 0 for i 0 i count1i if c1 i getNU number c1 i show4 flag 0 n n 1 if n 0 cout 没有查询到该学生的资料没有查询到该学生的资料 endl void Search2 Class c2 int count2 按姓名查询信息函数按姓名查询信息函数 int i n 0 char nam 20 cout 请输入所要查询的学生的姓名请输入所要查询的学生的姓名 nam for i 0 i count2 i if c2 i getNA nam c2 i show4 n n 1 16 if n 0 cout 没有查询到该学生的资料没有查询到该学生的资料 endl void Update1 Class c3 int count d 信息修改函数信息修改函数 int i n 0 flag 1 m char nam 20 cout 请输入所要修改的学生的姓名请输入所要修改的学生的姓名 nam for i 0 i count di if c3 i getNA nam cout 请输入所要修改的学生的学号请输入所要修改的学生的学号 m for i 0 i count di if c3 i getNU m c3 i set4 flag 0 n n 1 break if n 0 cout 修改成功修改成功 endl 17 if n 0 cout 没有查询到该学生的资料没有查询到该学生的资料 endl void Delete Class c4 信息删除函数信息删除函数 fstream file class txt ios base in ios base out ios base binary int i 0 for i 0 i 100 i file read reinterpret cast for i 0 b i getNU 0 i M2 i Class c9 int n 0 number flag 1 cout 请输入要要进行操作的学生的学号 请输入要要进行操作的学生的学号 number for i 0 i M2i if c4 i getNU number for i i M2i c4 i c4 i 1 flag 0 M2 n 1 Save b M2 break 18 if n 0 cout 没有查询到可以删除的资料没有查询到可以删除的资料 endl if n 0 cout 资料删除成功资料删除成功 endl int main char a1 fstream file class txt ios base in ios base out ios base binary cout t t 欢迎进入学生成绩管理系统欢迎进入学生成绩管理系统 endl endl do cout 请选择功能 请选择功能 endl cout t t ta 学生成绩查询学生成绩查询 endl cout t t tb 学生成绩录入学生成绩录入 endl cout t t tc 学生成绩删除学生成绩删除 endl cout t t td 学生成绩修改学生成绩修改 endl cout t t te 显示全部记录显示全部记录 endl cout t t tf 记录存入文件记录存入文件 endl cout t t tg 退出系统退出系统 endl int i 0 for i 0 i 100 i file read reinterpret cast for i 0 b i getNU 0 i 19 M2 i cin a1 switch a1 case a cout t t t 请继续选择请继续选择 endl cout t t t t1 按学号查询信息按学号查询信息 endl cout t t t t2 按姓名查询信息按姓名查询信息 x switch x case 1 Search1 b M2 break case 2 Search2 b M2 break default cout 选择错误 请重新选择选择错误 请重新选择 endl break case b Insert b M

温馨提示

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

评论

0/150

提交评论