#c #visual-c #cin
#c #visual-c #cin
Вопрос:
#include<iostream>
using namespace std;
int main()
{
int age;
char name;
cout<<"Enter age and name: ";
cin >> age >> name;
cout <<endl <<"your age: "<< age << endl << "name is: "<< name;
return 0;
}
Как выглядит прогон:
Комментарии:
1. Сколько букв вы ожидаете сохранить в одной
char
переменной?2. Переменная
char name
может содержать только одну букву. Вам нужен массив символов для хранения целого слова.3.
char name
->std::string name
и вперед. Также я бы проанализировал отдельно, если у кого-то есть имя, начинающееся с числа, допустимого в некоторых юрисдикциях.
Ответ №1:
Используйте строку вместо символа. Символ получает только первую букву ввода. Код должен выглядеть следующим образом.
#include<iostream>
using namespace std;
int main() {
int age = 0;
string name = "";
cout<<"Enter your age and name: ";
cin >> age >> name;
cout << endl;
cout << "Your age is " << age << endl;
cout << "Your name is " << name << endl;
return 0;
}
Если вам требуется использовать символ, вы можете попробовать использовать вектор.
#include <iostream>
#include <vector>
using namespace std;
vector<char> _myStr;
void DisplayList () {
cout << "Your name is: ";
for (int i = 0; i < _myStr.size(); i ) {
cout << _myStr[i];
}
cout << endl;
}
void ConvertToVector (string theStr) {
for (int i = 0; i < theStr.length(); i ) {
_myStr.push_back(theStr[i]);
}
}
int main () {
int age = 0;
string name = "";
cout << "Enter your age and name: ";
cin >> age >> name;
cout << endl;
ConvertToVector (name);
cout << "Your age is: " << age;
DisplayList ();
return 0;
}
Ответ №2:
Используйте string вместо char …
#include<iostream>
#include <string>
using namespace std;
int main()
{
int age;
string name;
cout<<"Enter age and name: ";
cin >> age >> name;
cout <<endl <<"your age: "<< age << endl << "name is: "<< name;
return 0;
}