Backup proyecto Joyfe - Borland

This commit is contained in:
2025-06-16 22:54:10 +02:00
commit d61829a1a7
130 changed files with 11881 additions and 0 deletions

161
CPP/ACTU.CPP Normal file
View File

@ -0,0 +1,161 @@
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *maes, *mov, *maestmp, *historico;
struct clientes{
char nombre[11], apellidos[21], direccion[21], telefono[11];
int codigo;
};
struct maestro {
int codigo;
char nombre[11], apellidos[21];
char direccion[21], telefono[11];
}regmaes;
struct movi {
char tipo;
int codigo;
char nombre[10], apellidos[20];
char direccion[20], telefono[10];
}regmov;
void limpiar1(), limpiar2();
void main(void){
struct clientes cli;
mov=fopen("k:\\files\\clientes.mov","r+b");
if ((maes=fopen("k:\\files\\clientes.dat","r+b"))==NULL){
//fclose(maes);
maes=fopen("k:\\files\\clientes.dat","w+b");
while (!feof(mov)){
limpiar1();limpiar2();
fread(&regmov,sizeof(regmov),1,mov);
if (regmov.tipo=='A') {
strcpy (regmaes.apellidos,regmov.apellidos);
strcpy (regmaes.nombre,regmov.nombre);
regmaes.codigo=regmov.codigo;
strcpy (regmaes.direccion,regmov.direccion);
strcpy (regmaes.telefono,regmov.telefono);
clrscr();
printf ("%d \n%s \n%s \n%s \n%s", regmaes.codigo, regmaes.nombre,regmaes.apellidos, regmaes.direccion, regmaes.telefono);
getch();
fwrite (&regmaes,sizeof(struct maestro),1,maes);
}
}
}
else{
fclose(maes);
system("rename k:\\files\\clientes.dat clientes.tmp");
maes=fopen("k:\\files\\clientes.dat","w+b");
maestmp=fopen("k:\\files\\clientes.tmp","rb");
historico=fopen("k:\\files\\clientes.log","a+b");
limpiar1();limpiar2();
fread(&regmov,sizeof(regmov),1,mov);
fread(&regmaes,sizeof(regmaes),1,maestmp);
while (!feof(mov) && !feof(maestmp)){
if (regmaes.codigo==regmov.codigo){
if(regmov.tipo=='A'){
printf("Error cliente duplicado.");getch();
fwrite(&regmaes,sizeof(regmaes),1,maes);
limpiar1();limpiar2();
fread(&regmov,sizeof(regmov),1,mov);
fread(&regmaes,sizeof(regmaes),1,maestmp);
}
else{
if (regmov.tipo=='B'){
printf("Dando de baja...");
fwrite(&regmaes,sizeof(regmaes),1,historico);
limpiar1();limpiar2();
fread(&regmov,sizeof(regmov),1,mov);
fread(&regmaes,sizeof(regmaes),1,maestmp);
}
else{
fwrite(&(regmov.codigo),2,1,maes);
fwrite(&(regmov.nombre),11,1,maes);
fwrite(&(regmov.apellidos),21,1,maes);
fwrite(&(regmov.direccion),21,1,maes);
fwrite(&(regmov.telefono),11,1,maes);
limpiar1();limpiar2();
fread(&regmov,sizeof(regmov),1,mov);
fread(&regmaes,sizeof(regmaes),1,maestmp);
}
}
}
else{
if(regmov.codigo>regmaes.codigo){
fwrite(&regmaes,sizeof(regmaes),1,maes);
limpiar2();
fread(&regmaes,sizeof(regmaes),1,maestmp);
}
else{
if (regmov.tipo=='A'){
fwrite(&(regmov.codigo),2,1,maes);
fwrite(&(regmov.nombre),10,1,maes);
fwrite(&(regmov.apellidos),20,1,maes);
fwrite(&(regmov.direccion),20,1,maes);
fwrite(&(regmov.telefono),10,1,maes);
}
else{
printf("Error: El cliente no existe.");getch();
}
limpiar1();
fread(&regmov,sizeof(regmov),1,mov);
}
}
} // fin del while
if (!feof(mov)){
while(!feof(mov)){
if(regmov.tipo=='A'){
strcpy (regmaes.apellidos,regmov.apellidos);
strcpy (regmaes.nombre,regmov.nombre);
regmaes.codigo=regmov.codigo;
strcpy (regmaes.direccion,regmov.direccion);
strcpy (regmaes.telefono,regmov.telefono);
clrscr();
printf ("%d \n%s \n%s \n%s \n%s", regmaes.codigo, regmaes.nombre,regmaes.apellidos, regmaes.direccion, regmaes.telefono);
getch();
fwrite (&regmaes,sizeof(struct maestro),1,maes);
}
else{
printf("Error: El cliente no existe.");getch();
}
limpiar1();
fread(&regmov,sizeof(regmov),1,mov);
}
}
else{
if(!feof(maestmp)){
while(!feof(maestmp)){
fwrite(&regmaes,sizeof(regmaes),1,maes);
limpiar2();
fread(&regmaes,sizeof(regmaes),1,maestmp);
}
}
}
fcloseall();
}
unlink("k:\\files\\clientes.mov");
unlink("k:\\files\\clientes.tmp");
}
void limpiar1(){
regmov.tipo=NULL;regmov.codigo=0;
for (int n=0;n<21;n++){
regmov.apellidos[n]=NULL;regmov.direccion[n]=NULL;
}
for(n=0;n<11;n++){
regmov.nombre[n]=NULL;regmov.telefono[n]=NULL;
}
}
void limpiar2(){
for (int n=0;n<21;n++){
regmaes.apellidos[n]=NULL;regmaes.direccion[n]=NULL;
}
for (n=0;n<11;n++){
regmaes.nombre[n]=NULL;regmaes.telefono[n]=NULL;
}
regmaes.codigo=0;
}