我正在制作一个游戏,用户必须阻止人们侵入他们公司的数据库/安全性。
当前,我有一个变量int threats;
,可以为其分配一个值。这行不通,因为我需要具有自己类型的多个威胁,例如DDos或恶意软件,并且它们还需要名称,例如$ DDoSThreat%。
这已经杀死我好几个星期了,所有帮助将不胜感激。
答案 0 :(得分:1)
您本可以使用std::vector<>
使用单个变量来存储多种结构类型。
查看以下内容:
#include <iostream>
#include <vector>
struct Malware {
std::string name;
bool danger;
};
void getMalwareDetails(Malware); // parameter: struct
int main(void) {
std::vector<Malware> malware; // HERE'S WHAT I'M TALKING ABOUT
Malware mTemp; // for temporary
char ask;
do {
std::cout << "Malware name and is that danger (1/0)? : ";
std::cin >> mTemp.name >> mTemp.danger;
malware.push_back(mTemp); // adds the info to struct
std::cout << "Add more? (Y/n): ";
std::cin >> ask;
} while (ask == 'Y' || ask == 'y');
for (int i = 0; i < malware.size(); i++)
getMalwareDetails(malware[i]); // get the struct info
return 0;
}
void getMalwareDetails(Malware m) {
std::cout << "Name: " << m.name << " Danger?: " << m.danger << std::endl;
}
创建一个struct
,使用std::vector<STRUCT_NAME>
,在每次迭代中将struct值添加到vector变量中,然后最后显示它们。同样,您可以为DDos
使用一个以上的结构。
示例输出
Malware name and is that danger? : $DDoSThreat% 1 // --- INPUT
Add more? (Y/n): y
Malware name and is that danger? : Trojan 1
Add more? (Y/n): y
Malware name and is that danger? : Google 0
Add more? (Y/n): n
Name: $DDoSThreat% Danger?: 1 // --- OUTPUT
Name: Trojan Danger?: 1
Name: Google Danger?: 0