<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Lo primero muchas gracias para tu respuesta Elois@, ya casi lo tengo acabado,me falta hacer la funcion para modificar.</div><div>El ejercicio queda asi , menos con la funcion de modificar numeros en la lista simple.Saludos y otra vez gracias<br><br> </div><div> /*Ejercicio listas simples<br> -Insertar numeros en la lista<br> -Mostrar numeros de la lista<br> -Borrar<br> -Modificar<br> -Consultar */<br> <br>#include <stdio.h><br>#include <conio.h><br>#include <stdlib.h></div><div>struct Nodo{<br> int numero;<br> Nodo *sig;<br> };<br> <br>int
menu(void);<br>struct Nodo * inserta_elemento(struct Nodo *,int n);<br>struct Nodo * borra_elemento(struct Nodo *inicio);<br>struct Nodo * eliminar_lista(struct Nodo *);<br>struct Nodo * modifica_elemento(struct Nodo *inicio);<br>void consulta(struct Nodo *);<br>void listar_lista(struct Nodo *);<br> <br>int main (void)<br>{<br> int opc,n;<br> Nodo *aux,*inicio,*actual;<br> inicio=NULL;<br> do<br> {<br> opc=menu();<br> switch(opc)<br> {<br> case 1:system("cls");<br> inicio=inserta_elemento(inicio,n);//insertar
elemento<br> break;<br> case 2:system("cls");<br> inicio=borra_elemento(inicio);//borrar elemento<br> break;<br> case 3:system("cls");<br> inicio=eliminar_lista(inicio);//eliminar contenido lista<br> break;<br> case
4:system("cls");<br> inicio=modifica_elemento(inicio);//modificar numero en lista<br> break;<br> case 5:system("cls");<br> listar_lista(inicio);//listar lista<br> break;<br> case 6:system("cls");<br> consulta(inicio);//consultar
elemento<br> break;<br> } <br> }while(opc != 7);<br> <br>getch(); <br>}</div><div>int menu(void)<br>{<br> int opcion;<br> system("cls");<br> printf("\n\n*** Teclee una opcion: \n\n\n");<br> printf("\n1) Insertar un elemento en la lista");<br> printf("\n2) Borrar elemento de la lista");<br> printf("\n3) Eliminar el contenido de la lista");<br> printf("\n4) Modificar un numero en la lista");<br> printf("\n5) Mostrar el contenido de la lista");<br> printf("\n6) Consulta de un numero en la lista");<br>
printf("\n7) Salir del programa\n\n---> ");<br> scanf("%d",&opcion);<br> fflush(stdin); <br> <br> return opcion;<br>}</div><div>struct Nodo* inserta_elemento(struct Nodo *inicio,int n)<br>{<br> struct Nodo *aux,*actual;<br> char seguir;<br> inicio=NULL;<br> <br> printf("\n\t***Insertar numeros***\n");<br> <br> do<br> { <br> printf("\nTeclea un numero: ");<br> scanf("%d",&n);<br> fflush(stdin);<br> <br> if(n==0)<br> {<br> return inicio;<br>
}<br> aux=new struct Nodo;<br> aux->numero=n;<br> aux->sig=NULL;<br> <br> printf("%d",aux->numero);<br> <br> if(inicio==NULL)<br> {<br> inicio=aux;<br> }<br> else<br> {<br> if(inicio->numero > n) // si el numero leido es < que el primero<br> {<br> aux->sig=inicio;<br> inicio=aux;<br>
}<br> else<br> {<br> actual=inicio;<br> while(actual->sig!=NULL && actual->sig->numero < n)<br> {<br> actual=actual->sig;<br> }<br> aux->sig=actual->sig;<br> actual->sig=aux;<br> }<br> }<br> }while(n != -0);<br>
<br>}</div><div> </div><div>//Funcion para borrar un numero de la lista<br>struct Nodo * borra_elemento(struct Nodo *inicio)<br>{<br> struct Nodo *actual;<br> int borra_num;<br> <br> printf("\n\t***Borrar un elemento de la lista***");<br> <br> if(inicio==NULL)<br> {<br> printf("\nNo hay numero para borrar ");<br> }<br> else<br> {<br> printf("\n\nIntroduce un numero a borrar: ");<br> scanf("%d",&borra_num);<br> fflush(stdin);<br> <br> while(inicio!=NULL)<br> { <br>
actual=inicio;<br> inicio=inicio->sig;<br> actual->sig=NULL;<br> <br> if(borra_num == inicio->numero)<br> {<br> delete actual; <br> }<br> } <br> } <br> <br>getch(); <br>return inicio;<br>}</div><div> </div><div>//Funcion para eliminar el contenido de la lista<br>struct Nodo * eliminar_lista(struct Nodo
*inicio)<br>{<br> struct Nodo *actual;<br> <br> printf("\n\t***Borrado completo de lista***\n");<br> <br> if(inicio==NULL)<br> {<br> printf("\nLa lista esta vacia");<br> }<br> else<br> { <br> while(inicio!=NULL)<br> { <br> actual=inicio; <br> inicio=inicio->sig;<br> actual->sig=NULL;<br> delete
actual;<br> }<br> printf("\nLa lista ha sido eliminada"); <br> }<br> <br>getch(); <br>return inicio; <br>}</div><div> </div><div>//Funcion para modificar elementos en la lista<br>struct Nodo * modifica_elemento(struct Nodo *inicio)<br>{<br> struct Nodo *actual;<br> <br>getch();<br>return inicio; <br>}</div><div> </div><div>//Funcion para consultar numeros en la lista<br>void consulta(struct Nodo *inicio)<br>{<br> struct Nodo *actual;<br> int num_cons;//numero que se quiere consultar<br> actual=inicio;<br> <br> printf("\n\t***Consulta de numeros ***\n");<br> printf("\nIntroduce el numero a buscar:
");<br> scanf("%d",&num_cons);<br> fflush(stdin);<br> <br> int encontrado=0;<br> <br> if(inicio==NULL)<br> {<br> printf("\nNo hay numeros en la lista");<br> }<br> else<br> {<br> while(actual != NULL)<br> {<br> if(actual->numero == num_cons)<br> {<br> encontrado = 1;
<br> }<br> actual=actual->sig;<br> }<br> }<br> <br> if(inicio!=NULL)<br> {<br> if(encontrado==1)<br> {<br> printf("\nEl numero %d esta en la lista",num_cons);<br> }<br> else<br> {<br> printf("\nEl numero buscado no se encuentra en la lista");<br>
} <br> }<br> <br>getch(); <br>}</div><div><br>//Funcion para mostrar todos los numeros de la lista<br>void listar_lista(struct Nodo *inicio)<br>{<br> struct Nodo *actual;<br> <br> printf("\n\t***Listar lista***\n");<br> <br> if(inicio == NULL)<br> {<br> printf("\nLa lista esta vacia");<br> }<br> else<br> {<br> actual=inicio;<br> printf("\nLos numeros de la lista son:\n");<br> while(actual != NULL)<br> {
<br> printf("\n%d",actual->numero);<br> actual=actual->sig; <br> }<br> }<br>getch();<br>}</div><div> </div></div></body></html>