2017-02-26 11 views
-3

Ich habe LinkedList erstellt und ich versuche, den Benutzer für eine von ihnen zu ändern. Bisher sucht die while-Schleife nach einer Kurs-ID. Wenn sie gefunden wird, wird der Benutzer aufgefordert, sie zu bearbeiten. Aber das Problem fragt den Benutzer zweimal nach dem Bearbeiten.Wie komme ich aus während Schleife

Ich habe versucht mit "Pause" unter der if Anweisung und sogar exit(0), aber es funktioniert nicht. Es hält mich zweimal in der while-Schleife, wenn es mich einmal rausholen soll, nachdem die if-Anweisung ausgeführt wurde.

template <typename T> node<T>* ModifyByCourseId(node<T> *front, string className, string courseId) 
{ 
    node<T> *curr = front; 
    while (curr != NULL) 
    { 
     if (curr->classId == courseId) { 
      cout << curr->classId << " " << curr->classDescrip << "." << curr->credit << ":" << curr->creditHr 
       << curr->Prerequiste << ":" << curr->PreReq << endl; // print the current node's value to the screen 
      cout << "Please Modify course title." << endl;   
      getline(cin, curr->classDescrip); 
      cout << "Please enter Credit hour(s)." << endl; 
      cin >> curr->creditHr; 
      cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 
      cout << "Please enter class pre-requisite(s) if there are more than one separate them by a space." << endl; 
      getline(cin, curr->PreReq); 
      break; 
     } 
     curr = curr->next; 
    } 
    return NULL; 
} 
+4

@WasiAhmad Warum? Mit == ist genau das Gleiche. –

+0

Ich glaube nicht, dass "Pause" nicht funktioniert. Überprüfen Sie, ob Sie überhaupt den 'if'-Block drücken. –

+1

@WasiAhmad Ermutigt von wer? Haben Sie eine Quelle für diesen Anspruch? –

Antwort

0

Ich habe das Problem herausgefunden. Ich habe die Funktion zweimal aufgerufen, wenn die Anweisung

Verwandte Themen