学校学生成绩管理

学校学生成绩管理

假设一个学校成绩管理要管理的学生信息包括:班级、学号、姓名、学期、每门课程的成绩(每学期的课程门数是不一样的) ,对学生的成绩信息进行管理。

要求实现如下的功能:

实现:学生信息的录入;修改;删除和查询,按学期、学号、成绩不及格等查询。

⑴ 输入学生的成绩信息,包含学号、姓名、性别等基本信息和各课成绩

⑵ 显示全部学生各科成绩信息;

⑶ 对各科分班进行成绩统计分析(总分、平均分、最高分、最低分、及格率等);

⑷ 统计各科各分数段人数及班级信息;

⑸ 按学号或姓名查找并显示某个学生的各科成绩;

⑹ 按课程成绩或总分由高到低排序显示;

⑺ 更新某个学生的基本信息或课程成绩;

⑻ 设计一个菜单,具有上述规定的操作要求、退出系统等最基本的功能。


程序如下:

#include<iostream>
#include<string>
#include<fstream>
#include<sstream>
#include<iomanip>
using namespace std;
class Tstu //通过定义一个类来定义数据录入的函数
{
  char name[20];
  int number;
  float math,cpp,english,average,sum;
public:
  Tstu()
  {};
  Tstu ( char n[20], int num,float ma,float cj,float eng ) ;
  float getsum();//得到总分的函数
  float getaver(); //得到平均分的函数
 friend void main(); //将主函数定义为友元函数,方便访问类中的成员
};
 
 Tstu::Tstu ( char n[20], int num,float ma,float cj,float eng )
 {
  strcpy(name,n); //得到姓名
  number=num; //得到学号
  math=ma; //得到数学成绩
  cpp=cj; //得到c++成绩
  english=eng; //得到英语成绩
 }
 
 float Tstu::getsum() //得到总分的函数
 {
  sum=cpp+english+math;
  return sum;
 }

 float Tstu::getaver() //得到平均分的函数
 {
  average=getsum()/3;
  return average;
 }

 void main()
{
 cout<<"*****************欢迎来到学生成绩查询系统*****************"<<endl;
 cout<<"请选择您需要的操作!"<<endl; //菜单的输出
 cout<<"操作:"<<endl;
 cout<<"(1)数据录入"<<endl;
 cout<<"(2)增加学生"<<endl;
 cout<<"(3)删除学生"<<endl;
 cout<<"(4)修改数据"<<endl;
 cout<<"查询:"<<endl;
 cout<<"(5)按总成绩查询"<<endl;
 cout<<"(6)按姓名查询"<<endl;
 cout<<"(7)输出所有学生的数据"<<endl;
 cout<<"成绩统计:"<<endl;
 cout<<"(8)每个学生的平均成绩"<<endl;
 cout<<"(9)各科不及格人数"<<endl;
 cout<<"排名:"<<endl;
 cout<<"(10)按总分查询排名"<<endl;
 cout<<"(11)退出"<<endl;
 cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!"<<endl;
 int p=0; //全局变量,用于选择菜单时的输入 
 char w;//全局变量,用于在大项中选择是否继续操作
 Tstu *s[100]; //类定义的指针将所录入的数据按类中的形式分别存储
 ofstream *file[100];
 int i=0; //全局变量,用于做每个录入数据的下标
 int j=0;
 int chris1=0; //用于判断do-while语句
 do //判断输入是否正确
 {
  cin>>p;
  if

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值