void MovieDatabase:: addActor(const string movieTitle, const string actorFirstName, const string actorLastName, const string actorRole){
bool found = false;
Movie* temp;
for(Movie* m= headMovie; m != NULL; m = m-> next){
if(m-> title == movieTitle){
found = true;
temp = m;
break;
}
}
if(found){
if(headCast == NULL)
headCast = new Cast(actorFirstName, actorLastName, actorRole, movieTitle);
else{
Cast *c = new Cast(actorFirstName, actorLastName, actorRole, movieTitle);
Cast *temp = headCast;
for(Cast* cur = headCast; cur -> next != NULL; cur = cur -> next){
if(cur ->next -> lastName < actorLastName){
temp = temp -> next;
}
else{
c -> next = cur -> next;
temp -> next= c;
break;
}
}
}
}
else
cout << "The movie with a " << movieTitle << " does not exist in the database,you can not add the actor. " << endl;
size++;
}
大家好我編輯的代碼,我現在不採取任何故障加入的人。但是,它沒有顯示任何輸出。這意味着它不會添加任何東西。 無論如何,我正在發送顯示代碼。
void MovieDatabase:: showActors(){
for(Cast * cur= headCast; cur != NULL; cur = cur -> next){
cout << cur -> lastName << endl;
}
}
您的修改已不是固定我在答覆指出錯誤。現在你在循環中檢查cur-> next而不是cur,並且因爲它將以NULL開始,所以你永遠不會進入循環,也不會添加任何東西。 – JasonD