这些是方向:
使用getline()
将一行用户输入转换为字符串。输出线。 (3分)
的实施例
输入文字 IDK,如果我去的话。这是我BFF的生日。
您输入了 IDK,如果我要去的话。这是我BFF的生日。
搜索字符串(使用find()
)查找常用缩写,并打印每个找到的缩写列表及其解码含义。 (3分)
的实施例
输入文字 IDK,如果我去的话。这是我BFF的生日。
您输入了 IDK,如果我要去的话。这是我BFF的生日。
支持这些缩写:
BFF - 永远最好的朋友 IDK - 我不知道 JK - 开个玩笑 TMI - 信息太多了 TTYL - 稍后与您联系
我一直在尝试编码并获得6/6可能的积分,但我最终获得3/6。
#include <iostream>
#include <string>
using namespace std;
int main() {
string input;
cout << "Enter text: ";
getline(cin, input);
cout << endl <<"You entered: " << input << endl;
if (input.find("BFF") && input.find("IDK"))
{
cout << "BFF: best friend forever" << endl;
cout << "IDK: I don't know" << endl;
}
if (input.find("JK") && input.find("TMI") && input.find("TTYL"))
{
cout << "JK: just kidding" << endl;
cout << "TMI: too much information" << endl;
cout << "TTYL: talk to you later" << endl;
}
return 0;
}
我没有得到最后3分:
比较输出 0/2
输入 IDK,如果我去。这是我BFF的生日。
您的输出
输入文字:
你输入了:IDK,如果我去的话。这是我BFF的生日。
BFF:永远最好的朋友
IDK:我不知道JK:开玩笑
TMI:信息太多
TTYL:稍后再与您联系
预期产出 输入文字:
你输入了:IDK,如果我去的话。这是我BFF的生日。
BFF:永远最好的朋友
IDK:我不知道比较输出 0/1
输入 好照片,TMI哈哈JK。 TTYL
您的输出
输入文字:
你进入了:好的照片,TMI哈哈JK。 TTYL
BFF:永远最好的朋友
IDK:我不知道预期输出
输入文字:
你进入了:好的照片,TMI哈哈JK。 TTYL
JK:开玩笑
TMI:信息太多
TTYL:稍后再与您联系
答案 0 :(得分:0)
显然你的函数调用在某些点评估为true而在其他点调用false。 Find()返回找到的子字符串的第一个char的位置,如果没有找到这样的子字符串,则返回npos = -1。真实的陈述是评估为非零数字的陈述。 False评估为0。
在比较输出0/2中,所有内容都计算为非零值。因此,一切都打印出来了。在0/1中,一个值必须为0. BFF和IDK打印,因为它们是-1,其余的不是。 (只是我的2¢,也许有人可以确认你的代码中的值是什么评估的)
答案 1 :(得分:0)
#include <iostream>
#include <string>
using namespace std;
int main() {
string text;
cout << "Input an abbreviation:" << endl;
getline(cin, text);
if (text.find("LOL") != string::npos){
cout << "laughing out loud" << endl;
}
else if (text.find("IDK") != string::npos){
cout << "I don't know" << endl;
}
else if (text.find("BFF") != string::npos){
cout << "best friends forever" << endl;
}
else if (text.find("IMHO") != string::npos){
cout << "in my humble opinion" << endl;
}
else if (text.find("TMI") != string::npos){
cout << "too much information" << endl;
}
else{
cout << "Unknown" << endl;
}
return 0;
}
答案 2 :(得分:-2)
删除条件: input.find(“ IDK”)