|
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
« 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
« en: Lunes 16 de Junio de 2003, 19:58 »
no te entiendo!q quieres q ponga?o como lo quieres q lo ponga?
3
« 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
« 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
« 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
« 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. #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
« 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
« 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)
9
« en: Sábado 31 de Mayo de 2003, 14:01 »
Pues muchisiiiiimas gracias!!!!Seguro q m ayuda un montón.
10
« 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
« en: Miércoles 28 de Mayo de 2003, 17:25 »
Hola alguien sabe algo sobre "listas simples"?
12
« en: Jueves 22 de Mayo de 2003, 21:20 »
Ohhhh!!!muchisimas gracias!!!:jumpie:
13
« 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
« 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
« 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
« 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]
|
|
|