精华内容
下载资源
问答
  • 学生成绩排序c++

    2015-10-22 16:27:41
    对输入的学生成绩排序,输出并保存于excel文件中,c++面向对象程序
  • C++学生类和成绩排序

    万次阅读 多人点赞 2019-05-28 20:31:37
    程序最终输出界面是三个部分,1、录入学生成绩,2、查找学生成绩,3、显示全部学生成绩;首先定义一个学生类,将所有的成员信息放入私有数据,再构造函数默认赋值。处理对象,写出所需要的录入学生成绩信息,姓名、...

    程序最终输出界面是三个部分,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;
    }
    
    

    在这里插入图片描述

    展开全文
  • 学生成绩排序

    在这里插入图片描述

    问题描述

    对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。
    【输入形式】
    从键盘依次输入最多不超过50个学生的学生姓名和成绩:
    第一行输入班级学生人数;
    在单独行上输入空格隔开的学生姓名和成绩,其中学生成绩是整数。
    【输出形式】
    按学生成绩由高到低顺序输出学生姓名和成绩,每行输出一位学生的姓名和成绩,其中姓名(英文)占15位,成绩占5位,均按缺省方式对齐。成绩相同时按输入次序排序。
    【输入样例】
    4
    aaa 50
    bbb 70
    ccc 65
    ddd 90
    【输出样例】

    ############ddd###90
    ############bbb###70
    ############ccc###65
    ############aaa###50
    (注意:其中“#”号代表空格)

    【样例说明】
    输入了四个学生姓名和成绩,按成绩排序输出。

    解题思路

    这一题可以用链表进行实现,在构建链表的时候,就按照成绩顺序进行排序,最后输出即可,思路还是挺简单的,实现起来也不难。
    插入每一个新的学生成绩节点时,使用的函数如下。

    void insert_stu(node classm,node tem){//classm为链表头节点,tem为待插入节点
        node tra = classm;//用来遍历链表。
        if(tra->next == NULL){//当链表为空时,直接将待插入节点插到头节点之后。
            classm->next = tem;
            tem->next=NULL;
        }
        else{
            while(tra->next!=NULL && tem->grade <= tra->next->grade){//当遍历至链表尾端或待插入节点的成绩值大于当前节点时,结束循环
                tra=tra->next;
            }
            tem->next = tra->next;
            tra->next = tem;
        }
    }
    
    展开全文
  • c++定义结构体对学生成绩排序

    千次阅读 2019-03-19 09:06:58
    #include #include #include using namespace std; struct Student {  char name[20];  int number;  int age;... cout排序前:";... cout排序后:";  sort(p);  print(p); }  

    #include <iostream>
    #include<bits/stdc++.h>
    #include<cstdlib>
    using namespace std;
    struct Student
    {
        char name[20];
        int number;
        int age;
        char sex;
        float score;
    };
    void print(Student *p[])
    {
        int i;
        cout<<"姓名 学号 年龄 性别 分数"<<endl;
        for(i=0;i<5;i++)
        {
            cout<<p[i]->name<<"   "<<p[i]->number<<"   "<<p[i]->age<<"   "<<p[i]->sex<<"   "<<p[i]->score<<endl;
        }
        cout<<endl;
    }
    void sort(Student *p[])
    {
        Student *temp;
        int i,j,flag;
        for(i=0;i<4;i++)
        {
            flag=0;
            for(j=0;j<4-i;j++)
            {
                if(p[j]->score>p[j+1]->score)
                    {
                        temp=p[j];
                        p[j]=p[j+1];
                        p[j+1]=temp;
                        flag=1;
                    }

            }
            if(flag==0)
                    break;

        }


    }
    int main()
    {
        struct Student stu[5]={
            {"aa",123,455,'x',17},
            {"dd",123,455,'x',13},
            {"cc",123,455,'x',14},
            {"bb",123,455,'x',15},
            {"ee",123,455,'x',16},
        };
        int i;
        Student *p[5];
        for(i=0;i<5;i++)
        {
            p[i]=&stu[i];
        }
        cout<<"排序前:"<<endl;
        print(p);
        cout<<"排序后:"<<endl;
        sort(p);
        print(p);

    }
     

    展开全文
  • 学生信息管理系统。(类实现) 要求:(1)能统计总人数; (2)将学生信息存储到文件,可以对学生排序,将排序以后的信息输出到文件;
  • c语言求平均成绩的需要用到数组------char**[] []** strcpy,即string copy(字符串复制)的缩写 思路:1.用数组输入成绩 2.用strcpy交换字符串 3.按照%d,%f输出一定的格式 #include<stdio.h> #include<...

    c语言求平均成绩的需要用到数组------char**[] []**

    strcpy,即string copy(字符串复制)的缩写

    思路:1.用数组输入成绩
    2.用strcpy交换字符串
    3.按照%d,%f输出一定的格式

    #include<stdio.h>
    #include<string.h>//识别后面的strcpy
    void main(){
    	int  j,k,i,n,max_pos;
    	char student_num[20][15]={"190308010101","190308010102","190308010103","190308010104",
    		                "190308010105","190308010106","190308010107","190308010108",
    						"190308010109","190308010110","190308010111","190308010112",
    						"190308010113","190308010114","190308010115","190308010116",
    						"190308010117","190308010118","190308010119","190308010120"};
    	int score[20][3]={{90,82,79},{67,56,99},{89,90,87},{99,65,79},{78,98,67},{65,86,89},
    	{90,98,83},{78,75,74},{90,97,60},{68,69,54},{56,58,49},{37,48,50},{98,86,68},{95,65,63},
    	{78,71,72},{99,98,100},{89,98,67},{45,76,87},{76,56,34},{68,89,96}};
    	char name[20][10]={"刘强","李国强","周小帅","李莹莹","张德帅","张德武",
    	     "范旭","朱媛媛","陈有良","李晓亮","欧阳阳","李胜正","卢本卫","陆建国",
    	     "梁飞龙","冯小","郭炜炜","朱原章","田雪","刘子锤"};
    	char t[15];
    	float average[20],f;//定义平均成绩类型
    	for(i=0;i<20;i++){//循环的次数为20次数
    		average[i]=(float)((score[i][0]+score[i][1]+score[i][2])/3.0);//平均成绩=(第一列成绩+第二列成绩+第三列成绩)/3
    }
    for(i=0;i<20-1;i++){
    		max_pos=i;//假设最大值的位置是i
    	for(j=i+1;j<20;j++)
    		if(average[j]>average[max_pos])
    			max_pos=j;//如果j>i+1,则最大值是j
        	strcpy(t,student_num[i]);
    	    strcpy(student_num[i],student_num[max_pos]);
    		strcpy(student_num[max_pos],t);//第i行和第max_pos行 学号交换
    	    strcpy(t,name[i]);
    		strcpy(name[i],name[max_pos]);
    		strcpy(name[max_pos],t);//交换姓名
        for(k=0;k<3;k++){
    		n=score[i][k];
    		score[i][k]=score[max_pos][k];
    		score[max_pos][k]=n;
    		f=average[i];
    		average[i]=average[max_pos];
    		average[max_pos]=f;
    }//和k对应
    }//和i对应
    	printf("                                           Wolf小学12班数理化成绩统计\n");
    	printf("\n");
    	printf("            学 号               姓 名            数 学         物 理            化 学       平均成绩\n");
    	printf("\n");
    	for(i=0;i<20;i++)
    	printf("%20s %16s %15d %13d %15d %13.2f\n",student_num[i],name[i],score[i][0],score[i][1],score[i][2],average[i]);
    	}
    
    

    在这里插入图片描述

    说明:1.平均成绩保留到小数点后几位取决于f 前面的那个小数点。 在这里插入图片描述,此处的"2" 就是保留到第二位的意思。
    2.大括号一定要用到恰到好处。我之前用错了,结果成绩之和除以三和后面的平均成绩不符合,原因就是for循环的不对。我一直以为是交换出错了,因为前面都对,后来发现是因为循环除了问题,当时的问题是不管是否符合for循环里的条件,程序都执行一遍,所以相当于做了无用功。
    3.c语言出现一大堆错误不要紧,很有可能就只是一处有问题呢。比如我改了一下{}的位置,50多个错误瞬间消失,也算是对的起掉的头发了。

    每日一句
    坚持没结果是因为你没有复盘;

    你必须一边奔跑,一边寻找路径;

    不要用战术上的勤奋掩盖战略上的懒惰。

    展开全文
  • 主要介绍了通过c++的sort函数实现成绩排序,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • C++学生成绩排序

    万次阅读 多人点赞 2015-12-13 22:16:07
    定义一个包含学生学号、姓名、年龄和三门课成绩的结构体,输入10个学生信息,并按总成绩由高到低的顺序排序并输出。
  • 成绩排序或成绩管理系统的C++代码实现,可作为具备一定C++基础进行进阶的辅导资料,可以直接运行。
  • 并且对该成绩表加以输出,按成绩从大到小进行排序,如果两个学生成绩相等,则按照名字的字典顺序进行排序。 二、代码 1.代码的实现 代码如下(示例): //使用sort函数对学生的信息进行排序如果成绩相同,则按照...
  • 第一次上传资源,是我自己编写的很小的一段代码。是用于对学生成绩进行排序的。没什么技术含量,望大家海涵......
  • 第一次博客,就写人生第一个系统吧–C++学生成绩管理系统.该系统是楼主(菜鸟)大一上学期简单学习C++两...学生成绩排名(冒泡排序) 各科情况分析(最高分、最低分以及平均分) 输出首页代码 void shouye() /*输出首页*/...
  • C++ 学生成绩管理系统

    万次阅读 多人点赞 2019-10-04 20:26:09
    c++实现学生成绩管理系统,此系统可以提供成绩的录入,可以按学生成绩进行排名,求总分和平均分以及提供成绩查询功能等。 实现功能 提供成绩录入 统计每个学生的总分和平均分 按总分由大到小排出名次 提供成绩...
  • 学生成绩管理系统(基于文件的MFC) mfc学生成绩管理系统 C++学生成绩管理系统
  • 成绩排序输出C++

    2021-06-06 17:45:25
    成绩排序输出C++ 给出班里某门课程的成绩单,请你按照成绩的高低对成绩进行排序,如果有相同的分数需要对名字拼音在前的靠前 **输入:**第一行n(0<n<20)表示班级里的学生数目; 接下来的n行,依次输出名字和他...
  • C++成绩排序

    千次阅读 2020-07-25 13:21:10
    初学C++老师安排的作业,使用C++实现成绩排序,目前实现为:从.txt文档读入学生成绩,并显示。然后选择按照哪科成绩来排序。 //main.cpp #include"main.h" int main() { ifstream in("score.txt"); if (!in) { ...
  • 学生成绩排名系统(c++实现)

    千次阅读 2020-04-06 22:23:56
    题目:学生有两门课语文和数学,实现一个班级名次排名,要求总分高的排在前面,当总分相同时,数学成绩高的在前面,若两门课程均相等时,按姓名笔画排序。 输入(第一行输入 几个学生,第二行输入学生姓名,语文成绩...
  • C++课程设计:学生成绩信息管理系统 该资源是鄙人的C++课程设计,论文包括源代码和截图,评分等级为优秀, 分享予大家参考学习,欢迎 广东海洋大学 ...6、输出所有学生成绩 7、按总分高低排序 8、保存文件 9、退出系统
  • 系统功能介绍 1.录入学生信息:用户可以自由输入学生信息到系统中。 2.打印学生信息:格式化展示系统中的学生信息。 3.保存学生信息:将系统中的学生信息保存到本地文档。 4.读取学生信息:读取本地...可以进行成绩排序
  • 程序使用说明:本程序是使用C++编写的学生成绩管理系统,使用VS2013进行代码的编写,其中file.txt是实验数据。 实习题目:学生成绩管理系统 要求: 1、增加记录:要求可以连续增加多条记录。 2、删除一个学生的...
  • 学生成绩管理系统设计” A.问题描述 学生信息包括:学号、姓名、性别、年龄、班级等信息。 小学生除了包括学生所有信息外,还包括英语、数学和语文成绩。 中学生除了包括小学生所有信息外,还包括地理、历史成绩。 ...
  • <C/C++成绩排序

    2021-03-03 17:32:45
    查找和排序 题目: 输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 ...
  • 2) 某个班学生信息按总成绩从高到低排序并显示。 9. 统计功能:分本科生和研究生两类人员,实现下列统计与显示功能。 1) 统计某班级某课程的平均成绩、最高成绩、最低成绩。如果学生该门课没有成绩,统计平均成绩时...
  • 对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。 【输入形式】 从键盘依次输入...
  • c++学生成绩管理系统

    2015-12-12 13:06:08
    c++学生成绩管理系统 学生信息登记 删除 查询 显示 统计 排序 分类
  • 任意输入成绩排序,对学生成绩进行排序和查找
  • c++结构初探 知识点:1.结构体的创建 2.结构体的初始化 3.“xx1.xx=xx2.xx”结构体的赋值 !!数组不能彼此赋值,而同类型的结构变量可以。 4.冒泡排序 下面以一道简单的题来贯彻 /* 描述 有n行数据。每行4...
  • 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母排序,如果姓名的字母序也相同,则按照学生的年龄排序,并输出N个学生排序后的信息。 #include<stdio.h> #include<algorithm&...
  • 最简单的C++学生成绩管理系统

    千次阅读 多人点赞 2019-06-05 09:36:08
    学生管理系统C++课设 类 #include #include #include<string.h> #include #include using namespace std; #define MAX 100 int numb; class Student { private: public: int num; string name; int sex; ...
  • 成绩排序(3种题型)--C++

    千次阅读 2019-01-11 21:45:53
    输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开 输出描述: 按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开 C++实现: #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,702
精华内容 3,880
关键字:

学生成绩排序c++

c++ 订阅