elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  borrar reguistro de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: borrar reguistro de datos  (Leído 1,895 veces)
mapers


Desconectado Desconectado

Mensajes: 638


Ver Perfil
borrar reguistro de datos
« en: 12 Febrero 2011, 04:15 am »

buenas señores deseo borra el reguistro de datos de un alumno ,como lo podria hacer para  salte ese espacio en blanco ........ ayudnme
Código
  1. #include <iomanip>
  2. #include <windows.h>
  3. #include<iostream>
  4. #include <cstdio>
  5. #include<cstdlib>
  6. #include <conio.h>
  7. #include<string.h>
  8. #define max 500
  9. //..........................................................................//
  10. //..........................................................................//
  11.  
  12. using namespace std;
  13.  
  14.  
  15. //..........................................................................//
  16. //..........................................................................//
  17. /* definicion de los registros para la estructura */
  18. struct nodo{
  19.       char nombre[max];
  20.       char caracteristicas[max];
  21.       int codigo;
  22.       int nota1;
  23.       int nota2;
  24.       int nota3;
  25.       int nota_del_proyecto;      
  26.       struct nodo *sgte;
  27.  
  28.       };
  29. typedef struct nodo *lista;
  30.  
  31. //..........................................................................//
  32. //..........................................................................//
  33. /* definicion de los registros para la estructura */
  34.  
  35.  
  36.  
  37. /* especificacion de modulos */
  38. void insertalinicio(lista &q,struct nodo k) ;
  39. //..........................................................................//
  40. //..........................................................................//
  41.  
  42.  
  43. //Funcion Gotoxy
  44. void gotoxy(int x,int y)
  45. {
  46. HANDLE hStdout;
  47. COORD pos;
  48. pos.X=x-1;
  49. pos.Y=y-1;
  50. hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
  51. if(hStdout == INVALID_HANDLE_VALUE)
  52. return;
  53.  
  54. SetConsoleCursorPosition(hStdout,pos);
  55. }
  56.  
  57. //..........................................................................//
  58. //..........................................................................//
  59.  
  60.  
  61.  
  62.  
  63. void ingreso__alumno(struct nodo emp,lista &q)
  64. {
  65.  system("cls");
  66.  cout<<"\n\n\n\n\n\n\n\n\n\n\n\t\t\tINGRESE LOS DATOS DEL ALUMNO  "<<endl;
  67.  cout<<"\t\t\t---------------------------------"<<endl;
  68.  cout<<"\t\t\t  -----------------------------"<<endl;
  69.  getch();
  70.  system("cls");
  71.  cin.ignore(100, '\n');
  72.  cout<<"---------------------------------------"<<endl;
  73.  cout<<"     NORMBRE Y APELLIDO DEL ALUMNO "<<endl;
  74.  cout<<"---------------------------------------"<<endl;
  75.  gets( emp.nombre );
  76.  cout<<"             NOTAS "<<endl;
  77.  cout<<"-------------------------------"<<endl;
  78.  cout<<"             NOTA___1 "<<endl;
  79.  cin>>emp.nota1;
  80.  cout<<"-------------------------------"<<endl;
  81.  cout<<"             NOTA___2 "<<endl;
  82.  cin>>emp.nota2;
  83.  cout<<"-------------------------------"<<endl;
  84.  cout<<"             NOTA___3 "<<endl;
  85.  cin>>emp.nota3;
  86.  cout<<"-------------------------------"<<endl;
  87.  cout<<"             NOTA___DEL___PROYECTO "<<endl;
  88.  cin>>emp.nota_del_proyecto;
  89.   cin.ignore(100, '\n');
  90.  cout<<"-------------------------------"<<endl;
  91.  cout<<" CARACTERISTICAS DEL ALUMNO "<<endl;
  92.  cout<<"------------------------------"<<endl;
  93.  cin.get(emp.caracteristicas, max);
  94.  cout<<"            CODIGO DEL ALUMNO "<<endl;
  95.  cout<<"------------------------------"<<endl;
  96.  cin >> emp.codigo;
  97.  insertalinicio(q,emp);
  98.  
  99. }
  100.  
  101.  
  102.  
  103. void insertalinicio(lista &q,struct nodo k)  //inserta los datos recibidos de la funcion->ingreso producto
  104. {                                            //
  105. lista w=new(struct nodo);//creacion del nodo
  106. k.sgte=q; //insertar al inicio de cada elemnto
  107. *w=k;   //alamcenar el nodo en un array temporal
  108. q=w;
  109. }
  110.  
  111.  
  112. void pantallaso(lista q)
  113.  
  114. {
  115.     int i=1,nota__1,nota__2,nota__3,nota__4;
  116.  
  117. system("cls"); //limiar pantalla para cada llamada de la  funcion
  118.  
  119. if (q == NULL)
  120.    { printf("\n        LA LISTA ESTA VACIA \n");
  121.      printf("            enter para terminar....");
  122.      system("pause");
  123.    }
  124.  
  125. cout<<"\t\t\t---------------------"<<endl;
  126. cout<<"\t\t\tDATOS DE LOS ALUMNOS"<<endl;
  127. cout<<"\t\t\t----------------------"<<endl;
  128.  
  129. while(q!=NULL)
  130. {
  131.  
  132. cout<<"NOMBRE DEL ALUMNO................."<<q->nombre<<endl;
  133.  
  134.  
  135. cout<<"CARACTERISTICAS DEL ALUMNO........"<<q->caracteristicas<<endl;
  136.  
  137. cout<<"CODIGO.............................."<<q->codigo<<endl;
  138. nota__1=q->nota1;
  139. cout<<"NOTA__1.............................."<<nota__1<<endl;
  140. nota__2=q->nota2;
  141. cout<<"NOTA__2.............................."<<nota__2<<endl;
  142. nota__3=q->nota3;
  143. cout<<"NOTA__3.............................."<<nota__3<<endl;
  144. nota__4=q->nota_del_proyecto;
  145. cout<<"NOTA__DEL__PROYECTO.............................."<<nota__4<<endl;
  146.  
  147. cout<<"PROMEDIO.............................."<<(nota__1+nota__2+nota__3+nota__4)/4.0<<endl;
  148.  
  149. q=q->sgte;
  150. i++;cout<<"\nPRESIONE ENTER PARA CONTINUAR..."<<endl;
  151. cout<<endl;
  152. system("pause");
  153.  
  154. }
  155. }
  156. //..........................................................................//
  157. //..........................................................................//
  158.  
  159. int buscar(lista q,int valor)
  160.  
  161. {
  162.    int c=1; // ingresamos desde la posicion 1
  163.  
  164.    while(q!=NULL)
  165.                  if(q->codigo==valor)
  166.                  {
  167.                  return c; //retorna c hasta que llege a NULL
  168.                  }
  169.                  else
  170.                      {
  171.                           c++;
  172.                           q=q->sgte;
  173.                      }
  174.    return 0; //retorna 0 cuando no encuentra el codigo en la lista
  175. }
  176.  
  177.  
  178. //..........................................................................//
  179. //..........................................................................//
  180.  
  181. void menu(lista q)
  182. {
  183. struct nodo emp;
  184. int opcion,valor,k=0,t;
  185.  
  186.    system("cls");
  187.    printf("\n\n\t\t\t* * * * * MENU DE OPCIONES * * * * *");
  188.    printf("\n\t\t---------------------------------------------------");
  189.    printf("\n\t\t\t      BASE DE DATOS DE ALUMNOS   ");
  190.    printf("\n\t\t-------------------------------------------------\n\n\n\n");
  191.    printf("\t\t\t\t (1) AGREGAR ALUMNO  \n");
  192.    printf("\t\t\t\t (2) REPORTE     \n");
  193.    printf("\t\t\t\t (3) BUSCAR  ALUMNO POR CODIGO     \n");
  194.    printf("\t\t\t\t (4) SALIR  ........        ");
  195.    printf("\n              ELIGE UNA OPCION:  ");
  196.    scanf("%d", &opcion);
  197.  
  198.  
  199. while (opcion != 5)
  200.         { switch(opcion)
  201.           { case 1:
  202.                  ingreso__alumno(emp,q);
  203.  
  204.                     break;
  205.             case 2: pantallaso(q);
  206.                       break;
  207.             case 3:
  208.                       system("CLS");
  209.                       cout<<"\n\t\tDIGITE EL CODIGO DEL ALUMNO A BUSCAR\n"<<endl;
  210.                       cin>>valor;
  211.                       t=buscar(q,valor);
  212.                       if(t>0)
  213.                       {
  214.  
  215.                        cout<<"SE ENCUENTRA EL CODIGO DEL ALUMNO"<<endl;
  216.                        }
  217.                        if(t==0)
  218.                        {
  219.                        cout<<"NO SE ENCUENTRA EL CODIGO DEL ALUMNO"<<endl;
  220.                        }
  221.                        getch();
  222.                         break;
  223.  
  224.  
  225.  
  226.  
  227.             case 4:
  228.                  exit( 0 );
  229.  
  230.             default : printf("\n           opcion no permitida.....");
  231.                        printf("\n           enter para continuar....");
  232.                        getch();
  233.  
  234.           }
  235.         menu(q);
  236.         printf("\n\n              ELIGE UNA OPCION:  ");
  237.         scanf("%d", &opcion);
  238.       }
  239.     printf("\n                 fin del preograma....\n");
  240.     printf("                   enter para terminar....");
  241. getch();
  242.  
  243.  
  244. }
  245. //..........................................................................//
  246. //..........................................................................//
  247.  
  248.  
  249.  
  250. int main()
  251. {
  252. system("color 1b");
  253. system("cls");
  254.  
  255.    printf("\n\n\n\n\n\n\n\n\n\n\t        ...............loading...................");//texto de bienvenida
  256.    printf("\n\t    ---------------------------------------------------------------");
  257.    printf("\n\t       ---------------------------------------------------------");
  258.    getch();
  259.  
  260. system("cls");//limpiar pantalla
  261. lista q=NULL;
  262. menu(q);//menu de opciones
  263. }
  264.  
  265. //..........................................................................//
  266. //..........................................................................//
  267.  
  268.  


En línea

Nork

Desconectado Desconectado

Mensajes: 196



Ver Perfil
Re: borrar reguistro de datos
« Respuesta #1 en: 12 Febrero 2011, 11:37 am »

Deberías guardar en la estructura del nodo el nodo anterior también y así cuando un nodo sea borrado (y no sea el primero o el último) haces que el nodo anterior al borrado apunte al siguiente del mismo.


En línea

C' Est La Vie
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
manejo de datos, comparar cadenas, borrar un contenido de una cadena
Programación Visual Basic
-Xenon- 5 4,574 Último mensaje 20 Enero 2006, 14:49 pm
por -Xenon-
Problema al Borrar datos de la Base de Datos « 1 2 3 »
PHP
bels_mike 20 9,422 Último mensaje 31 Diciembre 2007, 18:34 pm
por Azielito
Borrar datos de un archivo escrito en php
PHP
Cerdo 0 1,873 Último mensaje 28 Julio 2008, 05:48 am
por Cerdo
Como borrar en remoto datos de una BB
Hacking Mobile
hitsugaya1989 0 2,497 Último mensaje 12 Junio 2012, 01:43 am
por hitsugaya1989
Borrar datos de blogspot
Dudas Generales
Dani-pregunta 1 1,656 Último mensaje 21 Enero 2014, 19:45 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines