gpt4 book ai didi

c++ - C_string 数组,将名字和姓氏分配给 fullName(C++ 初学者)

转载 作者:行者123 更新时间:2023-11-28 04:54:12 31 4
gpt4 key购买 nike

我正在上我的第一个 CS 课,但我无法编译它。我查看了我教授的笔记、讲座和示例,但我输入的内容似乎并不重要,这是一个错误。我收到 38 个错误,而且只有 25 行代码!许多错误没有任何意义,例如,“expected a ;”即使已经有一个 ';',或者在 main 之后“预期有一个 {”,即使它显然在那里。据我所知,visual studio 至少应该编译我的代码。非常感谢任何帮助!

分步说明/正确输出:

编写一个产生以下输出的程序:

/* 输出

请输入您的年龄:21

请输入姓氏:李

你好汤姆·李。你今年 21 岁。

按任意键*/

1.) 声明一个名为:firstName 的数组

  • 该数组是一个 c_string,即它是一个以 null 结尾的字符数组。

  • 数组大小为10。

  • 在声明时为其分配名字。

2.) 声明一个名为:lastName 的数组

  • 数组是一个c_string,

  • 数组大小为10。

  • 不要给它起名字。

3.) 声明一个名为:fullName 的数组

  • 数组是一个c_string,

  • 数组大小为20。

  • 不要给它起名字。

4.) 在 main() 中:

  • 首先询问用户的年龄。

  • 读取年龄并将其分配给变量。

  • 然后询问用户姓氏。

  • 读取姓氏并将其分配给 lastName。

  • 将名字和姓氏分配给 fullName。

  • 确保在名称之间包含一个空格。

5.) 调用名为:displayInfo() 的函数。

  • 该函数应输出全名和年龄。 (查看输出)

我的代码:

#include <iostream>
#include <string>
using namespace std;

void displayInfo(char fullName, int age)

int main
{
char firstName[10] = "Bob";
char lastName[10] = { 0 };
char fullName[20] = { 0 };
int age;
cout << "Enter your age: ";
cin >> age;
cout << "\nEnter the last name: ";
cin.getline(lastName, 10);

displayInfo(fullName, age)

strcpy_s(fullName, firstName);
strcat_s(fullName, " ");
strcat_s(fullName, lastName);
strcat_s(fullName, ".");

return 0;
}
displayInfo(char fullName, int age)
{
cout << "Hello " << fullName << "You are " << age << "years old.";
}

最佳答案

你的代码有一些错误,这里有一些更正(在评论中):

#include <iostream>
#include <fstream>
#include <cstring> // include this for strcpy() and strcat()

using namespace std;

// You need to have char* fullname as you are passing a cstring not a character
void displayInfo(char* fullName, int age); // You forgot the semi colon here

int main(void) // You need to have input parameters to main() it can be void
{
char firstName[10] = "Bob";
char lastName[10] = "0"; // Not an error but you should initialize like this
char fullName[20] = "0"; // same here
int age;
cout << "Enter your age: ";
cin >> age;
cout << "\nEnter the last name: ";
cin.getline(lastName, 10);

strcpy(fullName, firstName); // Just use strcpy
strcat(fullName, " "); // Just use strcat
strcat(fullName, lastName); // Just use strcat
strcat(fullName, "."); // Just use strcat

// Move the display after you do string manipulation
displayInfo(fullName, age); // You forgot semi colon here

return 0;
}

// You need to have char* fullname as you are passing a cstring not a character
void displayInfo(char* fullName, int age) // You forgot the return type of this function
{
cout << "Hello " << fullName << "You are " << age << "years old.";
}

关于c++ - C_string 数组,将名字和姓氏分配给 fullName(C++ 初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47540019/

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