Wie search-array von structs für ein string(name) und return-info für die Zeichenfolge(name)?

Mit diesem Programm, wenn ich einen Namen eingeben, wird nichts zurückgegeben.

Wie würde ich dieses Problem beheben?

Sind es 1000 Zeilen info, der wie folgt aussieht:

114680858 19670607 Matilda Vincent MI

114930037 19471024 Desdemona Hannover ID

115550206 19790110 Xanadu Perlman ND

116520629 19630921 Alexander Hall SD

117050976 19301016 David Neunaugen GA

119610646 19650202 Thomas Porlock IL

120330928 19621126 Cary Cartman NC

etc......

Code:

struct employees
{
    int ss_number;//social security
    int dob;//date of birth YYYY/MM/DD Ex.) 19870314=1987/03/14
    string f_name;
    string l_name;
    string state; //state of residence
};

void read_file()//read file into array of 1000 structs
{
    ifstream data("/home/www/class/een118/labs/database1.txt");
    employees array[1000]
    if(!data.fail())
    {
        int i;
        for(int i=0;i<1000;i++)
        {
            data>>array[i].ss_number
                >>array[i].dob
                >>array[i].f_name
                >>array[i].l_name
                >>array[i].state;
        }
        for(int i=0;i<1000;i++)
        {
            cout<<array[i].ss_number>>" "<<array[i].dob>>" "<<array[i].f_name>>" "<<
            array[i].l_name>>" "<<array[i].state;
        }
    }
}

void print_person(employees e)
{
    cout<<e.ss_number>>" "<<e.dob>>" "<<e.f_name>>" "<<e.l_name>>" "<<e.state;
}

void search(employees array[])//type in name and get that persons ss_number,dob etc...
{
    string first;
    string last;
    cout<<"Enter name";
    cin>>first>>last;
    for(int i=0;i<1000;i++)
    {
        if(array[i].f_name==first && array[i].l_name==last)
        {
            print_person(array[i]);
        }
    }
}

void main()
{
    employees array[10];
    read_file();
    search(array);
}
// ...
  • Was waren die Werte der Variablen, wenn Sie den debugger?
  • Denken Sie daran, dass == führt zwischen groß-und Kleinschreibung Vergleich mit strings. Sie können konvertieren möchten, um alle Kleinbuchstaben oder Großbuchstaben vor dem Vergleich.
  • Ihre cout Linien sind voll von >> .. ich auch nicht
InformationsquelleAutor dudicus | 2014-04-17
Schreibe einen Kommentar