C++ 定义学生类,用于存放学生的基本信息,平均成绩通过方法调用计

C++ 定义学生类,用于存放学生的基本信息,平均成绩通过方法调用计算出来。定义班级类,用于存放班内所有学生的信息,在班级类中定义方法完成按学生成绩由高到低的排序,并定义方法完成所有学生信息的输出。

兄弟咱写1格式规范且经严密测试完所需要功能且性化设计并且提供视化测试我考虑周吧懂问我
努力吧~~~
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

///控制台测试
static void Main(string[] args)
{
#region Student Text
AllStudent all = new AllStudent(3);
all.AddAllreslut();
all.RtAvg();
all.printStu();
all.sorting();
Console.WriteLine("(冒泡排序)排序绩:");
all.printStu();

#endregion
}
单类整体类

#region Student类
public class Students
{

#region 构造函数
public Students()
{
}

public Students(string name, string number, float Cres, float Elys, float maths)
{
_name = name;
_number = number;
_Cres = Cres;
_ely = Elys;
_math = maths;
_avg = (Cres + Elys + maths) / 3;
}

#endregion

#region 字段
private string _name;

public string Name
{
get { return _name; }
set { _name = value; }
}

private string _number;

public string Number
{
get { return _number; }
set { _number = value; }
}

private float _Cres;

public float Cres
{
get { return _Cres; }
set { _Cres = value; }
}

private float _ely;

public float Ely
{
get { return _ely; }
set { _ely = value; }
}

private float _math;

public float Math
{
get { return _math; }
set { _math = value; }
}

private float _avg;

public float Avg
{
get { return _avg; }
set { _avg = value; }
}

#endregion
}
#endregion

#region 全体类
public class AllStudent
{

#region 构造函数
public AllStudent(int cout)
{
_cout = cout;
_stuList = new List();
}
#endregion

#region 字段属性
private int _cout;

public int Cout
{
get { return _cout; }
set { _cout = value; }
}

private List _stuList;

public List StuList
{
get { return _stuList; }
set { _stuList = value; }
}
#endregion

#region 绩录入
public void AddAllreslut()
{
for (int i = 0; i < _cout; i++)
{
string[] strs = new string[5];
Console.WriteLine("请输入姓名:");
strs[0] = Console.ReadLine();
Console.WriteLine("请输入号:");
strs[1] = Console.ReadLine();
Console.WriteLine("请输入C++绩:");
strs[2] = Console.ReadLine();
if (!Isfloat(strs[2]))
{
Console.WriteLine("请输入确绩:");
strs[2] = Console.ReadLine();
}
else
{
if (float.Parse(strs[2]) > 100)
{
Console.WriteLine("请输入确绩:");
strs[2] = Console.ReadLine();
}
}
Console.WriteLine("请输入英语绩:");
strs[3] = Console.ReadLine();
if (!Isfloat(strs[3]))
{
Console.WriteLine("请输入确绩:");
strs[3] = Console.ReadLine();
}
else
{
if (float.Parse(strs[3]) > 100)
{
Console.WriteLine("请输入确绩:");
strs[3] = Console.ReadLine();
}
}
Console.WriteLine("请输入数绩:");
strs[4] = Console.ReadLine();
if (!Isfloat(strs[4]))
{
Console.WriteLine("请输入确绩:");
strs[4] = Console.ReadLine();
}
else
{
if (float.Parse(strs[4]) > 100)
{
Console.WriteLine("请输入确绩:");
strs[4] = Console.ReadLine();
}
}
Students student = new Students(strs[0], strs[1], float.Parse(strs[2]), float.Parse(strs[3]), float.Parse(strs[4]));
Console.WriteLine(strs[0] + "同平均绩:" + student.Avg);
Console.WriteLine();
_stuList.Add(student);
}
}
#endregion

#region 按号查询平均绩
public void RtAvg()
{
Console.WriteLine("请输入要查询平均绩号:");
string number = Console.ReadLine();
float avg = RtAvg(number);
if (avg != 0)
{
Console.WriteLine(number + "平均绩:" + avg);
Console.ReadKey();
}
else
{
Console.WriteLine("没该号绩!");
Console.ReadKey();
}
}

public float RtAvg(string number)
{
for (int i = 0; i < _stuList.Count; i++)
{
if (_stuList[i].Number.Trim() == number.Trim())
{
return _stuList[i].Avg;
}
}
return 0;
}
#endregion

#region 按平均排序
public void sorting()
{
List list = new List();
for (int i = 0; i < _stuList.Count; i++)
{
Students stus = new Students();
for (int j = 0; j < _stuList.Count - i - 1; j++)
{
if (_stuList[j].Avg > _stuList[j + 1].Avg)
{
stus = _stuList[j];
_stuList[j] = _stuList[j + 1];
_stuList[j + 1] = stus;
}
else
{
stus = _stuList[j + 1];
}
}
if (i == _stuList.Count - 1)
{
stus = _stuList[0];
}
list.Add(stus);
}
_stuList = list;
}
#endregion

#region 输所绩
public void printStu()
{
Console.WriteLine("所信息:");
for (int i = 0; i < _stuList.Count; i++)
{
Console.WriteLine(_stuList[i].Name + "同基本信息:");
Console.WriteLine("号:" + _stuList[i].Number + " C++绩:" + _stuList[i].Cres + " 英语绩:" + _stuList[i].Ely + " 数绩:" + _stuList[i].Math+" 平均绩:"+_stuList[i].Avg);
Console.WriteLine();
}
Console.ReadKey();
}
#endregion

#region 验证浮点数
public static bool Isfloat(string Input)
{
if (Input == null)
{
return false;
}
else
{
string pattern = "^(\\d*\\.)?\\d+$";
if (Regex.Match(Input, pattern, RegexOptions.Compiled).Success)
{
return true;
}
else
{
return false;
}
}
}
#endregion
}

#endregion
温馨提示:内容为网友见解,仅供参考
无其他回答

c++定义学生类实现平均成绩计算和查询功能?
1.定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均成绩;4.同时输出所有学生信息;5.通过输入学生学号或姓名... 1. 定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均...

如何在c++定义一个学生类以实现平均成绩的计算和查询功能?
1.定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均成绩;4.同时输出所有学生信息;5.通过输入学生学号或姓名... 1. 定义学生类,包括学号、姓名、性别、多门课程的成绩;假设有n个学生,由键盘输入学生信息;2定义类成员函数,计算每个学生的平均...

...类,包括姓名,学号,C++成绩,英语成绩,数学成绩,平均成绩
Console.WriteLine(_stuList[i].Name + "同学的基本信息:"); Console.WriteLine("学号:" + _stuList[i].Number + " C++成绩为:" + _stuList[i].Cres + " 英语成绩为:" + _stuList[i].Ely + " 数学成绩为:" + _stuList[i].Math+" 平均成绩为:"+_stuList[i].Avg); Console.WriteLine();...

c++设计一个学生类,其中含有学号、姓名、语文、数学和英语成绩等数据成...
设计一个class,class中 定义几个变量,用来保存学生的学号,姓名,语文成绩。很简单的啊,有不懂的请追问把

求c++语言解决实际问题~~~很急的
5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。 创新要求: 在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同 三、信息描述 输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。编程计算出每个...

用C++语言,自定义学生类,派生研究生类
以下是一种使用C++语言自定义学生类和派生研究生类的方法:在上面的代码中,我们定义了一个名为Student的学生类,其中包含三个私有成员:学号、姓名和专业。我们也定义了一个名为Graduate的研究生类,它继承自Student类,并添加了一个私有成员:研究课题。两个类都包含了一个公有的成员函数,用于获取学生...

C++。编程题,题目如下。
要求从键盘输入的学生数据用一个函数实现,并存入文件,用一个函数打开此文件后,求出各位同学的平均分,输出函数可以输出所有同学的成绩表(包括每个学生的学号、姓名、三门成绩及平均分数)也可以输出平均分在前3名的学生姓名及平均分。主函数可以方便地调用以上函数。 C++形式如下:#include "stdio.h"main(){} 请...

C++题目,有大佬过来看看么 定义学生类。 (1)类名:STUDENT;
在 C++ 中,类的定义方法如下:class 类名{访问范围说明符:成员变量1成员变量2成员函数声明1成员函数声明2访问范围说明符:更多成员变量更多成员函数声明...};类的定义要以;结束。“访问范围说明符”一共有三种,分别是 public、private 和 protected。三者的区别后面会详细介绍,目前暂且都用 public...

求C++编程题目答案!!!设计一个学生类(CStudent),它具有的私有数据成员...
cout<<"注册号为:"<<regnum<<"的学生的平均成绩为:"<<ave<<endl;} void cstudent::display(){ cout<<"注册号:"<<regnum<<endl;cout<<"姓名:"<<name<<endl;cout<<"数学:"<<math<<endl<<"外语:"<<english<<endl<<"计算机:"<<computer<<endl;} void cstudent::setData(){ cout<...

c++( 答案运行结果请发到我的邮 huahu1943@163.com )好的话追加分
start: printf("\\t\\t\\t欢迎使用学生成绩管理系统\\n\\n");\/\/一下为功能选择模块 do{ printf("\\n\\t\\t\\t\\t1.录入学员信息\\n\\t\\t\\t\\t2.显示学员信息\\n\\t\\t\\t\\t3.成绩排序信息\\n\\t\\t\\t\\t4.添加学员信息\\n\\t\\t\\t\\t5.删除学员信息\\n\\t\\t\\t\\t6.退出\\n");printf("\\t\\t\\t\\...

相似回答