程序最终输出界面是三个部分,1、录入学生成绩,2、查找学生成绩,3、显示全部学生成绩;首先定义一个学生类,将所有的成员信息放入私有数据,再构造函数默认赋值。处理对象,写出所需要的录入学生成绩信息,姓名、学号、数据结构、软件工程;查找学生:
输入对应的学生姓名。使用strcmp字符串比较,相同返回0;输出对应的学生信息。在main函数里先定义类的对象数组,再定义一个switch,设置功能。学生总成绩的排序输出,利用循环按从大到小输出学生的总成绩。

#include<iostream>
using namespace std;
int a = 0;//学生人数
class student
{
private:char *name;long number;int score1;int score2;int sum;
public:student(char *name = NULL, long number = 0, int score1 = 0, int score2 = 0, int sum=0){this->name = name, this->number = number, this->score1 = score1, this->score2 = score2, this->sum=score1+score1;}~student() {} //析构函数void setstudent()//录入学生信息{cout << "学生姓名:" << endl;name = (char *)malloc(20 * sizeof(char));cin >> name;cout << "学生学号:" << endl;cin >> number;cout << "数据结构:" << endl;cin >> score1;cout << "软件工程:" << endl;cin >> score2;}void  findstudent(char *n)//查找学生{sum = score1 + score2;if (0 == strcmp(name, n))//字符串比较,相同返回0{cout << "姓名:" << name << "学号:" << number << endl;cout << "数据结构:" << score1 << "软件工程:" << score2 << endl;cout << "总分:" << sum << endl;}}char *getname() { return name; }long getnumber() { return number; }int  getscore1() { return score1; }int getscore2() { return score2; }int getsum() { return sum; }
};
int main()
{int c, d;//功能选择char *N;//名字输入student stu[58];//类的对象数组while(1){cout << "请选择服务:1-录入学生成绩;2-查询学生成绩;3-显示所有学生:4-退出:" << endl;//功能选择cin >> c;switch (c){case 1:{for (int i = 0; i <= 58; i++){stu[i].setstudent();//学生录入a++;cout << " '1'-继续,'2'-返回" << endl;cin >> d;if (d == 2) { break; }else if (d == 1) { continue; }}break;}case 2:{cout << "请输入查找学生姓名:" << endl;N = (char *)malloc(20 * sizeof(char));cin >> N;for (int i = 0; i < a; i++){stu[i].findstudent(N);}break;}case 3:{for (int j = 0; j < a; j++){for (int i = 0; i < a - j; i++){if (stu[i].getsum() < stu[i + 1].getsum()){stu[i] = stu[i];stu[i] = stu[i + 1];stu[i + 1] = stu[i];}}}for (int i = 0; i < a; i++){cout << "姓名:" << stu[i].getname() << "学号:" << stu[i].getnumber() << endl;cout << "数据结构:" << stu[i].getscore1() << "软件工程:" << stu[i].getscore2() << "总分:" << stu[i].getscore1()+stu[i].getscore2()<< endl;}        break;}case 4:{return 0;break;} }}return 0;
}

C++学生类和成绩排序相关推荐

  1. 学生体侧成绩管理系统(文件+链表)

    本人是大一新生,博客中如哪些代码语言不规范或者代码不整洁,欢迎各位大佬批评指正.也欢迎各位初学者与我一同探讨此系统的优化方向. 1.系统概述 系统大致分为可执行文件与存储数据的txt文件,用户使用不同 ...

  2. C#设计学生成绩排序

    需求 设计控制台应用程序,输入若干个学生的英语和数学成绩,求出总分,并按总分从高到低排序,要求设计一个学生类Student,包括数据成员(学号,姓名,英语成绩,数学成绩).所有学生对象存放在一个Stu ...

  3. c#语言编程:定义person类,再派生学生类如何存放学生的成绩,C#定义全班学生成绩类,包括姓名,学号,C++成绩,英语成绩,数学成绩,平均成绩...

    满意答案 兄弟咱写了1个小时,格式规范,且经过严密测试,完成你所需要功能,且还有人性化设计,并且为你提供了可视化测试,我为你考虑的周到吧,不懂就问我 努力吧~~~ usingSystem; using ...

  4. python创建学生类姓名学号_python创建学生成绩管理系统

    python学生成绩管理系统创建,供大家参考,具体内容如下 要求编写学生类,班级类,并在电脑运行生成表单,输入一个数字,得到对应的结果. 输出样式 代码如下 学生类 class Student: de ...

  5. Java学生成绩排序输出的三种不同方法

    要实现学生成绩的排序,要从两方面来考虑如何设计程序. 第一方面是选择存储方式 第二方面是选择什么样的排序方式 以下是三种不同类型的实现: 使用对象数组存储学生信息,冒泡法实现排序 使用List存储学生 ...

  6. 以小组为单位,设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。

    设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩. 实现如下要求的功能: 1.根据姓名查询该学生的总成绩: 2.统计全班 ...

  7. 设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。

    (1).设计一个学生类Student,包括数据成员:姓名.学号.二门课程(面向对象程序设计.高等数学)的成绩. (2).创建一个管理学生的类Management,包括实现学生的数据的增加.删除.修改. ...

  8. 《JAVA练习题目2》 输入十个学生的考试成绩,将及格学生的成绩从高到低排序输出。

    题目内容: 输入十个学生的考试成绩,将及格学生的成绩从高到低排序输出. 输入格式: 10个学生的成绩,以空格分割. 输出格式: 及格成绩从高到低,成绩之间用空格分隔,最后一个分数后面也有一个空格.如果 ...

  9. PTA学生成绩排序-C语言详解

    7-72 学生成绩排序 (20分) 给出一组学生名单(姓名和成绩),请输出按成绩从大到小排序后的结果(名次和姓名).成绩相同的人拥有相同的名次,且按姓名的字典序从小到大排列.题目保证学生姓名没有重复. ...

最新文章

  1. 对联广告,带关闭,可以移动
  2. Virtio:针对 Linux 的 I/O 虚拟化框架
  3. 替换空格---剑指Offer
  4. Darknet_Yolov4实战(二)_安装OpenCV
  5. JavaScript slice() 方法
  6. 执行sql语句_SQL查询语句的执行顺序解析
  7. 放弃私有云?华为云回应一切
  8. 珍大户《认知世界的经济学》学习笔记,更新时间 2021年01月30日22:34:35
  9. Open EtherCAT Society——SOEM、SOES
  10. cadence 介绍
  11. Dubbo底层源码解析
  12. AI周报丨多个国内团队使用人工智能揭示蛋白质相互作用;超参数调优河伯、组合优化器CompBO,华为诺亚开源贝叶斯优化库
  13. GMT与UTC的区别
  14. FP6296升压QC和PD协议充电器
  15. 微信公众号 php sdk,GitHub - yuanchenglu/wechat-php-sdk: 微信公众平台 PHP SDK
  16. 用python创建微信机器人_手把手教你用Python创建微信机器人
  17. 大数据信息时代,如何防止数据泄露,大数据防泄漏解决方案
  18. ios截屏功能html,滚动截屏APP - iPhone上的长截图工具
  19. ajax请求数据成功但是success中拿不到数据。
  20. 开发转测试,坚持16 年,转型并没错!

热门文章

  1. 环信IM (二)添加 删除
  2. AGA8压缩因子算法C语言
  3. JSP+Servlet实现BMI计算器
  4. 风变编程python18_如何看待风变编程的 Python 网课?
  5. SPI Flash/Nor Flash/Nand Flash
  6. Set Similarity
  7. 转:HiRes高采样率的必要性
  8. 高等数学——积分中值定理
  9. 圆圈中间一个乘号:克罗内克积
  10. 微信小程序解密出来是乱码的问题