• 共用体和枚举类型


    描述

    有n个人员的数据,其中有老师和学生。学生的数据中包括姓名,号码,性别,职业,班号;老师的数据中包括:姓名,号码,性别,职业,职务。可以看出,学生和老师的数据是不同的,学生有班号而没职务,老师有职务而没班号。现要求你根据输入信息,查询某一号码对应的姓名、性别以及班级(如果是老师,则是职务)。 要求用同一结构体来保存老师和同学的数据,并且在结构体当中使用共用体来存学生的学号(或老师的职务)。此外,人员性别应用枚举类型来实现。

    输入

    第一行输入n,表示有n个人员。接下来n行,每行表示一个人的数据分别是姓名,号码,性别(0表示女,1表示男),职业(字符s表示学生,t表示老师),班级或职务(如果职业是s,那么就输入班级,用一个整数表示;如果职业是t,就输入职务,用一个长度不超过10的字符串表示) 第n+1行是一个m,表示要查询的次数接下来是m个数,表示要查询的号码

    输出

    根据输入数据,输出号码对应的姓名、性别以及班级(如果是老师,则是职务)。

    样例输入

     

    2
    Li 1011 1 s 501
    wang 2085  0 t prof
    1
    1011

    样例输出

     

    Li 1 501
    #include<iostream>
    using namespace std;
    struct ac{
        char name[20];
        int hm;
        int xb;
        char s;
        char zy;
        char zw[20];
        int bj;
    }stu[100];
    int main()
    {
        int n,m,i,j,x;
        char s;
        while(cin>>n)
        {
            for(i=0;i<n;i++)
             {
                  cin>>stu[i].name>>stu[i].hm>>stu[i].xb>>stu[i].s;
                 if(stu[i].s=='s')
                   cin>>stu[i].bj;
                   if(stu[i].s=='t')
                     cin>>stu[i].zw;
    
             }
               cin>>m;
               for(i=0;i<m;i++)
               {
                   cin>>x;
                   for(j=0;j<n;j++)
                     if(stu[j].hm==x)
                     {
                         if(stu[j].s=='t')
                         cout<<stu[j].name<<" "<<stu[j].xb<<" "<<stu[j].zw<<endl;
                         else
                         if(stu[j].s=='s')
                         cout<<stu[j].name<<" "<<stu[j].xb<<" "<<stu[j].bj<<endl;
                        // break;
                     }
               }
    
        }
        return 0;
    }
    


     

  • 相关阅读:
    在Lufylegend中如何设置bitmap或者sprite的缩放和旋转中心
    面试必备:文本框与按钮的最简组合
    JavaScript设计模式之策略模式(学习笔记)
    JavaScript设计模式之观察者模式(学习笔记)
    Canvas transform浅析
    JavaScript ArrayBuffer浅析
    IE8-下背景色半透明滤镜在jquery动画中失效问题记录
    JQuery__Tab实践
    memoization提升递归效率
    es6--箭头函数
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3364637.html
Copyright © 2020-2023  润新知