Está en la página 1de 5

void crearsede(){

struct regsede fsede;


int csede; system("cls");
bool existe;
cuadro(1,5,80,25);
resp='S';
while(resp=='S'){
existe=false;
cuadro(1,5,80,25);
gotoxy(25,7);textcolor(12);cprintf("REGISTRO DE SEDES");
fregsede=fopen("SEDES.txt","a+");
if(fregsede==NULL){
gotoxy(20,10);cout<<"ARCHIVO NO EXISTE, CREARE ARCHIVO---";
fregsede=fopen("SEDES.txt","a+");
}//fin de if
do{
gotoxy(22,10);cout<<"CODIGO DE SEDE: ";clreol();cin>>cse
de;
}while(csede<100 || csede>999);
fread(&fsede,sizeof(fsede),1,fregsede);//Cargo en RAM registros
y veo
//si existe Codigo=cod_al ingresado por Usuario;
while(!feof(fregsede)){//en el archivo busco codigo ingresado
if(fsede.codsede==csede){//aseguramos la consistencia
gotoxy(25,16);cout<<"Registro YA EXISTE...!!!";
fclose(fregsede);//Si existe conservo los registros orig
inalmente
existe=true;
getch();
}//fin de if
fread(&fsede,sizeof(fsede),1,fregsede);//si no existe co
digo, leo demas datos
//pues antes solo capturo el codigo
}//fin de while
if(existe==false){
fsede.codsede=csede;//copiar datos de usuario
gotoxy(22,11);cout<<"DIRECCION: "; gets(fsede.direccion)
;
gotoxy(22,12);cout<<"DISTRITO: "; gets(fsede.distrito);
do{
gotoxy(22,13);cout<<"TELEFONO: ";clreol(); cin>>
fsede.telef;
}while(fsede.telef<1000000 || fsede.telef>9999999);
fwrite(&fsede,sizeof(fsede),1,fregsede);//escribir en Ar
chivo
fclose(fregsede);
gotoxy(22,15);cout<<" DATOS REGISTRADOS...";
}//fin de if
gotoxy(22,20);cout<<"Desea ingresar nuevo Registro..? (S/N)==>";
do{
resp=getch();
}while(resp!='s'&&resp!='S'&&resp!='N'&&resp!='n');
clrscr();
}//fin de while
}//fin de void crearsede
void buscarsede(){
regsede fsede;

FILE *fregsede;
int csede; //dato de usuario
system("cls");
cuadro(1,5,80,25);
do{
bool encont=false;
cuadro(1,5,80,25);
gotoxy(25,7); cout<<"BUSCAR REGISTROS POR CODIGO DE SEDE";
gotoxy(25,8);cout<<"________________________________________";
fregsede=fopen("SEDES.txt","rb");
if(fregsede==NULL){
gotoxy(25,15); cprintf("NO EXISTE EL ARCHIVO !!!");
gotoxy(25,17); cprintf("<<<...PRESIONE ENTER para continuar >>>"
);
getche();
resp='n';
}//fin de if
else{
textcolor(2); gotoxy(15,6); textcolor(15);
gotoxy(22,14);cout<<"CODIGO DE SEDE: ";
do{
cin>>csede;
}while(csede<100 || csede>999);
fread(&fsede,sizeof(fsede),1,fregsede);
while(!feof(fregsede)){
if(fsede.codsede==csede){
encont=true;
cout<<endl;
cprintf("
===================================
=======================================");
cout<<"\n";
cout<<setw(24)<<" DIRECCION "<<setw(16)<<" DISTRITO "<<s
etw(14)<<" TELEFONO ";
cout<<"\n";
cprintf("
___________________________________________
_______________________________");
cout<<"\n";
cout<<setw(24)<<fsede.direccion<<setw(16)<<fsede.distrit
o<<setw(16)<<fsede.telef;
cout<<"\n";
cprintf("
___________________________________________
_______________________________");
gotoxy(20,23); cprintf("<<<...PRESIONE ENTER PARA CONTIN
UAR...>>>");
cuadro(1,5,80,25);
gotoxy(1,15); textcolor(2); getche();clrscr();
}//fin de if
fread(&fsede,sizeof(fsede),1,fregsede);
}//fin de while
fclose(fregsede); gotoxy(1,13); textcolor(2);
if(encont==false){
clrscr();
cuadro(1,5,80,25);
gotoxy(20,21);cout << "Codigo ingresado no exist
e en el archivo!!!";
gotoxy(20,23);cout << "Desea realizar nueva busqueda...?
(S/N)";
do{
resp=getch();
}while(resp!='s'&&resp!='S'&&resp!='N'&&resp!='n');

clrscr();
}//fin de if
else{
clrscr();
cuadro(1,5,80,25);
gotoxy(20,23);cout << "Desea realizar nueva busqueda...?(S/N)";
do{
resp=getch();
}while(resp!='s'&&resp!='S'&&resp!='N'&&resp!='n');
clrscr();
}//fin de else
}//fin de else
}while(resp=='s'||resp=='S');
}//fin de void buscarsede
void eliminarsede(){
FILE *fregsede; FILE *arch2;
struct regsede fsede;
bool existe;
int csede_el;
do{
clrscr();
cuadro(1,5,80,25);
gotoxy(25,7);cout<<"ELIMINACION DE REGISTROS POR CODIGO DE SEDE";
gotoxy(4,14);cout<<"______________________________________________________
________________";
gotoxy(4,15);cout<<"\n";
fregsede=fopen("SEDES.txt","rb");
if(fregsede==NULL){
gotoxy(25,15); cprintf("NO EXISTE EL ARCHIVO !!!");
gotoxy(25,17); cprintf("<<<...PRESIONE ENTER para continuar >>>"
);
getche();
resp='n';
}//fin de if
else{
gotoxy(4,13),cout<<setw(19)<<" CODIGO "<<setw(16)<<" DIRECCION "<<setw(1
6)<<" DISTRITO "<<setw(16)<<" TELEFONO ";
gotoxy(4,15);cout<<"\n";
int i=0;
existe=false;
fregsede=fopen("SEDES.txt","rb");
fread(&fsede,sizeof(fsede),1,fregsede);//para iniciar bu
cle de busqueda
while(!feof(fregsede)){
i++;gotoxy(4,16+i);
cout<<setw(16)<<fsede.codsede<<setw(16)<<fsede.d
ireccion<<setw(16)<<fsede.distrito<<setw(16)<<fsede.telef;
fread(&fsede,sizeof(fsede),1,fregsede);//Para co
ntinuar con Bucle
}//fin de while
fclose(fregsede);//cierra el archivo
gotoxy(20,10);cout<<"Ingrese codigo de sede a Eliminar =
";
do{
cin>>csede_el;
}while(csede_el<100 || csede_el>999);
fregsede=fopen("SEDES.txt","a+");
fread(&fsede,sizeof(fsede),1,fregsede);//Cargo en RAM registros y veo

//si existe Codigo=cod_al ingresado por Usuario;


while(!feof(fregsede)){//en el archivo busco codigo ingresado
if(fsede.codsede==csede_el){//aseguramos la consistencia
clrscr();
cuadro(1,5,80,25);
gotoxy(25,16);cout<<"Registro eliminado...!!!";
fclose(fregsede);//Si existe conservo los regist
ros originalmente
existe=true;
getche();
}//fin de if
fread(&fsede,sizeof(fsede),1,fregsede);//si no e
xiste codigo, leo demas datos
//pues antes solo capturo el codigo
}//fin de while
fclose(fregsede);
fregsede = fopen("SEDES.txt","r+");
arch2 = fopen("Temporal.txt","at+");
while(fread(&fsede,sizeof(fsede),1,fregsede)==1){
if(csede_el!=fsede.codsede){
fwrite(&fsede,sizeof(fsede),1,arch2);
}//fin de if
}//fin de while
fclose(fregsede); fclose(arch2);
remove("SEDES.txt");
rename("Temporal.txt","SEDES.txt");
clrscr();
cuadro(1,5,80,25);
if(existe==false){
gotoxy(25,16);cout<<"Codigo NO EXISTE...!!!";
}//fin de if
gotoxy(22,20);cout<<"Desea eliminar un nuevo Registro..? (S/N)==
>";
do{
resp=getch();
}while(resp!='s'&&resp!='S'&&resp!='N'&&resp!='n');
clrscr();
}//fin de else
}while(resp=='s'||resp=='S');
}//fin de void eliminarsede
void actualizarsede(){
FILE *fregsede; regsede fsede;
int csede;
bool encont=false;
do{
system("cls");
cuadro(1,5,80,25);
textcolor(15);
gotoxy(25,7);cout<<"ACTUALIZAR REGISTROS POR SEDE"<<endl;
gotoxy(20,8);cout<<"____________________________________________
_______"<<endl;
fregsede=fopen("SEDES.txt","rb+");
if(fregsede==NULL){ //Valida la existencia del archivo
gotoxy(20,10);cout<<"No existe el archivo !!! \n";
getche();
resp='n';
}//fin de if
else{
do{

gotoxy(22,10);cout<<"Ingrese codigo de sede a actualizar: ";clre


ol();cin>>csede;
}while(csede<100 || csede>999);
fread(&fsede,sizeof(fsede),1,fregsede);
while(!feof(fregsede)){
if(fsede.codsede==csede){
encont=true;
cout<<""<<endl;
gotoxy(4,14);cout<<"____________________________________
___________________________________";
cout<<"\n";
cout<<setw(25)<<" DIRECCION "<<setw(16)<<" DISTRITO "<<s
etw(16)<<" TELEFONO ";
cout<<"\n";
gotoxy(4,16);cout<<"____________________________________
______________________________________";
cout<<"\n";
gotoxy(4,18);cout<<setw(20)<<fsede.direccion<<setw(16)<<
fsede.distrito<<setw(16)<<fsede.telef;
cuadro(1,5,80,25);
gotoxy(22,20);cout<<"Ingrese los nuevos datos...";
gotoxy(22,21);cout<<"DIRECCION: "; gets(fsede.direccion)
;
gotoxy(22,22);cout<<"DISTRITO: "; gets(fsede.distrito);
do{
gotoxy(22,23);cout<<"TELEFONO: ";clreol();cin>>fsede.tel
ef;
}while(fsede.telef<1000000 || fsede.telef>9999999);
fseek(fregsede,ftell(fregsede)-sizeof(fsede),SEEK_SET);
//Graba el registro con los nuevos campos
fwrite(&fsede,sizeof(fsede),1,fregsede);
fclose(fregsede);
gotoxy(22,24);cout<<"Registro modificado...!!! ";
getche();
}//fin de if
fread(&fsede,sizeof(fsede),1,fregsede);
}//fin de while
fclose(fregsede);
if(encont==false){
gotoxy(20,12);cout<<"No se encuentra ese registro !!!";
getche();
}//fin de if
clrscr();
cuadro(1,5,80,25);
gotoxy(22,20);cout<<"Desea actualizar un nuevo Registro..? (S/N)
==>";
do{
resp=getch();
}while(resp!='s'&&resp!='S'&&resp!='N'&&resp!='n');
clrscr();
}//fin de else
}while(resp=='s'||resp=='S');
}//fin de void actualizarsede

También podría gustarte