что-то не так с моим кодом инициализации basi c zero? - PullRequest
0 голосов
/ 18 марта 2020
#include <iostream>
int main()
{

int x{ 19 };
std::cout << "Hola!" << '\n';
std::cout << "Me llamo Kay\n";
std::cout << "And I am " << x << " years old\n";
std::cout << "Who are you?\n";
int y{};
std::cin >> y;
std::cout << "You are " << y << "?" << '\n';
return 0;
}

Итак, я хочу, чтобы код запускал программу, которая выглядит так:

  1. Привет!
  2. Me llamo Kay
  3. И мне 19 лет
  4. Кто вы?
  5. [пользователь вводит что угодно]
  6. Вы [пользователь вошел]?

Но вместо этого я получаю:

  1. Hola!
  2. Me llamo Kay
  3. А мне 19 лет
  4. Кто ты?
  5. [user вводит что угодно]
  6. Вы 0?

Редактировать: введите описание изображения здесь

1 Ответ

1 голос
/ 18 марта 2020

Вы объявили y как целое число. Это означает, что y может содержать только число. В вашем случае вы хотите, чтобы содержать std :: string. Это означает любой текст, такой как текст, введенный пользователем. Так что просто измените int y{} на std::string y;. И не забывайте, что вы можете объявить переменную только один раз в c ++, поэтому вам придется удалить одно из объявлений для y.

...