学生查询

2020-04-02  本文已影响0人  HelloSam
图片.png
图片.png
#include <stdio.h>
#include <string>
#include <vector>
#include <iostream>
using namespace std;

struct Student
{
    int num;
    string name;
    string sex;
    int age;
};

int main()
{
    int m,n,find;
    cin >> m;
    vector<Student> vs;
    for(int i=0;i<m;i++)//这个题有个隐含条件,如果学号相同应该是把之前的学号的学生覆盖掉 
    {
        Student stu;
        cin >> n;
        int flag;
        for(int j=0;j<n;j++)
        {
            flag = 0;
            cin >> stu.num >> stu.name >> stu.sex >> stu.age;
            for(int i=0;i<vs.size();i++)//如果学号相同,那么就替换他 
            {
                if(vs[i].num == stu.num)
                {
                    vs[i].name = stu.name;
                    vs[i].age = stu.age;
                    vs[i].sex = stu.sex;
                    flag = 1;
                }
            }
            if(flag==0)
                vs.push_back(stu);
        }
        
        cin >> find;//这是查询的学号,不是输入的顺序
        for(int i=0;i<vs.size();i++)
        {
            if(vs[i].num == find){
                cout << vs[i].num <<" "<<vs[i].name<<" "<<vs[i].sex<<" "<<vs[i].age <<endl;
            }
        }
        
        
    }
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读