하나의 문자열을 인쇄 할 수 있습니다. 하지만 두 개의 문자열을 추가하려고하면 첫 번째 문자열 만 인쇄됩니까? curr은 연결된 목록의 시작입니다. 한 국가를 추가하고 인쇄하도록 프로그램에 지시하면 정보가있는 국가가 인쇄됩니다. 그러나 두 나라를 추가하면 첫 번째 국가 만 인쇄됩니다.둘 이상의 문자열을 인쇄 할 수없는 이유는 무엇입니까?
void LinkedList::printList()
{
curr = head;
while (curr)
{
cout << "Country Name: " << curr->name << ", " << "Gold: " << curr->
gold << ", " << "Silver: " << curr->silver << ", " << "Bronze: " << curr->bronze << "\n";
curr = curr->next;
}
}
bool LinkedList::addCountry(string newName, int gold, int silver, int bronze) {
if (head == NULL)// Adding first element
{
head = new struct Country;
if (head == NULL) return false; // could not create head linked list country
head->name = newName;
head->gold = gold;
head->silver = silver;
head->bronze = bronze;
head->next = NULL;
return true;
} else {
curr = head;
while (curr) {
curr = curr->next;
}
curr = new struct Country;
if (curr == NULL)
return false;
curr->name = newName;
curr->gold = gold;
curr->silver = silver;
curr->bronze = bronze;
curr->next = NULL;
return true;
}
}
두 번째 목록이 올바르게 끝났습니까? – tkausl
@AndrewL 아니, 그럴 필요 없어. –
문자열을 연결된 목록에 어떻게 추가 할 수 있는지 확인할 수 있습니까? –