gpt4 book ai didi

c - 这是选角吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:13 27 4
gpt4 key购买 nike

抱歉,我什至不知道该给这个标题起什么名字,但是就这样吧。

假设我有:

char Fred[] = "1234 Evergreen Terrace";
char Pete[] = "4567 State Street";
char Mark[] = "123 North Street";

char Name[32];
gets(Name);

而不是写:

if(strcmp(name,"Fred")==0); 
printf("You live at %s\n",Fred);
else if(strcmp(name,"Pete")==0);
printf("You live at %s\n",Pete);
else if(strcmp(name,"Mark")==0);
printf("You live at %s\n",Mark);

有没有一种方法可以通过以下方式跳过所有的 strcmps():

printf("You live at %s\n",<SOMETHING_HERE>Name)

我的需求更复杂,但上面的简单示例应该可以帮助我。我知道这件事已经将近 15 年了,但我就是想不起来。提前致谢!丹

最佳答案

  • 使用字符串的 std::map--> 字符串。
  • 从输入中取出一个字符串
  • 如果在 map 上,打印出来

示例:

#include <map>
#include <string>
#include <iostream>

int main()
{
typedef std::map< std::string, std::string > MapType;
MapType names;

names.insert(std::make_pair("Fred", "1234 Evergreen Terrace"));
names.insert(std::make_pair("Pete", "4567 State Street"));
names.insert(std::make_pair("Mark", "123 North Street"));

std::string input;
std::cin >> input;
MapType::iterator it = names.find(input);
if(it != names.end())
std::cout << input << "lives at: " << it->second << std::endl;

return 0;
}

关于c - 这是选角吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1674117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com