hoe een index zoeken uit een array uit te voeren

ik probeer een index-zoekopdracht voor string uit te voeren, maar het probleem is dat het alleen i [0] print, wat mijn eerste invoer is. als ik een ander item opzoek, werkt het niet. Help alstublieft..     void clist (string fn [], string ln [], int size);

int search_list(const string fn[],const string ln[], int size, string find);

int main(){

    string search;

    cout << "This program searches a list .\n";

    const int total = 3;

    string fn[total];
    string ln[total];

    clist(fn,ln, total);

    cout << "Search contact:____  ";

    cin >> search;

    search_list(fn,ln, total, search);

  return 0;

}

void clist(string fn[],string ln[], int size){

    cout << "Enter " << size << " contact.\n";

    for (int index = 0; index < size; index++)
     cin >> fn[index] >> ln[index] ;

}

int search_list(const string fn[], const string ln[],int size, string search){

   for(int i=0;i
1
Is het een huiswerk? Label het als huiswerk voor het geval dat
toegevoegd de auteur Ruggero Turra, de bron
In de toekomst hoeft u niet dezelfde vraag drie keer op één dag te maken. U kunt uw vragen bewerken als u nieuwe of aanvullende informatie wilt toevoegen.
toegevoegd de auteur Blastfurnace, de bron

2 antwoord

U maakt een lus en geeft deze expliciet de opdracht om break uit te schakelen na de eerste iteratie. Probeer het zo te schrijven:

bool found = false;
for(int i=0;i
1
toegevoegd
bedankt, vlak voor me. Ik heb een vraag off-the-record. hoe heb je C ++ leren kennen ik wil leren en ik heb echt moeite. elke aanbeveling, tutorials of advies anders dan in de praktijk. omdat alleen oefenen niet genoeg is als je bepaalde fouten zoals deze kunt vinden.
toegevoegd de auteur user836910, de bron
@ user836910: het was grotendeels zoals jij, gewoon oefenen. De volgende keer dat je een dergelijke fout maakt, weet je waar je op moet letten, en dat gebeurt pas nadat je er moeite mee hebt gedaan.
toegevoegd de auteur K-ballo, de bron

U hebt een functie nodig die een element heeft om te zoeken, de index van dat element vindt. Schrijf het niet alleen, gebruik std: find op array

#include 
#include 
#include 

int main()
{
   std::string xx[3];
   xx[0] = "zero";
   xx[1] = "one";
   xx[2] = "two";
   int index = std::find(xx, xx+3, "two") - xx;
   if (index < 3) std::cout << "found in position: " << index << endl;
   else std::cout << "not found" << endl;
}

Ik denk dat het in uw geval beter is om ten minste std :: vector of een struct te gebruiken om uw informatie nu op te slaan in de twee arrays

0
toegevoegd
wie is OP? Maar ja ... het lijkt een huiswerk
toegevoegd de auteur Ruggero Turra, de bron
Het lijkt op huiswerk. Misschien kan OP geen std gebruiken: find() ?
toegevoegd de auteur André Caron, de bron
OP staat voor "Original Poster", de persoon die de vraag stelde/de discussie startte.
toegevoegd de auteur André Caron, de bron