• Viernes 17 de Mayo de 2024, 07:29

Autor Tema:  Error Que No Entiendo  (Leído 1098 veces)

markdark

  • Miembro activo
  • **
  • Mensajes: 27
    • Ver Perfil
Error Que No Entiendo
« en: Miércoles 6 de Febrero de 2008, 22:43 »
0
Hola este es un programa que sirve para guardar elementos de una lista enlazada a un archivo y luego recuperarlo... ahi les amndo el codigo  haber si me pueden ayudar porque no se que significa ese error ...

Código: Text
  1.  
  2. #include <iostream.h>
  3. #include <iostream.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <math.h>
  7. #include <conio.h>
  8. #include <conio.c>
  9. #include <iomanip.h>
  10.  
  11. struct Nodo{
  12.  
  13. int datos;
  14. Nodo *sgte;
  15.  
  16. };
  17.  
  18.  
  19.  
  20. void inserta_inicio(Nodo **cab,int dato1);
  21. void crea_final(Nodo **cab);
  22.  
  23. void salvar_lista(Nodo **cab);
  24. void recupera_lista(Nodo **cab);
  25.  
  26. void muestra_lista(Nodo **cab);
  27.  
  28. int main()
  29. { Nodo *L=NULL,*M=NULL;
  30.  
  31.  
  32.       crea_final(&L);
  33.       salvar_lista(&L);
  34.       recupera_lista(&L);
  35.       muestra_lista(&L);
  36.  
  37.       system("PAUSE");
  38.       return 0;
  39. }
  40.  
  41. void crea_final(Nodo **cab){
  42.  
  43.   Nodo *Q,*T;
  44.   int valor,i=1,n,dat;
  45.  
  46.     Q=(Nodo*)malloc(sizeof(Nodo));
  47.  
  48.     printf("Ingrese valor del primer nodo: ");
  49.     cin>>valor;
  50.  
  51.     Q->datos=valor;
  52.     Q->sgte=NULL;
  53.     *cab=Q;
  54.     T=*cab;
  55.  
  56.     printf("Ingrese numero de nodos a crear ");
  57.     cin>>n;
  58.  
  59.     while(i<=n){
  60.  
  61.        Q=(Nodo*)malloc(sizeof(Nodo));
  62.        printf("Ingrese dato: ");
  63.        cin>>dat;
  64.        Q->datos=dat;
  65.        Q->sgte=NULL;
  66.        T->sgte=Q;
  67.        T=Q;
  68.        i++;
  69.     }
  70.  
  71. }
  72.  
  73.  
  74.  void salvar_lista(Nodo **cab){
  75.  
  76.      Nodo *Q;
  77.      FILE *B;
  78.      int sw=0;
  79.      B=fopen("prav","w");
  80.      if(B==NULL){
  81.            cout<<"No se puede abrir el archivo"<<endl;
  82.      }
  83.      Q=*cab;
  84.  
  85.      while(Q!=NULL){
  86.                fwrite(Q,sizeof(Nodo),1,B);
  87.                Q=Q->sgte;
  88.                sw=1;
  89.           }
  90.           if(sw){
  91.           cout<<"Lista salvada"<<endl;
  92.           }
  93.           else{
  94.           cout<<"Lista vacia"<<endl;
  95.           }
  96.           fclose(B);
  97.  
  98. }
  99.  
  100. void recupera_lista(Nodo **cab){
  101.  
  102.      Nodo *R;
  103.      FILE *B;
  104.      int sw=0;
  105.      B=fopen("prav","r");
  106.  
  107.      if(B==NULL){
  108.           cout<<"Archivo no encontrado...";
  109.      }
  110.      *cab=NULL;
  111.       while(!feof(B)){
  112.          R=(Nodo*)malloc(sizeof(Nodo));
  113.          if(R==NULL){
  114.               cout<<"No hay memoria"<<endl;
  115.          }
  116.          if(fread(R,sizeof(Nodo),1,B)!=1)
  117.              break;
  118.          inserta_final(&cab,R);
  119.          sw=1;
  120.      }
  121.      if(sw){
  122.      cout<<"Lista recuperada "<<endl;
  123.      }
  124.      else{
  125.      cout<<"Lista vacia"<<endl;
  126.      }
  127.  
  128.      fclose(B);
  129. }
  130.  
  131. void inserta_final(Nodo **cab,int dato1){
  132.  
  133.    Nodo *Q,*T;
  134.    if(*cab==NULL){
  135.       Q=(Nodo*)malloc(sizeof(Nodo));
  136.       Q->datos=dato1;
  137.       Q->sgte=NULL;
  138.       *cab=Q;
  139.       }
  140.       else{
  141.          T=*cab;
  142.          while(T->sgte!=NULL){
  143.             T=T->sgte;
  144.          }
  145.          Q=(Nodo*)malloc(sizeof(Nodo));
  146.          Q->datos=dato1;
  147.          Q->sgte=NULL;
  148.          T->sgte=Q;
  149.       }
  150. }
  151.  
  152.  
  153.  

Bueno gracias ah y el mensaje anterior ia esta resuelto y disculpen por no decir que ia lo estaba... porfavor necesito ayuda con este problema...gracias de antemano..

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Error Que No Entiendo
« Respuesta #1 en: Jueves 7 de Febrero de 2008, 19:40 »
0
Y cual es el error??

No somos psiquicos para adivinar que error te salio.

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Error Que No Entiendo
« Respuesta #2 en: Sábado 9 de Febrero de 2008, 20:36 »
0
al fin, tenej algun problema ???, decidite !!! :angry:  :angry:


BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"