그래서 여기에 클래스 정의가있는 Car를 작성한 다음 carObject를 작성합니다. 사용자가 carObject의 모든 변수 값을 입력하길 원합니다. 여기서 보았 듯이 사용자 입력을 얻을 수 있었지만이 문제에 대한 내 접근 방식은 비효율적입니다.C++에서 클래스 객체의 문자열 변수를 반복하는 방법은 무엇입니까?
첫 번째 입력을 제외한 모든 사용자 입력이 매우 비슷하다는 것을 알았습니다. 선언문이나 문장 블록을 반복 할 때마다 루프를 사용하여 매번 변수를 변경하고 싶습니다. 루프의 첫 번째 반복에 대해서만 다른 입력을 입력하기 위해 if 문을 넣고 싶습니다. 나는 bash에서 문자열 변수를 사용하여 변수 이름을 나타낼 수 있지만 C++에서 가능한지 여부는 알 수 없습니다.
개체 이름은 변경되지 않지만 개체 이름은 변경되지 않습니다. 또한 사용자 입력에 동일한 단어를 사용합니다.이 단어는 매 반복마다 변경해야하는 것이 바람직합니다. 비슷한 이름의 일련의 배열도 있습니다. 이 배열의 목적은 특정 변수에 대해 사용 가능한 옵션을 사용자에게 알려주는 것입니다.
이전 프로그래밍 경험이 있지만 C++에 비교적 익숙합니다. 다른 기능을 호출하는 것과 관련된 문제의 해결책으로 사용되는 코드 블록이 제 목적에 적합합니다. 여기에 내 코드가있다.
#include <iostream>
#include <string>
using namespace std;
class Car {
public:
string Name;
string Model;
string Color;
string Transmission;
string Category;
};
int main() {
Car CarObject;
string modelOptions [3] = { "Ferrari", "Porsche", "Nissan" };
string colorOptions [4] = { "Blue", "Red", "Green", "White" };
string transmisionOptions [2] = { "Automatic", "Manual" };
string categoryOptions [3] = { "A", "B", "C" };
cout << "Enter " << "name" << " for Car 1." << endl;
cin >> carObject.Name;
cout << endl;
cout << "Enter " << "model" << " for Car 1." << endl;
cout << "Options are:";
for (const string &text: modelOptions) {
cout << " " << text;
}
cout << "." << endl;
cin >> carObject.Model;
cout << endl;
cout << "Enter " << "color" << " for Car 1." << endl;
cout << "Options are:";
for (const string &text: colorOptions) {
cout << " " << text;
}
cout << "." << endl;
cin >> carObject.Color;
cout << endl;
cout << "Enter " << "transmission" << " for Car 1." << endl;
cout << "Options are:";
for (const string &text: transmissionOptions) {
cout << " " << text;
}
cout << "." << endl;
cin >> carObject.Transmission;
cout << endl;
cout << "Enter " << "category" << " for Car 1." << endl;
cout << "Options are:";
for (const string &text: categoryOptions) {
cout << " " << text;
}
cout << "." << endl;
cin >> carObject.Category;
cout << endl;
...
return 0;
}
사용자 입력을 예측할 수있는 방법을 묻는 질문을 할 수 있습니까? –
일반적인 "필드의 사용자 입력"코드 블록에 해당하는 함수를 정의하십시오. 그 매개 변수에는 옵션 벡터가 포함됩니다. 결과는 문자열입니다. –
"사용자 입력 예측"이란 무엇입니까? 각 "입력 블록"의 for 루프는 해당 "options"배열을 반복하고 사용자가 입력 할 수있는 모든 옵션을 표시합니다. – Galaxy