Está en la página 1de 8

**********Libro.

c**********

#include <stdio.h>
#include <stdlib.h>
#include "Libro.h"

int main (){


Libro libro;
printf("Libros\n\n");
CapturaLibro(&libro);
ListaLibro(libro);
return 0;
}

void CapturaLibro(Libro *libro){


printf("Ingresa el titulo del libro\n");
fflush(stdin);
gets(libro->Titulo);
fflush(stdin);
printf("\n");
printf("Ingresa la clave del libro\n");
scanf("%i", &libro->Clave_del_libro);
printf("\n");
printf("Ingresa el precio del libro\n");
scanf("%f",&libro->Precio);

void ListaLibro(Libro libro){


printf("\n\nTitulo del libro\n");
puts(libro.Titulo);
printf("\n");
printf("Clave del libro\n");
printf("%i", libro.Clave_del_libro);
printf("\n");
printf("Precio del libro\n");
printf("%.1f",libro.Precio);

**********Libro.h**********

typedef struct {

int Clave_del_libro;
char Titulo[30];
float Precio;
} Libro;

void CapturaLibro(Libro *libro);


void ListaLibro(Libro libro);

**********Libro.c**********
#include <stdio.h>
#include <stdlib.h>
#include "Libro.h"

int main (){


Libro libro;
printf("Libros\n\n");
CapturaLibro(&libro);
ListaLibro(libro);
return 0;
}

void CapturaLibro(Libro *libro){


printf("\n\n\n");
printf("Ingresa el titulo del libro\n");
fflush(stdin);
gets(libro->Titulo);
fflush(stdin);
printf("\n");
printf("Ingresa la clave del libro\n");
scanf("%i", &libro->Clave_del_libro);
printf("\n");
printf("Ingresa el precio del libro\n");
scanf("%f",&libro->Precio);

printf("\n");
printf("Ingresa el nombre del autor\n");
fflush(stdin);
gets(libro->autor.Nombre);
fflush(stdin);
printf("\n");
printf("Ingresa el apellido del autor\n");
gets(libro->autor.Apellido);
fflush(stdin);
printf("\n\n\n");
}

void ListaLibro(Libro libro){


printf("\n\n\n");
printf("\n\nTitulo del libro\n");
puts(libro.Titulo);
printf("\nClave del libro\n");
printf("%i", libro.Clave_del_libro);
printf("\n");
printf("\nPrecio del libro\n");
printf("%.1f",libro.Precio);
printf("\n");
printf("\nNombre de autor del libro\n");
puts(libro.autor.Nombre);
printf("\nApellido del autor del libro\n");
puts(libro.autor.Apellido);
printf("\n\n\n");

}
**********Libro.h**********

typedef struct {
char Nombre [30];
char Apellido [30];
} Autor;

typedef struct {

int Clave_del_libro;
char Titulo[30];
float Precio;
Autor autor;

} Libro;

void CapturaLibro(Libro *libro);


void ListaLibro(Libro libro);

**********Libro.c**********

#include <stdio.h>
#include <stdlib.h>
#include "Libro.h"

int main (){


Libro libros3[2];
int i;
printf("Libros\n\n");
for(i=0;i<2;i++){
CapturaLibro(&libros3[i]);
}
for(i=0;i<2;i++){
ListaLibro(libros3[i]);
}
return 0;
}

void CapturaLibro(Libro *libro){


printf("\n\n\n");
printf("Ingresa el titulo del libro\n");
fflush(stdin);
gets(libro->Titulo);
fflush(stdin);
printf("\n");
printf("Ingresa la clave del libro\n");
scanf("%i", &libro->Clave_del_libro);
printf("\n");
printf("Ingresa el precio del libro\n");
scanf("%f",&libro->Precio);

printf("\n");
printf("Ingresa el nombre del autor\n");
fflush(stdin);
gets(libro->autor.Nombre);
fflush(stdin);
printf("\n");
printf("Ingresa el apellido del autor\n");
gets(libro->autor.Apellido);
fflush(stdin);
printf("\n\n\n");
}

void ListaLibro(Libro libro){


printf("\n\n\n");
printf("\n\nTitulo del libro\n");
puts(libro.Titulo);
printf("\nClave del libro\n");
printf("%i", libro.Clave_del_libro);
printf("\n");
printf("\nPrecio del libro\n");
printf("%.1f",libro.Precio);
printf("\n");
printf("\nNombre de autor del libro\n");
puts(libro.autor.Nombre);
printf("\nApellido del autor del libro\n");
puts(libro.autor.Apellido);
printf("\n\n\n");

}
**********Libro.h**********

typedef struct {
char Nombre [30];
char Apellido [30];
} Autor;

typedef struct {

int Clave_del_libro;
char Titulo[30];
float Precio;
Autor autor;

} Libro;

void CapturaLibro(Libro *libro);


void ListaLibro(Libro libro);
/***
* Ing. Patricia Del Valle Morales
* Estructuras de Datos y Algoritmos 1
* Arreglo de enteros con repeticin
* de datos y sin orden.
* NO VALIDA la captura de datos enteros.
***/

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define max 5

int Menu (char texto[], int n);


int Lleno(int indice);
bool Vacio(int indice);
void Insertar(int dato, int *arreglo, int *indice);
void Listar(int arreglo[],int indice);
int Buscar(int dato, int arreglo[], int indice);
void Actualizar(int arreglo[], int pos);
int Borrar (int *arreglo,int pos, int *indice );
void ListarDato(int arreglo[],int pos);

int main() {
/*Variables locales*/

int arreglo[max];
int indice;

int dato,opcion, pos,tmp;


indice = -1;
do {
printf("Estructura de datos ARREGLOS\n");
opcion =
Menu("\n1)Insertar\n2)Borrar\n3)Actualizar\n4)Buscar\n5)Listar\n6)Ordenar\n7)Salir\nOpcion:",7);
switch (opcion) {
case 1: /*Insertar*/
if (!Lleno(indice)){
printf("Dame un dato:");
scanf("%d",&dato);
Insertar(dato,arreglo,&indice);
Listar(arreglo,indice);
}
else
printf("Error: no hay espacio en el arreglo...");
break;
case 2: /*Borrar*/
printf("Dame el dato a borrar:");
scanf("%d",&dato);
pos= Buscar(dato,arreglo,indice);
if (pos !=-1){
tmp = Borrar(arreglo,pos, &indice);
printf("El valor borrado es: %i\n",tmp);
}
break;
case 3: /*Actualizar*/
printf("Dame el dato a actualizar:");
scanf("%d",&dato);
pos= Buscar(dato,arreglo,indice);
if (pos !=-1)
Actualizar(arreglo,pos);
break;
case 4: /*Buscar*/
printf("Dame el dato a buscar:");
scanf("%d",&dato);

pos= Buscar(dato,arreglo,indice);
if (pos !=-1)
ListarDato(arreglo,pos);
break;
case 5: /*Listar*/
Listar(arreglo, indice);
break;
case 6: /*Ordenar*/
break;

}
system("pause");
system("cls");

} while (opcion != 7);


return 0;
}

/*============================================*/
int Menu (char texto[], int n) {
int opcion;
do {
printf("%s ",texto);
scanf("%d", &opcion);
if (opcion < 1 || opcion > n)
printf("Error: opcion no valida...\n");
} while (opcion < 1 || opcion > n);
return opcion;
}
/*=================================================*/

int Lleno(int indice){


return (indice == max-1);
}
bool Vacio(int indice) {
return indice ==-1;
}

void Insertar(int dato, int *arreglo, int *indice){


*indice=*indice+ 1;
arreglo[*indice]= dato;
}
void Listar(int arreglo[],int indice){
int i;
if (Vacio(indice))
printf("No hay datos en el arreglo\n");
else
for (i=0; i<= indice; i++)
printf("[%d]=%d\t", i, arreglo[i]);

printf("\n");

}
int Buscar(int dato, int arreglo[], int indice) {
int i;
for(i=0; i<=indice; i++){
if(dato==arreglo[i])
return i;
}
printf("No existe el dato %d en el arreglo\n", dato);
return -1;
}

void Actualizar(int arreglo[], int pos) {


printf("Dame el nuevo valor: ");
scanf("%d",&arreglo[pos]);
}
int Borrar (int *arreglo,int pos, int *indice ){
int aux = arreglo[pos];
arreglo[pos]=arreglo[*indice];
(*indice)--;
return aux;
}
void ListarDato(int arreglo[],int pos){
printf("%d\n", arreglo[pos]);
}

/
*=========================================================
==*/

También podría gustarte