共用体和枚举类型
来源:互联网 发布:分页查询sql语句mysql 编辑:程序博客网 时间:2024/05/16 07:36
描述
有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 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;}
- 共用体和枚举类型
- 共用体和枚举
- C语言共用体union和枚举类型enum
- 共用体union 和枚举类型enum (C)
- 共用体类型,枚举类型的使用
- 结构体,共用体,枚举类型
- typedef与define 共用体 枚举类型
- C语言基础(六)- 结构体、共用体、枚举和typeof自定义类型
- 【好程序员训练营学习笔记分享7】共用体和枚举类型
- 结构体、共用体、枚举和typedef
- C++ 结构体 共用体和枚举
- 结构体、共用体和枚举
- 共用体和枚举,写写意思下
- 共用体union和枚举enum
- 结构体以及共用体与枚举类型
- [C学习]共用体,枚举类型与typedef
- 枚举 共用体
- 共用体,枚举,typedef
- 级后,常常遇到的遇到的警告、错误,解决方法
- 英文地址格式
- 通过dbcc page来查看SQL Server表中的数据
- Android AsyncTask完全解析,带你从源码的角度彻底理解
- ACM STEP 1.2.2 Financial Management
- 共用体和枚举类型
- Visitor Pattern
- Mysql的死锁问题,解决Locked状态
- 初学hadoop之--------java中的for each语句----for (IntWritable val : values)
- 详解SQL Server Profiler分析死锁几大步骤
- ACM STEP 1.2.3 Nasty Hacks
- 我的新CSDN
- linux 内存释放 (转)
- Matlab画图入门