<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>