c++ - 需要有关此文本消息解码器 (C++) 练习的帮助

标签 c++

这些是方向:

  1. 使用 getline() 将一行用户输入转换为字符串。输出线。 (3 分)

    例如:
    Enter text: 如果我去,请输入 IDK。今天是我 BFF 的生日。
    你输入了:如果我去的话,我知道。今天是我 BFF 的生日。

  2. 在字符串中搜索(使用 find())常见的缩写并打印每个找到的缩写及其解码含义的列表。 (3 分)

    例如:
    Enter text: 如果我去,请输入 IDK。今天是我 BFF 的生日。
    你输入了:如果我去的话,我知道。今天是我 BFF 的生日。

支持这些缩写:

BFF -- 永远最好的 friend
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 if I'll go。今天是我 BFF 的生日。

BFF:永远最好的 friend

IDK:我不知道

JK:开个玩笑

TMI:信息太多

TTYL:待会再谈

预期输出 输入文字:

您输入:IDK if I'll go。今天是我 BFF 的生日。

BFF:永远最好的 friend

IDK:我不知道

比较输出 0/1

输入 不错的照片,TMI 哈哈 JK。 TTYL

你的输出

输入文字:

您输入了:漂亮的照片,TMI 哈哈 JK。 TTYL

BFF:永远最好的 friend

IDK:我不知道

预期输出

输入文字:

您输入了:漂亮的照片,TMI 哈哈 JK。 TTYL

JK:开个玩笑

TMI:信息太多

TTYL:待会再谈

最佳答案

显然,您的函数调用在某些点上的计算结果为真,而在其他点上为假。 Find() 返回找到的子串第一个字符的位置,如果没有找到这样的子串,则返回 npos = -1。真语句是计算结果为非零数的语句。 False 的计算结果为 0。

在您的比较输出 0/2 中,所有内容都计算为非零值。因此,一切都被打印出来。在 0/1 中,一个值必须是 0。BFF 和 IDK 打印,因为它们是 -1,而其余的则不打印。 (只是我的 2¢,也许有人可以确认您代码中的值的计算结果)

关于c++ - 需要有关此文本消息解码器 (C++) 练习的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40354610/

相关文章:

c++ - 由于查找 Windows.h 时出现问题,无法设置 openGL superBible 示例

c++ - Bison 上下文中使用的 C++ 中的 union

c++ - 如何写is_reference_const函数,使is_reference_const<const int&>::value`为true

c++ - STL 容器有单元测试吗?

c++ - 适用于(C 或 C++)Windows 的文本基础用户界面库?

C++ 委托(delegate)练习

c++ - 从 QGraphicsView 转发按键

c++ - 返回基于模板参数的值

c++ - 我的程序无法写入 Windows 驱动器

c++ - C/C++ 中结构的字段对齐