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.

Temas - Kr3L

Páginas: [1]
1
C / C++ / Script de C / Biblioteca / {Estructura}
« en: Junio 22, 2016, 03:29:09 am »
Este es un Script basado en un buscador de libros almacenados en el mismo, la eficiencia de algunas funciones fueron gracias a la ayuda de rollth. Lo hice para presentarlo en las evaluaciones de mi clase de Algoritmo y Programación, es un conocimiento básico pero igual lo comparto con ustedes.

En este script apliqué las siguientes estructuras:


Switch
While
Condiciones If
Nodos
Lista Doblemente Enlazadas




Código fuente:
http://pastebin.com/tEuua1H8

Un saludos gente !

2
Presentaciones y cumpleaños / Buenaz !
« en: Junio 22, 2016, 02:13:34 am »
Un hola a la comunidad de Underc0de a la que llevo siguiendo desde hace unos años, nunca he sido un usuario activo y espero serlo a partir de ahora, mi interés por obtener conocimientos de ustedes esta aumento y acorde como vaya aprendiendo espero aportar aunque no sea la gran cosa, poco a poco ! :)

Saludos a la comunidad y a rollth !

3
El usuario rollth hiso un gran trabajo en ayudar en otras funciones. El programa se basa en un registro de datos y en el menu hay una funcion eliminar los nodos ya registrado y cuando le doy eliminar me pide el codigo que ha sido registro en el nodo, lo coloco y al meter la variable me dice la condicion que la lista ha sido eliminada. El problema está que no lo borra, porque cuando abro el registro de los datos se crashea el programa y se cierra o a veces simplemente me aparece toda la lista que ha sido registrada anteriormente.

Código Completo del Registro
Código: (c) [Seleccionar]
/*////////////////////////////////////////////////////////////////////////////////////////////////////////
*                                                                                                     ///
* |        |      |             |                                                                ///
* |--- , ' |--- , |     ' ,---. |---  ,---. ,---. ,---.         ///
* |    | | |    | |     | |   | |     |---' |     ,---|             ///
* `---'  '  `---' `---' ' `---' `---' `---' `---' `---^            ///
*                                                                                                ///
* Jose L. Montaner                                                                            ///         
* 24432283                                                                                   ///
* 16/03/2016                                                                                ///
*///////////////////////////////////////////////////////////////////////////////////////////////


#include<stdlib.h>// Permite ingresar al archivo de cabecera estandar de libreria, que reconoce los system
#include<stdio.h>// Perime crear  archivo de cabecera estandar de entrada y salida que reconoce los printf, fflush y scanf
#include<string.h> //Cadena de textos que se puede comprobar el valor de una cadenas

//-------------------------------------------------------------------------------------------------------



//-------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------

struct nodo //Declaración de "nodo" como una estructura de datos
{
 char titulo[100];//caracte que posee una  variable llamada "titulo", finalizando en punto y coma (;)
 char autor [100];//caracte que posee una variable llamada "autor", finalizando en punto y coma (;)
 int publicacion;//Entero que posee una variable llamada "publicacion",finalizando en punto y coma (;)
 int codigo;//Entero que posee una variable llamada  "Código",finalizando en punto y coma (;)
 nodo *ant, *sig;//Declaración de "sig" de tipo nodo, se denota por (*) antes de la variables ant y sig

};//finaliza el bloque del struct y el punto y coma (;) indica

//--------------------------------------------------------------------------------------------------

typedef nodo lista; //Declaracion de "lista" como tipo nodo
lista *primero,*ultimo; //Declaración de punteros "primero" y "ultimo" de tipo lista
void menu();//Prototipo de función
void ingresar();//Prototipo de función
void mostrar();//Prototipo de función
void busquedatitulo();//Prototipo de función
void busquedaautor();//Prototipo de función
void busquedapublicacion();//Prototipo de función
void busquedacodigo();//Prototipo de función
void eliminar ();//propio de la funcion


//--------------------------------------------------------------------------------------------------
void ingresar() //
{ //inicio del bloque del void ingresar
 system("cls");
        lista *nuevo;

        nuevo=new(nodo);//Se crea un nuevo nodo para la lista enlazada, new nuevo tipo de instruccion
        system("cls");//Borrador de pantalla
 printf("\n\n\n\t****************** INGRESAR DATOS ******************\n\n");
        for (int i=0;i<1;i++)

 { // inicio del for
 printf("Nombre del libro: ");// muestra el mensaje  que se encuentra en comillas
 fflush(stdin);//Limpiar buffer de entrada de datos
 gets(nuevo->titulo);//Almacenar el titulo en el nuevo nodo

 printf("autor: ");// muestra el mensaje  que se encuentra en comillas
 fflush(stdin);//Limpiar buffer de entrada de datos
 gets(nuevo->autor);//Almacenar la vatiable autor en el nuevo nodo
 
 printf("Año de publicacion: ");// muestra el mensaje  que se encuentra en comillas
 fflush(stdin);//Limpiar buffer de entrada de datos
 scanf ("%i",&nuevo->publicacion);

 printf("Ingrese los 3 codigo del libro: ");// muestra el mensaje  que se encuentra en comillas
 scanf ("%i",&nuevo->codigo);// entrada de dato con formato
 }// finalizar el for

  nuevo->sig=NULL; //nuevo es igual al sig y sig es igual a null
  nuevo->ant=NULL;// el nuevo nodo de la lista no tiene un  nodo anterior
 
        if(primero==NULL)// estructura de control que indica Si el registro es el primero a ingresar
 {//inicia el if
  primero=nuevo; // entonces el nuevo nodo es tanto el primero..
  ultimo=nuevo;// como el último
 }
 else //De no ser así
 {
  /*doblemente enlazado*/
  ultimo->sig=nuevo; //Entonces el nodo anterior ahora apunta al nuevo
  nuevo->ant=ultimo;// el nodo anterio es el ultimo
  ultimo=nuevo; //Y el nuevo ahora es el último nodo de la lista
 }
 menu();//regresa al menu
}

//--------------------------------------------------------------------------------------------------

void mostrar()
{
system("cls"); //Borra pantalla
printf("\n\n\n\t****************** DATOS INGRESADOS ******************\n\n");
lista *i=ultimo;//Declaracion de puntero i y asignación del valor del primer nodo
while(i !=NULL)//Mientras que i(nodo) no esté vacio
 {
  printf("titulo:%s\n",i->titulo);//Mostrar el titulo almacenado en el nodo
  printf("Autor:%s\n", i->autor);
  printf("Publicacion:%i\n", i->publicacion);
  printf("Codigo:%i\n", i->codigo);
  printf("____________________________\n\n");
  i=i->ant;// Pasar al siguiente nodo
 }
 system("pause>>null");//realiza una pause
 menu();//regresa al menu
}

//-------------------------------------------------------------------------------------------------

void eliminar()
{
 system ("cls");//Borrador de pantalla//
 lista *i=primero;// creando nodo como auxiliar (i) para hacer comparacion o mostar
 printf("\n\n\n\t****************** ELIMINAR LISTA ******************\n\n");
 int e, codigoe;// Variable tipo entero
 printf ("Imgrese el codigo a eliminar: ");
 scanf ("%d",&codigoe); // escane el codigo y muestras
 while (i!=NULL)//Mientras que i(nodo) no esté vacio
 {
  if (codigoe==i->codigo)
  {
   printf("titulo:%s\n",i->titulo);//Mostrar el nombre almacenado en el nodo actual
      printf("Autor:%s\n", i->autor);
      printf("Publicacion:%i\n", i->publicacion);
      printf("Codigo:%i\n", i->codigo);
     
      printf ("seguro desea elimnar presione 1: ");
      scanf ("%i", &e);
break;
  }
 
  else
  {
i=i->sig;
  }
 }
    if (e==1)
   {
   delete i;
   printf("\nLista borrada.");
   }
  system("pause>>null");
 menu();
}
 
//--------------------------------------------------------------------------------------------------

void busquedatitulo()
{//inicia el bloque de void busquedatitulo
 system ("cls");// borrador de pantalla
 lista *i=primero;//Declaracion de puntero i y asignación del valor del primer nodo
 char titulob [20];// Varianle tipo caracter
 bool encontrado = false;
 printf ("Ingrese el titulo del libro:");// muestra un mensaje
 fflush(stdin);//sirve para limpiar el buffer de entrada de teclado
 gets (titulob);//la funcion gets() te permite almacenar la cadena de caracteres que ingreses por teclado en el arreglo de caracteres que tengas creada
 while (i!=NULL)
 {
  if (strcmp (titulob, i->titulo)==0) //hace comparacion con la funcion strcmp
  {
     printf("\ntitulo:%s\n",i->titulo);//Mostrar el titulo del libro ingresado
  printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
  printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
  printf("Codigo:%i\n", i->codigo);//Muestra el codigo
  printf("____________________________\n\n"); // muestra las barra
i=i->sig;
encontrado = true;
  }
  else {
i=i->sig;
  }
 
 }
 
 if (encontrado == false){
  printf("\n\t Titulo del libro no registrado \t");
 }
 
 system("pause>>null");
 menu();
}//finaliza el bloque del voi busquedatitulo

//--------------------------------------------------------------------------------------------------

void busquedaautor()
{
 system ("cls");
 lista *i=primero;
 char autorb [20];
 bool encontrado = false;
 printf ("Ingrese el nombre del autor:");// muestra el mensaje  que se encuentra en comillas
 printf("\n");
 fflush(stdin);
 gets (autorb);
 while (i!=NULL)
 {
  if (strcmp (autorb, i->autor)==0)
  {
     printf("titulo:%s\n\n",i->titulo);//Mostrar el titulo del libro ingresado
  printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
  printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
  printf("Codigo:%i\n", i->codigo);//Muestra el codigo
  printf("____________________________\n\n"); // muestra las barra
  i=i->sig;
  encontrado = true;
  }
  else {
  i=i->sig;
  }
}
 
   if (encontrado == false){
  printf("\n\t Autor no registrado\t");
 }
 
 
 system("pause>>null");
 menu();
}

//--------------------------------------------------------------------------------------------------

void busquedapublicacion ()
{
 system ("cls");
 lista *i=primero;
 printf ("Ingrese el año de publicacion: ");// muestra el mensaje  que se encuentra en comillas
 int publicacionb=0;
 bool encontrado = false;
 scanf ("%i",&publicacionb);
 while (i !=NULL)
 {
  if (publicacionb==i->publicacion)
  {
  printf("titulo:%s\n",i->titulo);//Mostrar el titulo del libro ingresado
  printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
  printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
  printf("Codigo:%i\n", i->codigo);//Muestra el codigo
  printf("____________________________\n\n"); // muestra las barra
encontrado = true;
i=i->sig;
  }
  else {
  i=i->sig;
  }
}
 
     if (encontrado == false){
  printf("\n\t No se encuentra registado\t");
 }
 

 system("pause>>null");
 menu();
}

//--------------------------------------------------------------------------------------------------

void busquedacodigo ()
{
 system ("cls");
 lista *i=primero;
 printf("\n\n\n\t****************** BUSQUEDA ******************\n\n");
 int codigo1;
 bool encontrado = false;
 printf ("Ingrese el codigo que desea buscar:");
 scanf ("%i",&codigo1);
 while (i !=NULL)
 {
  if (codigo1== i->codigo )
  {
  printf("titulo:%s\n",i->titulo);//Mostrar el titulo del libro ingresado
  printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
  printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
  printf("Codigo:%i\n", i->codigo);//Muestra el codigo
 
      break;
      encontrado = true;
  }
  else if (codigo1!=0) 
  {
  i=i->sig;
  }
}

     if (encontrado == false){
  printf("\n\t No se encuentra registado\t");
 }

 system("pause>>null");
 menu();
}


//--------------------------------------------------------------------------------------------------

void menu()
{ //inicia el void menu
 system("cls");//borra el contenido de la pantalla

 int op; //variable tipo entera op
 printf("\n\n\n\t******************  CONTROL DE REGISTRO   ******************\n\n");//muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t1.-Ingresar libro\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t2.-Mostrar Registros de libros\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t3.-Buscar libro por titulo\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t4.-Buscar libro por autor\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t5.-buscar libro por codigo\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t6.-Buscar libro por año de de publicacion\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t7.-Eliminar libro del registro\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\t8.-Salir\n\n");// muestra el mensaje  que se encuentra en comillas
 printf("\t\t\tSelecciona una opcion: ");// muestra el mensaje  que se encuentra en comillas
 scanf("%i",&op);
 
        switch(op)
 {//inicia el switch
 case 1:
  ingresar();
  break;
 case 2:
  mostrar();
  system("pause>null");
  menu();
  break;
 case 3:
  busquedatitulo();
  system("pause>null");
  menu();
  break;
 case 4:
  busquedaautor ();
  system("pause>null");
  menu();
        break;
 case 5:
     busquedacodigo();
  system("pause>null");
  menu();
  break;
  case 6:
   busquedapublicacion ();
      system ("pause>>null");
         menu ();
            break;
  case 7:
   eliminar ();
   system ("pause>>null");
      menu ();

  case 8:
   system ("cls");
   printf("\nGRACIAS POR UTILIZAR EL SISTEMA\n");
   
    break;
   
    while (op!=8);
 default:
      printf("\n\tOpcion invalidan\t");
   printf("\n\t Seleccione un numero que se muestre en pantalla\n\t");
  system("pause>null");
  menu();
 }//finaliza el switch
}//finaliza el void menu

//--------------------------------------------------------------------------------------------------

int main() //* Función principal *//
{
 system("title Biblioteca Universal Alonso de Ojeda");
 system("color 1f");
 menu();
 system("pause>null");
}

Función Eliminar
Código: (c) [Seleccionar]
void eliminar()
{
 system ("cls");//Borrador de pantalla//
 lista *i=primero;// creando nodo como auxiliar (i) para hacer comparacion o mostar
 printf("\n\n\n\t****************** ELIMINAR LISTA ******************\n\n");
 int e, codigoe;// Variable tipo entero
 printf ("Imgrese el codigo a eliminar: ");
 scanf ("%d",&codigoe); // escane el codigo y muestras
 while (i!=NULL)//Mientras que i(nodo) no esté vacio
 {
  if (codigoe==i->codigo)
  {
   printf("titulo:%s\n",i->titulo);//Mostrar el nombre almacenado en el nodo actual
      printf("Autor:%s\n", i->autor);
      printf("Publicacion:%i\n", i->publicacion);
      printf("Codigo:%i\n", i->codigo);
     
      printf ("seguro desea elimnar presione 1: ");
      scanf ("%i", &e);
break;
  }
 
  else
  {
i=i->sig;
  }
 }
    if (e==1)
   {
   delete i;
   printf("\nLista borrada.");
   }
  system("pause>>null");
 menu();
}

La verdad es que necesito la ayuda, el programa lo tengo que presentar y defender hoy en la universidad y mi conocimiento con C es realmente limitado.

Saludos.

4
Dudas y pedidos generales / [SOLUCIONADO] Ayuda con C
« en: Marzo 16, 2016, 07:32:15 pm »
Buenas, tengo un problema con un codigo en C y la verdad es que no se que mas hacerle al algoritmo para que me compile en el visual, necesito que me corra y trabaje bien listo para el Viernes porque es para la Univ.

1 El programa es sencillo, es un registro de datos para libros:
- Autor
- Año
- Codigo
- Titulo

2 El programa debe buscar los registros por los datos ya mencionados y deben mostrar todos a la misma vez.
3 Debe hacer una funcion para borrar o elilminar libros buscandolo por codigo de 3 digitos
4 El programa debe mostrar una lista de todos los libros con sus datos correspondientes por nodo doblemente enlazados

Aqui está el algoritmo, pero no se que mas hacerle para que funcione en teoria llevo un 89%

Codigo Abierto:
http://pastebin.com/rbNKPjfa


Código: (c) [Seleccionar]
/*////////////////////////////////////////////////////////////////////////////////////////////////////////
*                                                                                                     ///
* |        |      |             |                                                                ///
* |--- , ' |--- , |     ' ,---. |---  ,---. ,---. ,---.     ///
* |    | | |    | |     | |   | |     |---' |     ,---|    ///
* `---'  '  `---' `---' ' `---' `---' `---' `---' `---^   ///
*                                                                                                ///
* Jose L. Montaner                                                                            ///         
* 24432283                                                                                   ///
* 16/03/2016                                                                                ///
*///////////////////////////////////////////////////////////////////////////////////////////////


#include<stdlib.h>// Permite ingresar al archivo de cabecera estandar de libreria, que reconoce los system
#include<stdio.h>// Perime crear  archivo de cabecera estandar de entrada y salida que reconoce los printf, fflush y scanf
#include<string.h> //Cadena de textos que se puede comprobar el valor de una cadenas

//-------------------------------------------------------------------------------------------------------

struct nodo //Declaración de "nodo" como una estructura de datos
{
char titulo[100];//caracte que posee una  variable llamada "titulo", finalizando en punto y coma (;)
char autor [100];//caracte que posee una variable llamada "autor", finalizando en punto y coma (;)
int publicacion;//Entero que posee una variable llamada "publicacion",finalizando en punto y coma (;)
int codigo;//Entero que posee una variable llamada  "Código",finalizando en punto y coma (;)
nodo *ant, *sig;//Declaración de "sig" de tipo nodo, se denota por (*) antes de la variables ant y sig

};//finaliza el bloque del struct y el punto y coma (;) indica

//--------------------------------------------------------------------------------------------------

typedef nodo lista; //Declaracion de "lista" como tipo nodo
lista *primero,*ultimo; //Declaración de punteros "primero" y "ultimo" de tipo lista
void menu();//Prototipo de función
void ingresar();//Prototipo de función
void mostrar();//Prototipo de función
void busquedatitulo();//Prototipo de función
void busquedaautor();//Prototipo de función
void busquedapublicacion();//Prototipo de función
void busquedacodigo();//Prototipo de función
void eliminar ();//propio de la funcion


//--------------------------------------------------------------------------------------------------
void ingresar() //
{ //inicio del bloque del void ingresar
system("cls");
        lista *nuevo;

        nuevo=new(nodo);//Se crea un nuevo nodo para la lista enlazada, new nuevo tipo de instruccion
        system("cls");//Borrador de pantalla
printf("\n\n\n\t****************** INGRESAR DATOS ******************\n\n");
        for (int i=0;i<1;i++)

{ // inicio del for
printf("Nombre del libro: ");// muestra el mensaje  que se encuentra en comillas
fflush(stdin);//Limpiar buffer de entrada de datos
gets(nuevo->titulo);//Almacenar el titulo en el nuevo nodo

printf("autor: ");// muestra el mensaje  que se encuentra en comillas
fflush(stdin);//Limpiar buffer de entrada de datos
gets(nuevo->autor);//Almacenar la vatiable autor en el nuevo nodo

printf("Año de publicacion: ");// muestra el mensaje  que se encuentra en comillas
fflush(stdin);//Limpiar buffer de entrada de datos
scanf ("%i",&nuevo->publicacion);

printf("Ingrese los 3 codigo del libro: ");// muestra el mensaje  que se encuentra en comillas
scanf ("%i",&nuevo->codigo);// entrada de dato con formato
}// finalizar el for

nuevo->sig=NULL; //nuevo es igual al sig y sig es igual a null
nuevo->ant=NULL;// el nuevo nodo de la lista no tiene un  nodo anterior

        if(primero==NULL)// estructura de control que indica Si el registro es el primero a ingresar
{//inicia el if
primero=nuevo; // entonces el nuevo nodo es tanto el primero..
ultimo=nuevo;// como el último
}
else //De no ser así
{
/*doblemente enlazado*/
ultimo->sig=nuevo; //Entonces el nodo anterior ahora apunta al nuevo
nuevo->ant=ultimo;// el nodo anterio es el ultimo
ultimo=nuevo; //Y el nuevo ahora es el último nodo de la lista
}
menu();//regresa al menu
}

//--------------------------------------------------------------------------------------------------

void mostrar()
{
system("cls"); //Borra pantalla
printf("\n\n\n\t****************** DATOS INGRESADOS ******************\n\n");
lista *i=ultimo;//Declaracion de puntero i y asignación del valor del primer nodo
while(i !=NULL)//Mientras que i(nodo) no esté vacio
{
printf("titulo:%s\n",i->titulo);//Mostrar el titulo almacenado en el nodo
printf("Autor:%s\n", i->autor);
printf("Publicacion:%i\n", i->publicacion);
printf("Codigo:%i\n", i->codigo);
printf("____________________________\n\n");
i=i->ant;// Pasar al siguiente nodo
}
system("pause>>null");//realiza una pause
menu();//regresa al menu
}

//-------------------------------------------------------------------------------------------------

void eliminar()
{
system ("cls");//Borrador de pantalla//
lista *i=primero;// creando nodo como auxiliar (i) para hacer comparacion o mostar
printf("\n\n\n\t****************** ELIMINAR LISTA ******************\n\n");
int e, codigoe;// Variable tipo entero
printf ("Imgrese el codigo a eliminar:");
scanf ("Codigo:%i",&codigoe); // escane el codigo y muestras
while (i!=NULL)//Mientras que i(nodo) no esté vacio
{
if (codigoe==i->codigo)
{
printf("titulo:%s\n",i->titulo);//Mostrar el nombre almacenado en el nodo actual
    printf("Autor:%s\n", i->autor);
    printf("Publicacion:%i\n", i->publicacion);
    printf("Codigo:%i\n", i->codigo);

break;
}

else i=i->sig;
{
printf ("seguro desea elimnar presione 1");
scanf ("%i", &e);
}
if (e==1)
{
delete i;
}
system("pause>>null");
menu();
}
}

//--------------------------------------------------------------------------------------------------

void busquedatitulo()
{//inicia el bloque de void busquedatitulo
system ("cls");// borrador de pantalla
lista *i=primero; // creando nodo como auxiliar (i) para hacer comparacion o mostar
char titulob [20];// Varianle tipo caracter
printf ("Ingrese el titulo del libro:");// muestra un mensaje
fflush(stdin);//sirve para limpiar el buffer de entrada de teclado
gets (titulob);//la funcion gets() te permite almacenar la cadena de caracteres que ingreses por teclado en el arreglo de caracteres que tengas creada
while (i!=NULL)
{
if (strcmp (titulob, i->titulo)==0) //hace comparacion con la funcion strcmp
{
    printf("\ntitulo:%s\n",i->titulo);//Mostrar el titulo del libro ingresado
printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
printf("Codigo:%i\n", i->codigo);//Muestra el codigo
printf("____________________________\n\n"); // muestra las barra
i=i->sig;
}
else {
printf("\n\t Titulo del libro no registrado \t");
    system("pause>null");
i=i->sig;
}break;

}
system("pause>>null");
menu();
}//finaliza el bloque del voi busquedatitulo

//--------------------------------------------------------------------------------------------------

void busquedaautor()
{
system ("cls");
lista *i=primero;
char autorb [20];
printf ("Ingrese el nombre del autor:");// muestra el mensaje  que se encuentra en comillas
printf("\n");
fflush(stdin);
gets (autorb);
while (i!=NULL)
{
if (strcmp (autorb, i->autor)==0)
{
    printf("titulo:%s\n\n",i->titulo);//Mostrar el titulo del libro ingresado
printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
printf("Codigo:%i\n", i->codigo);//Muestra el codigo
printf("____________________________\n\n"); // muestra las barra
i=i->sig;
}
else {
    printf("\n\t Autor no registrado\t");
    system("pause>null");
i=i->sig;
}break;
}
system("pause>>null");
menu();
}

//--------------------------------------------------------------------------------------------------

void busquedapublicacion ()
{
system ("cls");
lista *i=primero;
printf ("Ingrese el año de publicacion");// muestra el mensaje  que se encuentra en comillas
int publicacionb=0;
scanf ("Año de publucacion:%i",&publicacionb);
while (i !=NULL)
{
if (publicacionb==i->publicacion)
{
printf("titulo:%s\n",i->titulo);//Mostrar el titulo del libro ingresado
printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
printf("Codigo:%i\n", i->codigo);//Muestra el codigo
printf("____________________________\n\n"); // muestra las barra
break;
}
else {
    printf("\n\t No se encuentra registado\t");
    system("pause>null");
i=i->sig;
}break;

}
system("pause>>null");
menu();
}

//--------------------------------------------------------------------------------------------------

void busquedacodigo ()
{
system ("cls");
lista *i=primero;
printf("\n\n\n\t****************** BUSQUEDA ******************\n\n");
int codigo1;
printf ("Ingrese el codigo que desea buscar:");
scanf ("\n%i",&codigo1);
while (i !=NULL)
{
if (codigo1== i->codigo )
{
printf("titulo:%s\n",i->titulo);//Mostrar el titulo del libro ingresado
printf("Autor:%s\n", i->autor);//Muestra el nombre del autor
printf("Publicacion:%i\n", i->publicacion);// Muestra el año de publicacion
printf("Codigo:%i\n", i->codigo);//Muestra el codigo

    break;
}
else if (codigo1!=0)
{
    printf("\n\t No se encuentra registado\t");
    system("pause>null");
i=i->sig;
}break;
}
system("pause>>null");
menu();
}

nodo *borrar(int codigo, nodo *apuntador){

}

//--------------------------------------------------------------------------------------------------

void menu()
{ //inicia el void menu
system("cls");//borra el contenido de la pantalla

int op; //variable tipo entera op
printf("\n\n\n\t******************  CONTROL DE REGISTRO   ******************\n\n");//muestra el mensaje  que se encuentra en comillas
printf("\t\t\t1.-Ingresar libro\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t2.-Mostrar Registros de libros\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t3.-Buscar libro por titulo\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t4.-Buscar libro por autor\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t5.-buscar libro por codigo\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t6.-Buscar libro por año de de publicacion\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t7.-Eliminar libro del registro\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\t8.-Salir\n\n");// muestra el mensaje  que se encuentra en comillas
printf("\t\t\tSelecciona una opcion: ");// muestra el mensaje  que se encuentra en comillas
scanf("%i",&op);

        switch(op)
{//inicia el switch
case 1:
ingresar();
break;
case 2:
mostrar();
system("pause>null");
menu();
break;
case 3:
busquedatitulo();
system("pause>null");
menu();
break;
case 4:
busquedaautor ();
system("pause>null");
menu();
        break;
case 5:
    busquedacodigo();
system("pause>null");
menu();
break;
case 6:
busquedapublicacion ();
    system ("pause>>null");
        menu ();
            break;
case 7:
eliminar ();
system ("pause>>null");
    menu ();

case 8:
system ("cls");
printf("\nGRACIAS POR UTILIZAR EL SISTEMA\n");

break;

while (op!=8);
default:
    printf("\n\tOpcion invalidan\t");
printf("\n\t Seleccione un numero que se muestre en pantalla\n\t");
system("pause>null");
menu();
}//finaliza el switch
}//finaliza el void menu

//--------------------------------------------------------------------------------------------------

void main() //* Función principal *//
{
system("title Biblioteca Universal Alonso de Ojeda");
system("color 1f");
menu();
system("pause>null");
}

Páginas: [1]