Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#include <stdio.h>
#include<stdlib.h>
#include<cstring>
#include <string.h>
/*
Buenas tardes profesor, este ejercicio represento un verdadero reto para nuestro grupo
realizamos el ejercicio por mas de una semana y poco a poco lo sacamos sin embargo
presentamos algunas dificultades y el código contiene errores que le comunicaremos en
clase,
sin embargo dejaremos notas de lo que sucede en la ejecución, muchas gracias por la
comprención.
NOTA1: el menu funciona perfectamente e invoca las funciones, la funcion incertar funciona
bien,lee los datos y los guarda, sin embargo al imprimir la lista el nombre no se muestra
con letras sino muestra una lista de números.
*/
struct nodo{
struct nodo * ant;
int cod;
int edad;
char name[50];
main(){
struct nodo * cab=NULL;
int continuar=1, opcion2;
while (continuar==1){
printf("\n Menu\n\n");
printf("1. Insertar:\n");
printf("2. Buscar:\n");
printf("3. Eliminar\n");
printf("4. Salir.");
scanf("%d",&opcion2);
if(opcion2==1){
insertar(&cab);
printf("\n");
}
else
{
if(opcion2==2)
{
buscar(&cab);
printf("\n");
}
else
{
if(opcion2==3){
eliminar(&cab);
printf("\n");
}
else
{
if(opcion2==4)
{
printf("\n ¿Desea salir?\n salir del programa\n");
printf("1.No\n");
printf("2.Si\n");
scanf("%d",&continuar);
}
}
}
getchar();
printf("\n\n Precione enter para salir\n\n");
return 0;
}
}
}
//Insertar
int vcod;
int vedad;
char vname[50];
int codigoaux;
int contador=0;
struct nodo *q, *r ,*a, *aux;
fflush(stdin);
if(*cab==NULL){
q=localizar;
contador = contador + 1;
q->cod=vcod;
q->edad=vedad;
strcpy(q->name,vname);
q->sig=NULL;
q->ant=NULL;
*cab=q;
}
else
{
q=*cab;
codigoaux= q->cod;
r=localizar;
r->cod=vcod;
r->edad=vedad;
strcpy(q->name,vname);
if((vcod)<q->cod){
r->sig=*cab;
r->ant=NULL;
*cab=r;
}
else{
if(q->sig==NULL)
{
q->sig=r;
r->ant=q;
r->sig=NULL;
contador=1;
}
else{
if(vcod<q->sig->cod){
a=q->sig;
r->sig=a;
a->ant=r;
q->sig=r;
r->ant=q;
contador=1;
}
else{
q=q->sig;
}
}
}
}
}
imprimir(*cab);
}
// Buscar
int valor, a;
struct nodo *q;
q=*cab;
printf("Ingrese el valor a buscar");
scanf("%d", &valor);
a=0;
while(q!=NULL){
if(q->cod==valor){
}
else
{
q=q->sig;
}
if(a==0){
imprimir(*cab);
}
}
//Eliminar
int valor, a;
if(q->cod==valor){
}
else
{
q=q->sig;
}
if(a==0){
}
imprimir(*cab);
}
// Imprimir
while(p!=NULL){
}
printf("\n");
}