如何显示数组中5个最重复的记录?

时间:2019-05-23 03:26:45

标签: c++ arrays file vector

我有两个带有客户记录和卡的文本文件

到目前为止,我有

  1. 每次在向量中的名片文件中注册客户时的记录现在,我需要知道向量中5个重复次数最多的客户

感谢您的支持,并分享了用于该方法的代码。

void  MostrarUsuariosTarjetas()//muestra todos los datos de la tarjeta
{
     stCliente mostrarCliente; //estructura cliente
     stTarjeta mostrarTarjeta; //estructura tarjetas


     fstream archivoTarjeta("DATOS//tarjetas.txt", ios::in | ios::binary);
     fstream archivoCliente("DATOS//clientes.txt", ios::in | ios::binary);

     if(archivoTarjeta.fail())
        cerr << "Error al abrir tarjetas.txt" << endl;
    if(archivoCliente.fail())
        cerr << "Error al abrir clientes.txt" << endl;

     else
    {
        //cuento cantidad de clientes
    int countTarjetas = 0;
        while(!archivoTarjeta.eof())
        {
            archivoTarjeta.read((char*)&mostrarTarjeta,sizeof(stTarjeta));
            if(!archivo.eof())
             {countTarjetas++}
        }       
        //para llevar un tope
        char charClientes[countTarjetas];
        bool dec = true;
        int countClientesEncontrados = 0;
         while(!archivo.eof())
             {
                 archivoTarjeta.read((char*)&mostrarTarjeta,sizeof(stTarjeta));

                if(!archivoTarjeta.eof())
                 {  
                    if(dec){charClientes[countClientesEncontrados] = mostrarTarjeta.nombre; dec = false;}
                    else
                    {
                        for(int i = 0; i <countTarjetas ; i++ )
                        {
                            if(charClientes[i] == mostrarTarjeta.nombre)
                            {
                                charClientes[countClientesEncontrados] = mostrarTarjeta.nombre;
                            }
                        }
                    }

                 }

                 countClientesEncontrados++;
             }

        //Mostrar los 5 clientes mas repetidos
        ///
        ///
        ///
            cout << "\n\n\n" ;
    }   
    system("pause");
    system("cls");
    archivoTarjeta.close();
    archivoCliente.close();

 }

感谢您的支持。

0 个答案:

没有答案