1.新冠疫情期间严控进入居民小区人员。设计居民类,含有姓名、身份证号、住址、最近进入时间、最近离开时间等数据成员。 (1)建立居民类对象数组,保存本小区所有居民信息; (2)编写一个可以供出入口处门卫调用的查询函数,根据输入的姓名和身份证号查询是否是本小区居民; (3)编写函数实现对指定时间段进入小区居民的查询输出,通过cout 输出符合条件的居民姓名和编号。时间信息可以用年、月、日、时、分、秒共6个int类型数据来表达。
时间: 2024-04-06 07:30:22 浏览: 110
疫情期间,严控出入,强化登记管理.zip
好的,下面我来回答你的问题:
1. 居民类设计:
```cpp
class Resident {
private:
std::string name; // 姓名
std::string id; // 身份证号
std::string address; // 住址
time_t enter_time; // 最近进入时间
time_t leave_time; // 最近离开时间
public:
Resident(std::string _name, std::string _id, std::string _address, time_t _enter_time, time_t _leave_time)
: name(_name), id(_id), address(_address), enter_time(_enter_time), leave_time(_leave_time) {}
// 居民类构造函数
std::string get_name() const { return name; }
std::string get_id() const { return id; }
std::string get_address() const { return address; }
time_t get_enter_time() const { return enter_time; }
time_t get_leave_time() const { return leave_time; }
};
```
2. 居民类对象数组:
```cpp
Resident residents[100]; // 假设本小区最多有100位居民
```
3. 查询函数:
```cpp
Resident* search_resident(const std::string& name, const std::string& id) {
for (int i = 0; i < 100; i++) {
if (residents[i].get_name() == name && residents[i].get_id() == id) {
return &residents[i];
}
}
return nullptr;
}
```
4. 指定时间段进入小区居民查询输出:
```cpp
void search_residents_by_time(time_t start_time, time_t end_time) {
for (int i = 0; i < 100; i++) {
time_t enter_time = residents[i].get_enter_time();
if (enter_time >= start_time && enter_time <= end_time) {
std::cout << residents[i].get_name() << " " << residents[i].get_id() << std::endl;
}
}
}
```
需要注意的是,这里使用了time_t类型来存储时间信息。在实际使用中,可以使用ctime库中的函数将时间戳转换为字符串形式,方便输出和存储。
阅读全文