Как использовать strstr()?

Я хочу взять данные из файла и сохранить их в строковом массиве, а также выполнить функцию поиска с использованием только небольшого количества информации, такой как тип "j", и программа, способная искать имя данных, которые содержат "j". но моя программа не может работать..... мне интересно, правильно ли я использую strstr() или нет?

мой текстовый файл:

Jason Derulo
5000
Martin Delux
8752
Justin Haber
51855
Alex Zander
52163

а также

кодирование:

#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;
//---------------------------------------------------------------------------------------------------------
typedef struct
{

    char name[30],adv_srh_name[30];
    double balance;

}ACCOUNT;


int main()
{
    ACCOUNT record[31]; 
    int choice,acc_amount=0;

    ifstream openfile("list.txt");              //open text file 
    if (!openfile)
    {
        cout << "Error opening input file\n";
        return 0;
    }

    else
    {
        ACCOUNT temp;
        int i = 0;
        double d = 0;

        while (openfile)
        {
            openfile.getline(temp.name, 30, '\n');

            //consume the newline still in the stream:    
            if ((openfile >> d).get()) { temp.balance = d; }

            record[i] = temp;
            i++;
        }
        openfile.close();               //close text file
        acc_amount = i;
    }

    cout << "Please enter a client name:";
        fflush(stdin);
        cin.getline(adv_srh_name, 30);

        for (int j = 0; adv_srh_name[j] != NULL; j++)
            adv_srh_name[j] = toupper(adv_srh_name[j]);

        cout << adv_srh_name;

        for (int a = 0; a < acc_amount; a++)
        {
            if ((strstr(record[a].name, adv_srh_name)) != NULL)
            {
                cout << "Name :" << record[a].name << "\n";
                cout << "Balance :" << record[a].balance << "\n\n";
            }

        }
        return 0;
    }

0 ответов

Другие вопросы по тегам