• Jueves 16 de Mayo de 2024, 22: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.


Mensajes - alama

Páginas: [1]
1
C/C++ / Listas simple......
« en: Martes 17 de Junio de 2003, 17:52 »
Bueno ya no te agobio mas pq ya he entregado el programa,no iba bien del todo pero...Bueno ya t contare,y gracias!!:flower:

2
C/C++ / Re: Listas simple......
« en: Lunes 16 de Junio de 2003, 19:58 »
no te entiendo!q quieres q ponga?o como lo quieres q lo ponga?:question:

3
C/C++ / Re: Listas simple......
« en: Lunes 16 de Junio de 2003, 15:44 »
A lo q pone entre /*    */,se llama asi,no?,bueno pero solo m falta el q pone
/*Buscar el nodo a borrar*/,gracias:hippi:

4
C/C++ / Re: Listas simple......
« en: Sábado 14 de Junio de 2003, 10:57 »
He añadido y corregido y por ahora creo q asi esta bastante bien,solo m falta lo de los comentarios(si m puedes ayudar!)#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>

struct articulo{
      char *cod_art;
      char *nombre;
      char *desc;
      float precio;
      int existencias;
      char *cod_prov;
      char *notas;
          };
struct nodo_articulo
 {
  struct articulo inf_articulo;
  struct nodo_articulo *sig;
 };
void leer_articulo(struct articulo *art);
struct nodo_articulo *BuscarNodoArtInsertar(struct nodo_articulo *principio,struct nodo_articulo *nodo_buscado,int *repetido);
int BorrarNodoArt(struct nodo_articulo **principio,struct nodo_articulo *nodo_borrar);

struct nodo_articulo *BuscarNodoArtBorrar(struct nodo_articulo *principio,struct nodo_articulo *nodo_buscado,int *esta);

void mostrar_articulo(struct articulo *art);
int InsertarNodoArt(struct nodo_articulo **principio,struct nodo_articulo *nodo_nuevo);

void main()
{

 struct articulo *art;
 struct nodo_articulo *nodo_nuevo,*principio=NULL;
 struct nodo_articulo *nodo_borrar;
 int op;

 do
 {
  printf("nELIGE UNA OPCIONn");
  printf("1.-Insertar en listan");
  printf("3.-Mostrar la listan");
  printf("2.-Borrar n");
  printf("4.-Salirn");
  scanf("%i",&op);
  fflush(stdin);
  switch(op)
   {
    case1:
     art=(struct nodo_articulo*)malloc(sizeof(struct nodo_articulo));
     leer_articulo(&(nodo_nuevo->inf_articulo));
     InsertarNodoArt(&principio,nodo_nuevo);

     break;
    case2:
          /*Bucle que recorra la lista desde el principio y llame cada vez a mostrar_Articulo*/
     mostrar_articulo(art);
     break;
    case3:
     /*Preguntar codigo del articulo a borrar*/
     printf("n¨Que articulo deseea borrar?");
          /*Buscar el nodo a borrar*/
     BorrarNodoArt (&principio,nodo_borrar);
     break;
    default:
       printf("nERROR:Dato incorrecto");
       break;
   }
  }
 while(op!=4);
}          

void leer_articulo(struct articulo *ar)
{
 char aux[30];
 float prec;
 printf("nIntroduzca el codigo del articulo: ");
 gets(aux);
 ar->cod_art=(char*)malloc((strlen(aux)+1)*sizeof(char));
 strcpy(ar->cod_art,aux);
 fflush(stdin);

 printf("nIntroduzca el nombre del articulo: ");
 gets(aux);
 ar->nombre=(char*)malloc((strlen(aux)+1)*sizeof(char));
 strcpy(ar->nombre,aux);
 fflush(stdin);

 printf("nIntroduzca la descripcion del articulo: ");
 gets(aux);
 ar->desc=(char*)malloc((strlen(aux)+1)*sizeof(char));
 strcpy(ar->desc,aux);
 fflush(stdin);

 printf("nIntroduzca el precio del articulo: ");
 scanf("%f",&prec);
 prec=ar->precio;

 printf("nIntroduzca las existencias del articulo: ");
 scanf("%i",&ar->existencias);

 printf("nIntroduzca el codigo de la provincia: ");
 gets(aux);
 ar->cod_prov=(char*)malloc((strlen(aux)+1)*sizeof(char));
 strcpy(ar->cod_prov,aux);
 fflush(stdin);

 printf("nIntroduzca las notas del articulo: ");
 gets(aux);
 ar->notas=(char*)malloc((strlen(aux)+1)*sizeof(char));
 strcpy(ar->notas,aux);
 fflush(stdin);

}


int InsertarNodoArt(struct nodo_articulo **principio,struct nodo_articulo *nodo_nuevo)
 {
 struct nodo_articulo *anterior;
 int ya_esta;
 

    if(*principio==NULL)
      {
        *principio=nodo_nuevo;
        nodo_nuevo->sig=NULL;
      }
    else
       {
         anterior=BuscarNodoArtInsertar(principio,nodo_nuevo,&ya_esta);

     if(ya_esta)
          return 0;
     else
           if(anterior==NULL)
           {
      nodo_nuevo->sig=*principio;
           *principio=nodo_nuevo;
           }
      else
          {
          nodo_nuevo->sig=anterior->sig;
          anterior->sig=nodo_nuevo;
          }
        }
 }
struct nodo_articulo *BuscarNodoArtInsertar(struct nodo_articulo *principio,struct nodo_articulo *nodo_buscado,int *repetido)
  {
   struct nodo_articulo *aux;
   int comparacion;

        aux = principio;
         comparacion =strcmp(nodo_buscado->inf_articulo.cod_art,aux->inf_articulo.cod_art);

         if(comparacion == 0)
          {
      *repetido = 1;
      return NULL;
          }
         else if (comparacion > 0 && aux->sig == NULL)
          {
      *repetido =0;
      return aux;
          }
         else if(comparacion < 0)
          {
      *repetido = 0;
      return NULL;
          }
         while(aux->sig !=NULL)
          {
      comparacion = strcmp(nodo_buscado->inf_articulo.cod_art,aux->inf_articulo.cod_art);

        if(comparacion == 0)
         {
          *repetido = 1;
          return NULL;
         }
        else if(comparacion < 0)
         {
          *repetido = 0;
          return aux;
         }
          aux = aux->sig;
          }
          return aux;
    }


void mostrar_articulo(struct articulo *art)
{
 printf("nArticulo: %s",art->cod_art);
 printf("nNombre: %s",art->nombre);
 printf("nDescripcion: %s",art->desc);
 printf("nPrecio: %f",art->precio);
 printf("nExistencias: %i",art->existencias);
 printf("nProvincia: %s",art->cod_prov);
 printf("nNotas: %s",art->notas);
 getch();
}
int BorrarNodoArt(struct nodo_articulo **principio,struct nodo_articulo *nodo_borrar)
 {
  struct nodo_articulo *anterior, *a_borrar;
  int esta,no_esta=0;

      if(*principio == NULL)
         {
      esta=0;
      return esta;
         }
      else
         {
          anterior=BuscarNodoArtBorrar(principio, nodo_borrar,&no_esta);

       if(!esta)
         return esta;
       else if(anterior == NULL)
         {
          a_borrar=*principio;
          *principio=a_borrar->sig;
          free(a_borrar);
         }
        else
           {
            a_borrar=anterior->sig;
            anterior->sig=a_borrar->sig;
            free(a_borrar);
          }

         }
  }
 struct nodo_articulo *BuscarNodoArtBorrar(struct nodo_articulo *principio,struct nodo_articulo *nodo_buscado,int *esta)
 {
  struct nodo_articulo *aux;
  int comparacion;

       aux=principio;
       comparacion=CompararArticulosCod(&nodo_buscado->inf_articulo,&aux->inf_articulo);

       if(comparacion == 0)
        {
       *esta=1;
       return NULL;
        }
       else if(aux->sig == NULL)
        {
       *esta=0;
       return NULL;
        }
       while(aux->sig !=NULL)
        {
       comparacion = CompararArticulosCod(&nodo_buscado->inf_articulo,&aux->inf_articulo);

      if(comparacion == 0)
       {
          *esta = 1;
          return aux;
       }
      else if(comparacion < 0)
       {
          *esta = 0;
          return NULL;
       }
      else aux = aux->sig;
        }
        *esta = 0;
        return NULL;
  }

5
C/C++ / Re: Listas simple......
« en: Miércoles 11 de Junio de 2003, 16:04 »
esq en el libro m lo pone asi,pero lo d los nodos,no entiendo nada!!!

6
C/C++ / Re: Listas simple......
« en: Martes 10 de Junio de 2003, 00:03 »
Por favor! q alguien m diga q tengo q cambiar o añadir(si voy bien,claro!)o lo q tengo mal,como solucionarlo.:ayuda:#include<stdio.h>
struct nodo_articulo
 {
    art inf_articulo;
    struct nodo_articulo *sig;
 };
void mostrar_menu();
void insertar(struct nodo_articulo **principio, struct nodo_articulo *nodo_nuevo,int repetido);
void mostrar_menu()
 {
  printf("nELIGE UNA OPCION");
  printf("1.-Inserta informacionn");
  printf("2.-Borrarn");
  printf("3.-Mostrar listan");
  printf("4.-Salirn");
 }
void insertar(struct nodo_articulo **principio, struct nodo_articulo *nodo_nuevo,int repetido)
 {
 struct nodo_articulo *anterior;
 struct *nuevo;
 int ya_esta,resultado;
 nuevo=(struct nodo_articulo*)malloc(sizeof(struct nodo_articulo)
    if(*principio==NULL)
     {
      *principio=nodo_nuevo;
      nodo_nuevo->sig=NULL;
     }
    else
      {
       resultado=

      
         if(resultado=*repetido)
      {
       *repetido=1;
       return NULL;
         printf("nEl nodo ya se encuentra en la lista");
      }
     else
      {
        if(resultado=NULL)
         {
      sig->nodo_nuevo=*principio;
      *principio=nodo_nuevo;
         }
        else
         {
          nodo_nuevo->sig=anterior->sig;
          anterior->sig=nodo_nuevo;

         }
      }
   }
 }

7
C/C++ / Ayudaaaaa!!!!
« en: Martes 3 de Junio de 2003, 22:34 »
Uy!!ya m va,y no se pq,pq m he agobiado he apagado el Pc y luego cuando lo he vuleto a encender ya m ha compilado bien,cosas raras!!!:question:,gracias d todas formas

8
C/C++ / Re: Ayudaaaaa!!!!
« en: Martes 3 de Junio de 2003, 18:06 »
Pq cuando compilo m sale este error:"Undefined symbol _printf in module ejer11",Bueno mejor dicho cuando lo compilo no da error es cuando lo voy a ejecutar(entonces m sale ese error)Y creo q lo tengo todo bien puesto(respecto al printf):think:

9
C/C++ / hola alguien...
« en: Sábado 31 de Mayo de 2003, 14:01 »
Pues muchisiiiiimas gracias!!!!Seguro q m ayuda un montón.:kiss:

10
C/C++ / Re: hola alguien...
« en: Viernes 30 de Mayo de 2003, 21:33 »
Pues la verda esq todo!!No se como empezar!!algun ejemplo  o ayuda d como hacer la inserccion d la lista,algo q m ayude a empezar!:gracias:

11
C/C++ / Re: hola alguien...
« en: Miércoles 28 de Mayo de 2003, 17:25 »
Hola alguien sabe algo sobre "listas simples"?:ayuda::ayuda:

12
C/C++ / instalar turbo c
« en: Jueves 22 de Mayo de 2003, 21:20 »
Ohhhh!!!muchisimas gracias!!!:jumpie::jumpie:

13
C/C++ / Re: instalar turbo c
« en: Jueves 22 de Mayo de 2003, 13:12 »
Si q es el mismo,pero da igual!utilizare solo el teclado,tampoco hace mucha falta el raton,solo q es mas comodo.gracias:P

14
C/C++ / Re: instalar turbo c
« en: Miércoles 21 de Mayo de 2003, 22:11 »
Hola! A ver si alguien m puede ayudar!Me he vuelto a instalar el turbo c  y ahora el raton no me funciona(antes si q me funcinaba)gracias!!:photo:jejje

15
C/C++ / Re: pregunta...
« en: Martes 29 de Abril de 2003, 20:24 »
hola,el q estoy dando yo se llama "Programación estructurada y fundamentos de programación"de cliclo formativo'Grado superior' ,esta bastante bien

16
C/C++ / Punteros
« en: Martes 29 de Abril de 2003, 16:30 »
Buenas!Soy nueva,mañana tengo q entrgar un ejercicio y se m resiste,si alguien m puede ayudar:utilizando una tabla d punteros,q ordene x orden alfabético el nombre d10 personas(utilizando el metodo d la burbuja)gracias:gracias:

Páginas: [1]