我正在开发一个个人 C++ 项目,其中一项功能是保存联系信息。当涉及到地址时,我希望该州以缩写格式保存。
我正在研究一种方法,该方法将接受状态全名的字符串输入并返回 2 个字符状态缩写的字符串值。话虽这么说,我一直在与一些朋友讨论最好的方法来做到这一点。截至目前,我已经完成了以“A”开头的状态;但在我了解其他 47 个州之前,我想通过提出这个问题来扩大我的头脑风暴。如果有“更好”或更有效的方法来实现这一点?请看我到目前为止的功能。
std::string Address::formatStateInput(std::string stateInput){
char firstLetter = toupper(stateInput.at(0)); //makes first character capital for easy checking
if(firstLetter == 'A'){
char letterToCheck = toupper(stateInput.at(3)); //makes fourth character capital for easy checking
//Alabama
if (letterToCheck == 'B'){
return "AL";
}
//Alaska
else if (letterToCheck == 'S'){
return "AK";
}
//Arizona
else if (letterToCheck == 'Z'){
return "AZ";
}
else{
return "NULL";
}
}
else{return "NULL";}
}