lenguaje c cargar "clientes" sin repetir

Iniciado por darkwilly08, 20 Marzo 2016, 22:06 PM

0 Miembros y 1 Visitante están viendo este tema.

darkwilly08

buenas, no les pego todo el codigo para que no sea tan extenso. Basicamente lo que hago es cargar el cliente en una estructura auxiliar y luego comparo con todos los clientes posibles (mediante el telefono), sino esta, lo cargo en la posicion que corresponde. El programa anda, hace todo lo que debe hacer, pero me parece bastante engorroso la manera en que realice la verificacion de si el cliente ya esta o no cargado. Ojala puedan aconsejarme como hacer para no usar el "break" o ese doble "IF" adentro y fuera del ciclo. Gracias, si alguien le interesa todo el codigo que me avise, no hace grandes cosas xd.

for(aux_indice = 0; aux_indice < CANT_CLIENTES; aux_indice++)
        {
           aux_comparacion = strcmp(aux_cliente.telefono, clientes[aux_indice].telefono);
           if(aux_comparacion == 0)
           {
               aux_cliente.n_orden = aux_indice+1;
               break;
           }
        }
            if(aux_comparacion == 0)
            {
                system("cls");
                printf("\neste cliente fue ingresado\n");
                indice = indice - 1;
                ciclo_buscar_cliente(aux_cliente.n_orden,clientes);

            }
            else
            {
                clientes[indice].n_orden = aux_cliente.n_orden;
                strcpy(clientes[indice].nombre, aux_cliente.nombre);
                strcpy(clientes[indice].apellido, aux_cliente.apellido);
                strcpy(clientes[indice].telefono, aux_cliente.telefono);

            }