2010-11-22 2 views
0
void Record::Update() { 

string choice; 

cout << "Enter ID: " << endl; 
cin >> IDValue; 
    for(Itr = List.begin() ; Itr !=List.end() ; Itr+) { 
    if(Itr->GetID() == IDValue) 
    { 
    cout << Transit->GetID() << endl; 
    cout << "Would you like to set Name ? (y/n) :"; 
    cin >> choice; 
    if (choice == 'y') 
     cin >> strName; 
    Itr->SetName(strName); 

    cout << Itr->GetName() << endl; 
    cout << Itr->GetLocation() << endl; 
    } 

    } 
} 

Cette fonction trouve un enregistrement par son numéro d'identification unique. Chaque nouvel enregistrement reçoit un numéro d'identification. Si je saisis l'ID 2, la fonction affiche l'enregistrement avec l'ID 2. Comment puis-je modifier l'un des attributs de l'enregistrement? Dans ce cas, l'emplacement de celui-ci.Valeur de mise à jour dans le vecteur

+2

Qui sait. Quel type d'objet est stocké dans ce conteneur et permet-il de modifier l'emplacement? –

+0

Avez-vous des méthodes de mutateur? Est-ce que 'Transit-> SetID (9)' fonctionnera? –

+0

Je déteste quand vous créez un nouveau compte chaque fois que vous posez des questions: * http://stackoverflow.com/questions/3860271 * http://stackoverflow.com/questions/4108853 –

Répondre

0
void RecordList::UpdateLocation() { 

    int IDValue; 
    char* strName; 
    char opt; 

    cout << "Enter ID number to update: " << endl; 
    cin >> IDValue; 
     for(Transit = List.begin() ; Transit !=List.end() ; Transit++) { 
     if(Transit->GetID() == IDValue) 
     { 
     cout << Transit->GetID() << endl; 
     cout << "Would you like to set Name ? (y/n) :"; 
     cin >> opt; 
     if (opt == 'y') 
      cin >> strName; 
     Transit->SetName(strName); 

     cout << Transit->GetName() << endl; 
     cout << Transit->GetLocation() << endl; 
     } 

    } 
} 
+0

Merci, c'était plus facile que je le pensais être. En fait, je viens de créer une nouvelle variable locale, puis je l'ai entrée avec Transit-> SetName (strName); – chief

0

Vous programmez l'objet Transit pour avoir une méthode setXXX(), puis appelez cette méthode. Les itérateurs fonctionnent principalement comme des pointeurs. Vous pouvez donc modifier une variable de classe avec une méthode setter.

Questions connexes