【发布时间】:2022-11-12 02:13:39
【问题描述】:
我对 C++ 真的很陌生,所以如果我的代码很糟糕,我提前道歉。我有一个生日问题,我需要创建一个程序,询问总共 5 个朋友的姓名和他们相应的生日,并将这些值存储在二维数组中,然后在最后打印出来。我不知道如何做到这一点,但这是我迄今为止完成的最好的尝试。任何建议和反馈表示赞赏!
// Import libraries
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
// Main function
int main() {
// Declare variables
const char NAME = 5,
BIRTHDAY = 5;
// Define array
char birthSimulator [NAME][BIRTHDAY];
// Output header
cout << "\n\t\t\tWelcome to the Birth simulator 0_o";
// Print string stored in array
for (int i = 0; i < NAME; i++){
cout << "\nThe name of the " << birthSimulator[NAME] << " friend is: ";
getline(cin, birthSimulator[NAME][BIRTHDAY]);
}
for (int i = 0; i < BIRTHDAY; i++){
cout << "\nThe name of the " << birthSimulator[BIRTHDAY] << " friend is: ";
getline(cin, birthSimulator[NAME][BIRTHDAY]);
}
for (int i = 0; i < NAME; i++){
cout << birthSimulator[NAME] << "'s birthday is on: " << birthSimulator[BIRTHDAY];
}
return 0;
}
【问题讨论】:
-
出色地。
birthSimulator是您要将所有数据填充到其中的数组的名称。在第一个循环中,您在对 cout 的调用中从中提取数据,但其中还没有任何内容。类似的事情发生在第二个循环中。接下来要考虑的是,您正在创建一个包含 25 个元素的数组,但您只需要存储 10 条数据。你有一个 5x5 数组,实际上,你想要一个 5x2 数组。接下来要考虑的是birthSimulator[someInteger]引用数据中的行或列,您需要birthSimulator[someInteger][someOtherInteger]引用单个项目。 -
虽然您的背景故事对某些人来说肯定很有趣,但如果从问题开始,您的问题会更好。 (另见How to Ask。)如果你真的相信你的故事为问题增加了价值,那么问题的结尾是一个更好的地方。
-
“感谢任何建议和反馈!”-- 这不是本网站的工作方式。目的是你把你的任务分解成单独的步骤,选择一您遇到问题的步骤,并询问您的问题。从长远来看,更抽象的问题往往比专注于特定任务的问题更有用。
-
目前尚不清楚,但您想在二维数组中保存 5 个人的姓名和生日?
-
@JaMiT 我前言说我不知道自己在做什么是有原因的,哈哈。我不知道你为什么要给我讲课而不是提供任何有价值的反馈。我来这里是为了更好地理解,不要被技术势利的人讲课。 :P
标签: c++ arrays string multidimensional-array char