while (bool) 루프를 만들려고 시도한 후에 벡터에 내용이 없기 때문에 벡터의 내용을 볼 수 없어 실패했습니다. 사용자 (예 : 여기에 코드의 중요한 부분이 있습니다.외부에서 루프를 끊을 수 있습니까?
편집 : 작업 코드, 그러나 = 의미는 무엇입니까?
#include "std_lib_facilities.h"
class Name_pairs
{
public:
vector<string>names;
vector<double>ages;
bool test();
string read_names();
double read_ages();
void print();
};
string Name_pairs::read_names()
{
string name;
cout << "Enter name: ";
cin >> name;
names.push_back(name);
return name;
}
double Name_pairs::read_ages()
{
double age;
cout << "Enter corresponding age: ";
cin >> age;
ages.push_back(age);
cout << endl;
return age;
}
void Name_pairs::print()
{
for(int i = 0; i < (names.size()-1) && i < (ages.size()-1); ++i)
cout << names[i] << " , " << ages[i] << endl;
}
bool Name_pairs::test()
{
if(ages.empty() || names.empty()) return true;
if(ages.back() = 0 || names.back() == "0"){
return false;}
return true;
}
int main()
{
Name_pairs np;
cout << "Enter names and ages. Use 0 to cancel.\n";
bool finished = false;
while(!finished){
finished |= "0" == np.read_names();
finished |= 0 == np.read_ages();}
np.print();
keep_window_open();
}
코드를 이해하는 데 문제가 있습니다. 두 번째 블록 이후에 세 번째 블록이 있습니까? 아니면 루프의 일부입니까? 너무 길지 않다면 hte loop의 전체 몸체 (조건 포함)를 게시 할 수 있습니까? – Falaina
물론 문제가 없습니다. 내가 시도한 bool 테스트로 게시 할 것입니다. – trikker
@Trikker : 제발 코드 서식을 수정하십시오. 나는 당신을 위해 그것을 고쳤지만, 당신의 편집은 온통 밟아 버렸습니다. –