Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Eliminar una tupla de una tabla

Estas en el tema de Eliminar una tupla de una tabla en el foro de C/C++ en Foros del Web. Hola, tengo un problemilla, como podría hacer para borrar un atleta determinado (que esta dentro de una tabla) y pasar los siguientes atletas un numero ...
  #1 (permalink)  
Antiguo 03/01/2010, 12:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 14
Antigüedad: 15 años, 5 meses
Puntos: 0
Eliminar una tupla de una tabla

Hola,
tengo un problemilla, como podría hacer para borrar un atleta determinado (que esta dentro de una tabla) y pasar los siguientes atletas un numero menos?

atleta1
atleta2- eliminar
atleta3- sería el atleta2
atleta4- sería el atleta3
...

Para encontrar un atleta, pido un nombre y un apellido, si coinciden con el que ya esta inscrito, me permite borrarlo. Por lo tanto ya tengo la posicion de la i (donde se encuentra el atleta en la tabla).

Código C:
Ver original
  1. printf ("Nombre del atleta que quieres eliminar: ");
  2.     scanf ("%s", nom);
  3.  
  4.     i=0;
  5.     while (i< atl){
  6.         if (strcmp (nom, a.nom[i])==0){
  7.             error= 1;
  8.             break;
  9.         }else{
  10.             error=0;
  11.         }
  12.         i++;
  13.     }
  14.  
  15.     if (error == 0){
  16.         printf ("No existe");
  17.     }else{
  18.         printf ("Apellido: ");
  19.         scanf ("%s", cognom);
  20.         if (strcmp (cognom, a.cog1[i])==0){
  21.             error= 1;
  22.         }else{
  23.             error= 0;
  24.         }
  25.  
  26.         if (error == 0){
  27.             printf ("No exite");
  28.         }else{
  29.             for (borrar=i;borrar<atl;borrar++) {
  30.                 i--;
  31.             }
  32.         }
  33.     }

De esta forma, no me sirve...

Etiquetas: eliminar, tupla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:08.