student inquiring

2023-12-01 03:12
文章标签 student inquiring

本文主要是介绍student inquiring,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

描述

学生表包括三个字段:编号、姓名和年龄。如下:

2016001, "Zhang", 19

2016002, "Li", 20

2016003, "wang", 21

2016004, "Liu", 22

2016005, "Zhao", 22

2016006, "Zhang", 22

样例输入

2016001
2016003

样例输出

2016001 Zhang 19 
2016003 wang 21

Code 1(c)

#include<stdio.h>
#include<string.h>
struct Student{int number;char name[50];int age;
};
int main(){struct Student students[] ={{2016001, "Zhang", 19},{2016002, "Li", 20},{2016003, "wang", 21},{2016004, "Liu", 22},{2016005, "Zhao", 22},{2016006, "Zhang", 22}};int inputNumber;while(scanf("%d", &inputNumber) != EOF) {for(int i = 0; i < sizeof(students) / sizeof(students[0]); i++) {if(students[i].number == inputNumber) {printf("%d %s %d\n", students[i].number, students[i].name, students[i].age);}}}return 0;
}

Code 2(c++)(version1、version2二选一)

#include<iostream>
#include <string>
#include<map>
using namespace std;
int main()
{map<int,pair<string,int>> StudentTable={{2016001, {"Zhang", 19}},{2016002, {"Li", 20}},{2016003, {"wang", 21}},{2016004, {"Liu", 22}},{2016005, {"Zhao", 22}},{2016006, {"Zhang", 22}}};int num;while(cin>>num){//version 1:for(const auto&p:StudentTable){if(num==p.first){cout<<num<< " "<<p.second.first<<" "<<p.second.second<<endl;}}//version 2;auto it = studentTable.find(number);if(it != studentTable.end()) {cout << number << " "<< it->second.first << " "<< it->second.second << endl;} }return 0;
}

对it->second.second it != studentTable.end( )的解释

当你使用 find 方法在 map 中查找特定的键时,

若找到了指定的键,find 方法将返回一个指向该元素的迭代器;

若没有找到指定的键,find 方法将返回一个指向容器末尾的迭代器,即 end。

因此,it != studentTable.end() 这个条件语句的意思是:如果迭代器 it 指向的元素不是容器的末尾(即找到了指定的键),则执行接下来的语句块。

在示例代码中,这个条件语句用于检查是否找到了用户输入的学号对应的学生信息,如果找到了,则输出该学生的信息;如果没有找到,则不执行输出语句。

在C++中,map的find函数返回的是一个迭代器(iterator),而不是一个pair。因此,如果要通过迭代器获取pair中的元素,需要使用箭头运算符(->)。it->second表示迭代器指向的pair中的第二个元素,即{string, int},再使用"."运算符获取其中的string元素。所以正确的写法是it->second.first。

若使用"."运算符来访问迭代器指向的pair中的元素,编译器会报错

这篇关于student inquiring的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/439574

相关文章

leetcode#551. Student Attendance Record I

题目 You are given a string representing an attendance record for a student. The record only contains the following three characters: ‘A’ : Absent. ‘L’ : Late. ‘P’ : Present. A student could be rew

Student类信息查询

java Student类信息查询 代码 import java.util.Scanner;public class Student {private String name; // 姓名private int age; // 年龄private String gender; // 性别private String phone; // 电话private String address;

【Java】—— Java面向对象基础:Java中类的构造器与属性初始化,Student类的实例

目录 定义Student类 在main方法中创建Student对象 结论         在Java中,类的构造器(Constructor)是一个特殊的方法,用于在创建对象时初始化对象的属性。今天,我们将通过一个简单的Student类实例,来探讨如何在Java中定义和使用多个构造器,以及如何通过这些构造器来创建对象并初始化其属性。 定义Student类         首先

AST: Asymmetric Student-Teacher Networks for Industrial Anomaly Detection代码运行

环境 設置遠程路徑 conda create --name zgp_ast python=3.7.7 pip install -r requirements.txt PIL>=7.1.2改爲Pillow>=7.1.2 Building wheels for collected packages: efficientnet-pytorchBuilding wheel for efficient

Student Attendance Record I问题及解法

问题描述: You are given a string representing an attendance record for a student. The record only contains the following three characters: 'A' : Absent.'L' : Late.'P' : Present. A student could be re

【PAT】【Advanced Level】1039. Course List for Student (25)

1039. Course List for Student (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Zhejiang University has 40000 students and provides 2500 courses

qt用信号与槽,发送自定义结构体,一定要先注册,注册元对象 Q_DECLARE_METATYPE(Student)

//1.定义结构体struct Student{int m_id;int m_age;QString m_name;};//2.注册元对象Q_DECLARE_METATYPE(Student)class MainWindow : public QMainWindow{Q_OBJECTpublic:explicit MainWindow(QWidget *parent =

java student类的注意点 嵌套类

一、  // java student类的注意点   class student  //外类是值允许有默认的权限不允许有任何操作符号 { String name; String   addr; int age; student (String name,String addr,int age) { this.name=name; this.ad

ClassCastException: com.collection.Student cannot be cast to java.lang.Comparable

抛出异常:java.lang.ClassCastException: com.collection.Student cannot be cast to java.lang.Comparable 寻找解决问题的方法: 去jdk文档里看看Comparable接口 原因是我们实体类拥有多个属性,将其存进TreeSet中不知道根据那个属性进行自然排序。实体类类需要实现Comparable这个接口,

详解深度学习中的教师-学生模型(Teacher- Student Model)

文章目录 基本流程训练方法分类1. 软标签(Soft Labels)软化概率分布的具体步骤软化有什么好处? 2. 特征匹配(Feature Matching)3. 注意力转移(Attention Transfer)4. 知识图谱或规则迁移5. 隐空间映射(Latent Space Mapping) 为什么学生模型(Student Model)的性能有时候可以优于教师模型(Teacher