Resultados 1 al 2 de 2

Duda con arreglo

  1. #1 Duda con arreglo 
    Iniciado
    Fecha de ingreso
    Sep 2010
    Mensajes
    9
    Descargas
    1
    Uploads
    0
    Hola tengo una duda con un arreglo, el problema es este tengo determinada estructura y un arreglo. tengo que llenar el arreglo segun los datos que desee.
    pero el problema es que no se como hacer para ingresarle otro dato al arreglo sin sobreescribir los demas osea que tengo que saber si al ingresar el dato en la posicion la posicion este vacia. aparte tengo que poder eliminar un dato del arreglo. porfavor necesito su ayuda.
    Es en dev c++


    void creaciondeclientes()
    {
    printf("creacion de cuenta, ingrese los siguientes datos\n\n");
    int cantidancuentas=0;
    for(int i=0; i <=5; i++)
    {
    printf("Nombre Cliente: ");
    scanf("%s", &cuentah[i].nombre);
    printf("\nApellido Cliente: ");
    scanf("%s", &cuentah[i].apellido);
    printf("\nfecha de nacimiento: ");
    scanf("%s", cuentah[i].fechanacimiento);
    printf("\nDireccion del Cliente: ");
    gets(cuentah[i].direccion);
    gets(cuentah[i].direccion);
    printf("\ncorreo electronico del cliente: ");
    scanf("%s", &cuentah[i].correo);
    printf("\nGenero del Cliente: ");
    scanf("%s", &cuentah[i].genero);
    printf("\ncodigo personal de la cuenta: ");
    scanf("%s", &cuentah[i].numerodcuenta);
    printf("\nestado de la cuenta -activa- -cuenta no activa- : ");
    scanf("%s", &cuentah[i].estado);
    printf("\nsaldo inicial de la cuenta: ");
    scanf("%f", &cuentah[i].saldo);

    if (cuentah[i].saldo > 0)
    {
    system("cls");
    printf("\n\ncuenta creada correctamente\n");
    system("pause");
    system("cls");
    cantidancuentas ++;
    cuentah[i].codigo = cantidancuentas;
    }

    else
    {
    system("cls");
    printf("\nla cuenta no puede crearse con un saldo igual o menor a 0");
    i--;
    }

    }
    system("pause");
    system("cls");
    }

    Aqui pido los datos pero no se como hacer el resto como podria resolverlo.
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Sep 2003
    Mensajes
    1.384
    Descargas
    21
    Uploads
    5
    Primero que nada unos detalles de tu código:
    • No se recomienda el uso de gets() por que no hace ningún control sobre el tamaño de la entrada, lo mismo pasa con scanf en la forma en que está utilizado.
    • Cuando el miembro de una estructura es un arreglo, este es un puntero, es decir, no es necesario aplicar el operador de referencia para pasárselo a scanf().


    En cuanto a tus preguntas, para saber si un elemento está borrado o no, o bien utilizás un nuevo miembro en la estructura a modo de flag de borrado , o podés verificar si hay datos o no en los distintos miembros de la estructura.

    Para el borrado, lo mas simple es usar un único memset:
    Código:
    memset(cuentah[i],0,sizeof(*cuentah));
    o un memset por cada miembro:
    Código:
    memset(cuentah[i].nombre,0,sizeof(cuentah->nombre));
    memset(cuentah[i].apellido,0,sizeof(cuentah->apellido));
       .
       .
       .
    o
    Código:
    *cuentah[i].nombre = 0;
    *cuentah[i].apellido = 0;
       .
       .
       .
    En realidad hay otras opciones, pero con eso debería bastarte para hacer pruebas, claro está que depende de que opción elijas para considerarlos vacíos o no a los elementos del arreglo.


    Saludos
    - Me desagrada
    - ¿Por qué?
    - No estoy a su altura.
    ¿Ha respondido así alguna vez un hombre?

    Friedrich Nietzsche



    Citar  
     

Temas similares

  1. Arreglo una cosa y se me rompe otra del AXIL ADC730 Combo
    Por klobuznik en el foro TELEVISION
    Respuestas: 2
    Último mensaje: 03-10-2008, 16:57
  2. Para el Administrador: Pequeño Arreglo Plis
    Por DarkFireSold en el foro HACK HiSPANO
    Respuestas: 3
    Último mensaje: 11-02-2006, 07:07
  3. Duda-.-
    Por Jesus en el foro OFF-TOPIC
    Respuestas: 0
    Último mensaje: 13-10-2003, 22:45
  4. duda red
    Por smad en el foro HARDWARE
    Respuestas: 9
    Último mensaje: 23-09-2003, 18:02
  5. Duda PHP
    Por <PICCOLO> en el foro PROGRAMACION WEB
    Respuestas: 3
    Último mensaje: 30-03-2003, 21:42

Marcadores

Marcadores