入口函数来了
int main () {
const char *filepath = "arknightsworker.xml";
string esc;
tinyxml tinyxml;
int i,j,k,m,n;
/*常数初始化 */
//读取干员总数
int number;
number = tinyxml.xml_read_number(filepath);
if (number == -1) {
cout << "程序运行时出错" << endl << "输入任意非空格、制表、回车字符以退出程序" << endl;
cin >> esc;
return 0;
}
//生成干员对象数组
string in_name;
string in_aptitude;
string in_place;
string in_job;
string in_tag_one;
string in_tag_two;
string in_tag_three;
arknights_worker **worker = new arknights_worker *[number];
TiXmlDocument *xml = new TiXmlDocument();
xml -> LoadFile(filepath);
TiXmlElement *root = xml -> RootElement();
TiXmlElement *first_child_element = root -> FirstChildElement();
TiXmlElement *work = first_child_element -> NextSiblingElement();
if (work == NULL) {
cout << "请检查arknightsdate.xml文件是否正确" << endl;
return 0;
}
for (i = 0;i < number;i ++) {
TiXmlElement *name = work -> FirstChildElement();
in_name = name -> FirstChild() -> Value();
TiXmlElement *aptitude = name -> NextSiblingElement();
in_aptitude = aptitude -> FirstChild() -> Value();
TiXmlElement *place = aptitude -> NextSiblingElement();
in_place = place -> FirstChild() -> Value();
TiXmlElement *job = place -> NextSiblingElement();
in_job = job -> FirstChild() -> Value();
TiXmlElement *tag_one = job -> NextSiblingElement();
in_tag_one = tag_one -> FirstChild() -> Value();
TiXmlElement *tag_two = tag_one -> NextSiblingElement();
in_tag_two = tag_two -> FirstChild() -> Value();
TiXmlElement *tag_three = tag_two -> NextSiblingElement();
in_tag_three = tag_three -> FirstChild() -> Value();
worker[i] = new arknights_worker(in_name,in_aptitude,in_place,in_job,in_tag_one,in_tag_two,in_tag_three);
if (! work -> NoChildren()) {
TiXmlElement *middle = work -> NextSiblingElement();
work = middle;
}
}
delete xml;
int rand_point,rand_point_work;