Hola compañeros,
soy medio nuevo en esto de la programacion y tengo que hacer un proyecto de una base de datos para entrega final. Tengo varias dudas a ver si los sabios de la comunidad me la saben resolver. Tengo que realizar una base de datos con funciones, punteros y tal que tengo algo hecho.
Código:
#include "funciones.h"
struct caracteristicas {
char nombre[15];
int edad;
int peso;
int cantidad;
char habitat [20];
int identificacion;
struct caracteristicas *siguiente;
};
// Insertar especie
void crear(struct caracteristicas **primera, struct caracteristicas **ultima, int *nCaracteristicas){
struct caracteristicas *especie=NULL; //puntero que apuntara a la especie que estamos creando
// Asignamos el espacio de memoria necesario para la especie
if ((especie=malloc(sizeof(struct caracteristicas)))==NULL){
puts("Error al asignar la memoria");
} else {
// pedimos los datos de la especie
puts("Dar de alta una especie:\n");
puts("Dime el nombre de la especie: ");
gets(especie->nombre);
fflush(stdin);
puts("Dime la edad: ");
scanf("%d",&especie->edad);
fflush(stdin);
puts("Dime el peso: ");
scanf("%d",&especie->peso);
fflush(stdin);
puts("Dime la cantidad: ");
scanf("%d",&especie->cantidad);
fflush(stdin);
puts("Dime el habitat: ");
gets(especie->habitat);
fflush(stdin);
puts("Dime el numero identificativo: ");
scanf("%d",&especie->identificacion);
printf("\n\n");
especie->siguiente=NULL;
// Ponemos siguiente a null ya que la especie actual sera la ultima
if (*primera==NULL){
// Si primera es null no tenemos especies y la primera y ultima seran la actual
*ultima=especie;
*primera=especie;
} else {
// Si ya tenemos especies el puntero siguiente de la ultima persona apuntara
// a la actual y la ultima sera esta
(**ultima).siguiente=especie;
*ultima=especie;
}
(*nCaracteristicas)++;
puts("Insercion correcta");
}
}
// Mostrar las especies de la lista
void mostrar(struct caracteristicas *primera){
if ((primera==NULL)){
puts("No hay personas insertadas");
} else {
struct caracteristicas *carActual=primera;
// Asignamos la primera especie al puntero y mostramos sus datos
do {
printf("Nombre: %s\nEdad: %d\nCantidad: %d\nNumero identificativo: %d\n",carActual->nombre, carActual->edad,carActual->cantidad, carActual->identificacion);
printf("\n\n");
// Buscamos la siguiente persona y apuntamos a ella
carActual=carActual->siguiente;
} while(carActual!=NULL);
}
}
Ahora a partir de esto tengo que crear una funcion para borrar, modificar una especie ya introducida, aumentar y disminuir cantidad de animales...
Si alguien me pudiera ayudar se lo agradeceria. :)