首页 > 其他分享 >软件设计实验18

软件设计实验18

时间:2022-10-24 08:45:28浏览次数:55  
标签:studentid 软件设计 18 back 实验 vec Student push new

实验18:迭代器模式

[实验任务一]JAVAC++常见数据结构迭代器的使用

信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息。

#include<iostream>
#include <vector>
using namespace std;
class Student{
public:
    long studentid;//学号
    string name;//名字
    int age;//年龄
    string major;//专业
public:
    Student(long studentid, string name, int age, string major) {//构造函数
        this->studentid = studentid;
        this->name = name;
        this->age = age;
        this->major = major;
    }
    void show(){//输出
        cout<<"姓名: "<<this->name<<". 学号: "<<this->studentid <<". 年龄: "<< this->age<< ". 专业: " << this->major<<endl;
    }
};
bool compMax(Student *a,Student *b){
    if (a->studentid> b->studentid)
        return true;
    else
        return false;
}
bool compMin(Student *a,Student *b){
    if (a->studentid< b->studentid)
        return true;
    else
        return false;
}
int main(){
    Student *s1 = new Student(20193250, "张雨轩", 19, "软件工程专业");
    Student *s2 = new Student(20193999, "李四", 30, "材料专业");
    Student *s3 = new Student(20196654, "王五", 29, "机械专业");
    Student *s4 = new Student(20193367, "赵六", 34, "工商管理专业");
    Student *s5 = new Student(20193396, "张三", 34, "土木专业");
    Student *s6 = new Student(20193396, "孙七", 34, "电气专业");
    vector<Student*> vec;
    vec.push_back(s1);
    vec.push_back(s2);
    vec.push_back(s3);
    vec.push_back(s4);
    vec.push_back(s5);
    vec.push_back(s6);
    cout<<"按照学号从大到小输出: "<<endl;
    vector<Student*>::iterator it;
    sort(vec.begin(), vec.end(),compMax);
    for(it=vec.begin();it!=vec.end();it++){
        (*it)->show();
    }
    cout<<"-----------------------------------------------------------------"<<endl;
    cout<<"按照学号从小到大输出: "<<endl;
    sort(vec.begin(), vec.end(),compMin);
    for(it=vec.begin();it!=vec.end();it++){
        (*it)->show();
    }
}

  

标签:studentid,软件设计,18,back,实验,vec,Student,push,new
From: https://www.cnblogs.com/lyf3701/p/16820332.html

相关文章

  • The 18th Zhejiang Provincial Collegiate Programming Contest题解
    A.LeagueofLegends水题。点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineintlonglonginta[6];intb[6];signedmain(){for(......
  • 实验3 数组、指针与现代C++标准库
    实验任务5Info.h#pragmaonce#include<iostream>#include<string>#include<iomanip>usingnamespacestd;classInfo{public:Info(){}Info(stringn......
  • 实验6:开源控制器实践——RYU
    实验6:开源控制器实践——RYU一、实验目的能够独立部署RYU控制器;能够理解RYU控制器实现软件定义的集线器原理;能够理解RYU控制器实现软件定义的交换机原理。二、实......
  • 实验5:开源控制器实践——POX
     实验5:开源控制器实践——POX一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;......
  • 实验3 数组、指针与现代C++标准库
    实验任务5#pragmaonce#include<iostream>#include<iomanip>usingnamespacestd;classInfo{private:stringnickname,contact,city;intn;public:......
  • 实验5:开源控制器实践——POX.md
    实验5:开源控制器实践——POX一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;......
  • 实验三
    task5:info.hpp#include<iostream>#include<string>#include<iomanip>usingnamespacestd;classinfo{public:info(stringn,stringc,strin......
  • 实验5:开源控制器实践——POX
    一)基本要求1.搭建下图所示SDN拓扑,协议使用OpenFlow1.0,控制器使用部署于本地的POX(默认监听6633端口)生成拓扑sudomn--topo=single,3--mac--controller=remote,ip=......
  • 实验6:开源控制器实践——RYU
    基本要求搭建下图所示SDN拓扑,协议使用OpenFlow1.0,并连接Ryu控制器建立拓扑连接RYU控制器L2Switch.pyfromryu.baseimportapp_managerfromryu.controllerim......
  • 实验5:开源控制器实践——POX
    一、实验目的能够理解POX控制器的工作原理;通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;能够运用POX控制器编写自定义网络......