首页 > 其他分享 >共用体和枚举类型

共用体和枚举类型

时间:2022-11-30 10:07:26浏览次数:35  
标签:职务 int 老师 cin char stu 枚举 类型 共用


描述


有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;
}

 

 

 

标签:职务,int,老师,cin,char,stu,枚举,类型,共用
From: https://blog.51cto.com/u_15896805/5897486

相关文章

  • 枚举小例子记录
    1、创建枚举类:packagecom.atguigu.common.constant;publicclassProductConstant{publicenumAttrEnum{ATTR_TYPE_BASE(1,"基本属性"),ATTR_TYPE_SALE......
  • 100024 求三角形类型各边角度周长面积已知两边夹角
    <?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';$tit='求三角形类型各......
  • c++ trivial, standard layout和POD类型解析
    目录1.trivial类型2.standardlayout类型3.集大成者,POD(PlainOldData)类型4.测试代码1.trivial类型占用一片连续的内存,编译器可以重排成员变量的顺序或者增加一些pa......
  • C#后续任务条件参数:TaskContinueOption --枚举类型
    一、概述一个线程可以有多个任务,一个任务也可以包含多个任务。把一个任务附加给另一个任务,就需要用到ContinueWith()。该方法是Task类中的方法,有多个重载,其中最基......
  • String类型 在底层剖析
    一、String在任何语言中,都有它的特殊性,在.NET中也是如此。它属于基本数据类型,也是基本数据类型中唯一的引用类型。字符串可以声明为常量,但是它却放在了堆中。在.NET中Strin......
  • TS不能将类型“any[]”分配给类型“never[]”
    一、问题在处理接口返回的数据,赋值给store中的数组时,报类型错误data:{cateList:[]}constgetCateList=async()=>{constres=awaitfetchCateList()as......
  • Python之八大数据类型
    数据类型之整型int与浮点型float整型也就是int型其实就是整数如:print(type(10))浮点型就是float其实就是小数如:print(type(10.0))#这里需要注意:10.0也......
  • 检测数据类型的方法 instanceof typeof 终极检测类型 Object.prototype.toSt
    检测数据类型的方法:    1.instanceof     2.typeof        3.终极检测类型Object.prototype.toString.call()   =============......
  • 【转载】Django models常用字段类型
    models常用字段类型原文模型中的每一个字段都应该是某个Field类的实例,字段类型具有下面的作用:决定数据表中对应列的数据类型(例如:INTEGER,VARCHAR,TEXT)HTML中对......
  • Go 语言基本数据类型
    packagemainimport( "fmt" "math" "strings" "unsafe")funcmain(){ /* Golang数据类型分为基本数据类型和复合数据类型 基本数据类型有:整形、浮点型、布......