Cubatica nuestro que estas en el vaso a través de la boca abriéndote paso. Satificados sean tus grados. Vengan a nosotros tus efectos. Hágase tu voluntad así en el bar como en el pub. El pedo nuestro de cada noche, dánoslo hoy. Perdona nuestras mezclas como nosotros perdonamos los garrafones. No nos dejes beber Bucler sin alcohol y libranos del Biter Kas. Amen. Feliz Navidad y año 2010!


Base de Dades en C++ || Base de Datos en C++ –> Lista Enlazada

Buenas buenas, hoy traigo una autentica base de datos en c++ estandart, funciona en todos los compiladores, pero os recomiendo el builderc++.
Lo he hecho lo mas esquemático posible por una mejor entendimiento del código , todo mismo alguna duda en el foro,jeje. Chao.

Por cierto Toda obra mia, en media horita, y lo importante es que FUNCIONA al 100%.


Builder c++ Compiler (Faltan Las librerias del Include standars, ej: conio,msdos,…)

//———————————————————————#include

#include  ***

#include ***

#include  ***

#include  ***

#include   ***

#include  ***

#include  ***

#pragma hdrstop

//———————————————————————
USERES(“Project1.res”);

//———————————————————————
struct FITXA

{

char nom[20];

char cognom[20];

struct FITXA *enllac;

}*inici,*aux,*aux2,*darrer,*anterior;

//———————————————————————

FILE *punter;

//———————————————————————
int x,contador1,contador2;

char nome[20];

//———————————————————————
void carregar();

void mostrar();

void insertar();

void cercar();

void borrar();

void primerRegistre();

void enmigRegistre();

void ultimRegistre();

//———————————————————————
void carregar()

{

punter= fopen(“alumne.txt”,”a+”);

inici=(struct FITXA*)malloc(sizeof(struct FITXA));

if(malloc==NULL){printf(“n ERROR ERROR ERROR !!”);sleep(2);exit(1);}

fscanf(punter,”%s %s”,inici->nom,inici->cognom);

inici->enllac=NULL;

darrer=inici;

while(feof(punter)==0)

{

aux=(struct FITXA*)malloc(sizeof(struct FITXA));

darrer->enllac=aux;

aux->enllac=NULL;

darrer=aux;

fscanf(punter,”%s %s”,darrer->nom,darrer->cognom);

}

}

//———————————————————————
//———————————————————————
void mostrar()

{

aux=inici;

while(aux!=NULL)

{

printf(“n %s %s “,aux->nom,aux->cognom);

aux=aux->enllac;

}

printf(“n”);

printf(“n Polseu Una Tecla Per Continuar…”);

getch();

}

//———————————————————————
//———————————————————————
void insertar()

{

darrer=(struct FITXA*)malloc(sizeof(struct FITXA));

aux=inici;

while(aux->enllac!=NULL)

{

aux=aux->enllac;

}

aux->enllac=darrer;

darrer->enllac=NULL;

clrscr();

printf(“n INSERCIO DE REGISTRES “);

printf(“n”);

printf(“n”);

printf(“n Introdueix NOM:”);

scanf(“%s”,darrer->nom);

printf(“n”);

printf(“n Introdueix COGNOM:”);

scanf(“%s”,darrer->cognom);

printf(“n %s %s”,darrer->nom,darrer->cognom);

//fprintf(punter,”n%s %s”,darrer->nom,darrer->cognom);

printf(“n”);

fclose(punter);

//carregar();

mostrar();

}

//———————————————————————
//———————————————————————
void cercar()

{

clrscr();

printf(“n CERCAR REGISTRES “);

printf(“n”);

printf(“n”);

printf(“n Introdueix NOM a Cercar:”);

scanf(“%s”,&nome);

aux=inici;

while(aux!=NULL)

{

if(strcmp(aux->nom,nome)==0)

{

printf(“n %s %s “,aux->nom,aux->cognom);

}

aux=aux->enllac;

}

printf(“n”);

printf(“n Polseu Una Tecla Per Continuar…”);

getch();

}

//———————————————————————
//———————————————————————
void borrar()

{

contador1=1;

contador2=1;

clrscr();

printf(“n BORRAR REGISTRES “);

printf(“n”);

printf(“n”);

printf(“n Introdueix NOM a Borrar:”);

scanf(“%s”,&nome);

aux=inici;

while(aux!=NULL)

{

if(strcmp(aux->nom,nome)==0)

{

contador1=contador2;

printf(“n Registre a Borrar: %s %s “,aux->nom,aux->cognom);

}

aux=aux->enllac;

contador2++;

}

contador2–;

printf(“n Registre a borrar Num.: %d”,contador1);

printf(“n Num. Total de Registres: %d”,contador2);

getch();

if(contador1==1){primerRegistre();}

if(contador1==contador2){ultimRegistre();}

if((contador1!=1)&&(contador1!=contador2)){enmigRegistre();}

printf(“n”);

printf(“n Polseu Una Tecla Per Continuar…”);

getch();

}

//———————————————————————
void primerRegistre()

{

clrscr();

printf(“n primerRegistre “);

printf(“n”);

printf(“n”);

aux=inici;

inici=inici->enllac;

free(aux);

getch();

}

//———————————————————————
void enmigRegistre()

{

clrscr();

printf(“n enmigRegistre “);

printf(“n”);

printf(“n”);

x=0;

aux=inici;

contador1–;

while(1)

{

x++;

if(contador1==x)

{

aux2=aux->enllac;

aux->enllac=aux2->enllac;

free(aux2);

break;

}

aux=aux->enllac;

}

getch();

}

//———————————————————————
void ultimRegistre()

{

clrscr();

printf(“n ultimRegistre “);

printf(“n”);

printf(“n”);

aux=darrer;

darrer=inici;

while(darrer->enllac!=NULL)

{

darrer=darrer->enllac;

}

darrer->enllac=NULL;

free(aux);

getch();

}

//———————————————————————

main()

{

carregar();

mostrar();

insertar();

cercar();

borrar();

clrscr();

mostrar();

//fprintf(punter,”n%s %s”,darrer->nom,darrer->cognom); //GUARDAR al fitxero

fclose(punter);

}

Todos Los Derechos Reservados. Shersoft Co.Ltd. 2008


PD: Por cierto es necessario que lo mireis pq crea ficheros automaticamente. Y no guarda los datos (registros)por seguridad, todo mismo la función de guardar registros está escrita como comentario , solo teneis que quitar las (//) para que se guarde.
basededatos

Chiste

Tres hombres estan pensando a que jugar. Uno dice: -Al golf.Se necesita un palo , dos pelotas y un agujero. Uno dice: -Yo pongo el palo. Otro dice: -Yo las pelotas. Y el ultimo dice: -Pues yo no juego.

Anecdotas

Hoy, fui al McDonald’s y pedí una ensalada. El dependiente me miró y dijo: “Bueno, al menos lo estás intentando”.

Alzhéimer

Un comando de actores hacen sentir a la gente en su propia piel la enfermedad del alzhéimer.

Alzheimer
/ins>

Problemas En El Blog

Se ha echo un cambio del servidor, y los problemas siguen. Sigo sin poder incluir videos youtube a los posts, todo mismo estoy en ello. Paciencia.

PD: Tenia 8 post muy buenos para poner hoy (guardados por anetelación) pero con el cambio por lo visto se ha borrado.

Humor amarillo ?

Ojalá…

Las diferencias entre cooperativas y bancos…

muy divertido

En el mundo gatuno tambien hay abusones, o no.


Se le ve el otro gato implorando clemencia cagado de miedo hasta la pata de arriba.