elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Bases de Datos / Duda en este ejercicio de diseño BD en: 9 Octubre 2013, 13:27 pm
la consigna es ....
Base de datos.
Trabajo práctico

Se debe diseñar, implementar y documentar una base de datos para una gimnasio.
Los datos que se han relevado son los siguientes:

•   El gimnasio tiene distintas actividades (clases) y utilización libre de maquinas y aparatos.
•   Los alumnos pueden estar abonados a:
o   Clases especificas dos días a la semana, cada clase tiene una designación, días de la semana que se imparte, horario y arancel.
o   Uso de aparatos dos días a la semana (horarios posibles mañana  200$, tarde 220$, noche 250$).
o   Uso libre de aparatos todos los días (300$, 350$ y 400$ según horario).
•   Los alumnos que concurren a más de una clase tienen acceso libre al resto de las instalaciones.
•   Al ingreso se controla si el alumno puede ingresar en ese horario. (Si su horario, si no tiene acceso libre y está al día con el pago).
•    Interesa saber todo lo recaudado en un mes.
•   Los pagos se realizan del 1 al 5 y todos los meses puede modificarse la inscripción a clases o modo de uso.
•   Se deben registrar los datos de los alumnos.

y yo hice esto... pero me quedo con la duda de los dias, como hacer que no se repita los dias en la misma columna....



alguna sugerencia o algo para corregir eso... o tienen una mejor idea o diseño??? Gracias!
2  Programación / Programación C/C++ / Duda TDA LiastaDobles en: 26 Abril 2012, 14:54 pm
//Mi duda es sobre lista doblemente enlazadas... porque no me deja poner null a mi nodo crear, y donde hay mas errores...? gracias!


//Soulrata
#include<stdio.h>
#include<stdlib.h>

struct nodo {
int info;
struct nodo *sig,*ant;
};

////////////////////////////////////////////////////////

void Crear (struct nodo **p)
{
*p = (struct nodo*) malloc (sizeof(struct nodo));
*p = NULL;
(*p)->sig = (*p)->ant = NULL;
printf("****** Crear ******\n");
printf("****** NODO *p ****** %d \n", *p);
printf("****** NODO sig ****** %d \n", (*p)->sig);
printf("****** NODO ant ****** %d \n\n", (*p)->ant);
/*******************************/
}

////////////////////////////////////////////////////////

void AltaPrin(struct nodo **p, int dato)
{
struct nodo *aux;
aux = (struct nodo*) malloc (sizeof(struct nodo));
aux->info = dato;
aux->sig = (*p)->sig;
aux->ant = *p;
if((*p)->sig!=NULL)
{
((*p)->sig)->ant = aux;
(*p)->sig = aux;
printf("****** IF ******\n");
}
//*p = aux;
printf("****** AltaPrin ******\n");
printf("****** NODO *p ****** %d \n", (*p));
printf("****** NODO INFO ****** %d \n", (*p)->info);
printf("****** SIGUIENTE ****** %d \n", (*p)->sig);
printf("****** ANTERIOR ****** %d \n\n", (*p)->ant);
/*******************************/
}

////////////////////////////////////////////////////////

void AltaFin (struct nodo **p, int dato)
{

struct nodo *aux, *aux2;
aux = (struct nodo*) malloc (sizeof(struct nodo));
aux2 = (struct nodo*) malloc (sizeof(struct nodo));
aux->info = dato;
aux->sig = NULL;
if(!(*p))
{
*p = aux;
(*p)->ant = NULL;
printf("****** Fin1 ******\n");
}
else
{
aux2 = *p;
while(aux2->sig != NULL) aux2->sig;
aux2->sig = aux;
aux->ant = aux2;
printf("****** Fin2 ******\n");
}
printf("****** AltaFin ******\n");
printf("****** NODO *p ****** %d \n", *p);
printf("****** NODO INFO ****** %d \n", (*p)->info);
printf("****** SIGUIENTE ****** %d \n", (*p)->sig);
printf("****** ANTERIOR ****** %d \n\n\n", (*p)->ant);
/*******************************/
}

////////////////////////////////////////////////////////

void Recorrer(struct nodo *p)
{
printf("****** Recorrido del nodo ******\n");
while(p)
{
printf("Valor: %d\n", p->info);
p = p->sig;
}
/*******************************/
}
void ImprimeLista(struct nodo *p)
{
struct nodo *aux = p;
if(aux==NULL)
printf("La lista esta vacia.\n");
else{
while(aux!=NULL){
printf("%s -->",aux->info);
aux=aux->sig;
}
printf("NULL\n\n");
}
}
////////////////////////////////////////////////////////

void BorrarUnNodo (struct nodo **p, int dato)
{
struct nodo *aux, *auxAnt;
aux = *p;
while(aux&&aux->info!=dato) aux = aux->sig;
if(aux)
{
auxAnt = aux->ant;
if(!auxAnt)
{
*p = (*p)->sig;
(*p)->ant = NULL;
free(aux);
}
else if (!aux->sig)
{
auxAnt->sig = NULL;
free(aux);
}
else
{
auxAnt->sig = aux->sig;
(aux->sig)->ant = auxAnt;
free(aux);
}
}
/*******************************/
}

////////////////////////////////////////////////////////

void Destruir (struct nodo **p)
{
if(*p!=NULL) free(*p);
if((*p)->sig == NULL)
{
printf("****** Nodo Destruido NULL *******\n");
}
}

////////////////////////////////////////////////////////

/////******* MAIN *******/////

int main()
{
struct nodo *a;

Crear(&a);
AltaPrin(&a,12);
AltaPrin(&a,13);
AltaPrin(&a,14);
AltaPrin(&a,15);

ImprimeLista(a);
AltaFin(&a, 2);
BorrarUnNodo(&a,4);
Recorrer(a);
/*******************************/
return 0;
}

//*******************************//
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines