请设计一个查询显示函数,该函数可以按姓名查询某客户所有信息(如有同名情况,将所有同名客户的所有信息全部逐个显示出来),也可以根据客户经理需要查询个人资产在某个数值之上的所有客户的所有信息。
以结构体数组方式存储时,查询及显示的函数原型为:
void queryDisp(Customer data[],int Num);
这里的int Num该怎么使用?应该表示什么?
如果可以的话能不能写出这个的实例讲解一下?
下列代码可以按姓名查询某客户所有信息或者根据客户经理需要查询个人资产在某个数值之上的所有客户的所有信息。
#include <iostream>
#include <string>
#include <algorithm>
struct Customer {
std::string name;
int asset;
};
void queryDisp(Customer data[], int Num) {
std::string name;
int asset;
std::cout << "请输入要查询的客户姓名或资产数值(输入数值时输入-1可查询所有客户):" << std::endl;
std::cin >> name;
asset = std::stoi(name);
if (asset == -1) { // 如果输入的是-1,则按姓名查询
for (int i = 0; i < Num; i++) {
if (data[i].name == name) {
std::cout << "客户姓名:" << data[i].name << std::endl;
std::cout << "客户资产:" << data[i].asset << std::endl;
}
}
} else { // 否则,按资产数值查询
for (int i = 0; i < Num; i++) {
if (data[i].asset >= asset) {
std::cout << "客户姓名:" << data[i].name << std::endl;
std::cout << "客户资产:" << data[i].asset << std::endl;
}
}
}
}