【发布时间】:2020-10-03 00:21:21
【问题描述】:
CLICK HERE TO SEE THE IMAGE PROBLEM
C++ - 我的代码有一个大问题,我不明白我在哪里做错了,因为我没有得到我想要的结果,例如问题问我的第一个输出:(
Outputs that I'm getting wrong
#include <iostream>
#include <string>
using namespace std;
int main() {
string firstName, middleName, lastName, theName;
getline(cin, theName);
int findN = theName.find(" ");
firstName = theName.substr(0, findN);
int findN2 = theName.find(" ", findN + 1);
if (findN2 != string::npos){
middleName = theName.substr(findN2 + 1, findN2 - findN - 1);
lastName = theName.substr(findN2 + 1, theName.length() - findN2 - 1);
cout << lastName << ", " << firstName[0] << "." << middleName[0] << "." << endl;
}
else {
lastName = theName.substr(findN + 1, theName.length() - findN - 1);
cout << lastName << ", " << firstName[0] << " . " << endl;
}
return 0;
}
【问题讨论】:
-
你能把原始代码粘贴到这里吗?
-
好的,我对我的帖子做了编辑,现在你可以看到我的完整代码了:D
-
????????请在此处以纯文本形式发布代码、错误、示例数据或文本输出,而不是难以阅读、无法复制粘贴以帮助测试代码或在答案中使用的图像,并且对依赖的人构成障碍在屏幕阅读器上。您可以编辑问题以在问题正文中添加代码。为了便于格式化,请使用
{}按钮标记代码块,或使用四个空格缩进以获得相同的效果。 屏幕截图的内容无法搜索、作为代码运行或复制和编辑以创建解决方案。 -
中间名不是
middleName = theName.substr(findN + 1, findN2 - findN - 1);吗?
标签: c++ arrays string if-statement helper