• Domingo 22 de Diciembre de 2024, 07:02

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - SpeDhy

Páginas: [1]
1
Python / ¿como Poner Codigo Ensamblador?
« en: Viernes 28 de Julio de 2006, 08:30 »
Esa es la duda :P , ando en busqueda de como se puede hacer, pero aun no he encontrado nada :S

saludos...

2
C/C++ / Graficar árboles
« en: Jueves 31 de Marzo de 2005, 06:52 »
Lo que pasa es que necesito mostrar un arbol binario en modo gráfico, el problema es que algunas veces ese árbol va ser demasiado grande y no va a caber en todo la pantalla, ahora mi pregunta es si ¿no hay una función o libreía que sirva para movilizarte atravez de las áreas que no se ven?, o creo haber escuchado o lo soñe :P  que había una librería que te permitía reducir una determinada área de la pantalla, si alguien sabe algo de esto le agredecería mucho que lo compartiera.

saludos...

3
Visual Basic 6.0 e inferiores / Acceso A Estructuras
« en: Domingo 27 de Febrero de 2005, 03:08 »
¿como y donde debo declararla para poder acceder a ella desde cualquier formulario?

Gracias de antemano...

4
C/C++ / Problemas Con Listas
« en: Domingo 12 de Diciembre de 2004, 03:21 »
Código: Text
  1. #include<iostream.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4. #include<stdio.h>
  5. #include<conio.h>
  6. #include<alloc.h>
  7.  
  8.  
  9. struct avion {
  10.   char *nombre;
  11.   int asiento;
  12.   struct avion *L;
  13. };
  14. struct avion *pa, *q, *n;
  15. struct avion *p=NULL;
  16. int t=1;
  17.  
  18.  
  19.  
  20. //Creacion de los lugares
  21.  
  22. void creacion(void)
  23. {
  24.   int i;
  25.   q=p;
  26.   for (i=1; i<=10; i++)
  27.     {
  28.     n=(struct avion *)malloc(sizeof(struct avion));
  29.     if (q==NULL)
  30.       q=p=n;
  31.     else
  32.       {
  33.         while(q->L != NULL)
  34.           q=q->L;
  35.         q->L=n;
  36.       }
  37.     n->asiento=i;
  38.     n->nombre=NULL;
  39.     n->L=NULL;
  40.   }
  41. }
  42.  
  43.  
  44.  
  45.  
  46. //Busca si hay algun lugar disponible
  47.  
  48. int buscar(int lugar)
  49. {
  50.   q=p;
  51.  
  52.   while(q->asiento != lugar && q->L != NULL)
  53.     q=q->L;
  54.   if (lugar == q->asiento && q->nombre == NULL)
  55.       return 1;
  56.   else
  57.       return 0;
  58. }
  59.  
  60.  
  61.  
  62.  
  63. //Reserva un lugar para el pasajero
  64.  
  65. void insertar(void)
  66. {
  67.   char *name;
  68.   int lugar, x=1;
  69.  
  70.   if (t <= 10)
  71.     {
  72.       do {
  73.         clrscr();
  74.         cout<<"\nNumero de asiento: ";
  75.         cin>>lugar;
  76.         cout<<"\nNombre del pasajero: ";
  77.         gets(name);
  78.  
  79.         if (buscar(lugar)==1)
  80.           {
  81.             q=p;
  82.             while(q->asiento != lugar && q->L != NULL)
  83.               q=q->L;
  84.             q->nombre=name;
  85.             t++;
  86.             x=0;
  87.           }
  88.         else
  89.           cout<<"\nAsiento no disponible";
  90.       }  while(x);
  91.     }
  92.   else
  93.     cout<<"\nNo hay lugar disponible";
  94. }
  95.  
  96. int eliminar(void)
  97. {
  98.   int lugar;
  99.  
  100.   if (t >= 1)
  101.     {
  102.     cout<<"Lugar que desea eliminar: ";
  103.     cin>>lugar;
  104.  
  105.     q=p;
  106.     while(q->asiento != lugar && q->L != NULL)
  107.       q=q->L;
  108.     if (q->nombre == NULL)
  109.       {
  110.       cout<<"\nEl lugar esta vacio";
  111.       return 1;
  112.       }
  113.     else
  114.       q->nombre=NULL;
  115.     t--;
  116.     }
  117.     return 1;
  118. }
  119.  
  120.  
  121. //Muestra los lugares
  122.  
  123. void mostrar(void)
  124. {
  125.   q=p;
  126.  
  127.   cout<<endl<<endl;
  128.   while(q->L != NULL)
  129.     {
  130.       if (q->nombre != NULL)
  131.         cout<<"  "<<q->asiento<<"  "<<q->nombre<<endl;
  132.       else
  133.         cout<<"  "<<q->asiento<<"  "<<"Lugar disponible!!!"<<endl;
  134.       q=q->L;
  135.     }
  136. }
  137.  
  138.  
  139.  
  140.  
  141. void main(void)
  142. {
  143.   char opcion;
  144.   creacion();
  145.   do {
  146.     clrscr();
  147.     cout<<"\n1.-Reservar lugar";
  148.     cout<<"\n2.-Dar de baja un lugar";
  149.     cout<<"\n3.-MOstrar lista de pasajeros";
  150.     cout<<"\n4.-Buscar un pasajero";
  151.     cout<<"\n5.-Salir";
  152.     cout<<"\nOpcion: ";
  153.     cin>>opcion;
  154.  
  155.     switch(opcion)
  156.     {
  157.       case '1': insertar();
  158.         break;
  159.       case '2': eliminar();
  160.         break;
  161.       case '3': mostrar();
  162.         break;
  163.       case '4':
  164.         break;
  165.       case '5': exit(0);
  166.         break;
  167.       default: cout<<"\nOpcion incorrecta";
  168.     }
  169.     getch();
  170.   } while(opcion != '5');
  171. }
  172.  
  173.  



Creo que en esta parte es donde esta el problema.

Código: Text
  1. if (buscar(lugar)==1)
  2.           {
  3.             q=p;
  4.             while(q->asiento != lugar && q->L != NULL)
  5.               q=q->L;
  6.             q->nombre=name;    [B]<-----[/B]-
  7.             t++;
  8.             x=0;
  9.           }
  10.  

El problema esta en que el programa me empalma los nombres, cuando pongo otro nombre me lo pone en su lugar, pero tambien en los lugares donde habia mas nombres.

Ojala alguien pueda hecharme una mano :D

saludos...

Páginas: [1]