Professional Documents
Culture Documents
imprime(archivo);
break;
}
case 'B':{
pack(archivo);
break;
}
case 'C':{
consulta2(archivo);
break;
}
case 'O':{
ordena(archivo);
break;
}
}
}
clrscr();
fclose (archivo);
normvideo();
clrscr();
}
/*********************************************************************/
void imprime(FILE *a){
int r,y=0,c=1;
struct DIREC reactivo;
clrscr();
textcolor(YELLOW);
cprintf("NOMBRE TELEFONO";
normvideo();
rewind(a);
while(1){
r=fread(&reactivo,sizeof(struct DIREC),1,a);
if(r==0)
break;
if((c%2)!=0){
textattr(6+5*5);
/* textcolor(LIGHTGRAY);*/
printf("n";
cprintf("%d.- %-30s %16s",c,reactivo.nombre,reactivo.tele);
normvideo();
}
else{
textattr(6+5*4);
/* textcolor(WHITE);*/
printf("n";
cprintf("%d.- %-30s %16s",c,reactivo.nombre,reactivo.tele);
normvideo();
}
if(y==23){
getch();
y=0;
}
y++;
c++;
}
getch();
}
/*********************************************************************/
/*********************************************************************/
void ordena(FILE *a){
int i=0,j=0,s,t;
struct DIREC r;
struct DIREC temp[100];
struct DIREC temporal;
while(1){
fseek(a,i*sizeof(struct DIREC),SEEK_SET);
if(fread(&r,sizeof(struct DIREC),1,a)==0)
break;
temp[j]=r;
i++;
j++;
}
for(s=0;s0){
temporal=temp[s];
temp[s]=temp[t];
temp[t]=temporal;
}
s=0;
i=0;
while(1){
if(s>=j)
break;
r=temp[s];
fseek(a,i*sizeof(struct DIREC),SEEK_SET);
fwrite (&r,sizeof(struct DIREC),1,a);
s++;
i++;
}
printf("nnSus archivos han sido ordenados alfab ticamente...";
getch();
}
/*********************************************************************/
FILE *pack(FILE *a){
int i=0;
long p;
char clave[30];
struct DIREC r;
FILE *t;
t=fopen ("TMP.DAT","wb";
printf("nnDame el nombre a dar de baja: ";
strupr(gets(clave));
p=busca_Clave2(a,clave);
if(p!=0){
while(1){
fseek(a,i*sizeof(struct DIREC),SEEK_SET);
if(fread(&r,sizeof(struct DIREC),1,a)==0)
break;
if(strcmp(r.nombre,clave)!=0){
fseek(a,i*sizeof(struct DIREC),SEEK_SET);
fwrite (&r,sizeof(struct DIREC),1,t);
}
i++;
}
fclose (t);
fclose (a);
remove("TELE.DAT";
rename("TMP.DAT","TELE.DAT";
t=fopen ("TELE.DAT","rb+";
printf("nnLa informacin solicitada ha sido dada de baja...";
getch();
return(t);
}
else{
printf("nnNo existe el nombre...";
getch();
}
return 0;
}
/*********************************************************************/
Calcular la edad de una persona a partir de su fecha de nacimiento:
#include <stdio.h>
main()
{
int fnac,fact,edad;
printf ("Introduce tu ao de nacimiento:";
scanf ("%d",& fnac);
printf ("nIntroduce el ao actual:";
scanf ("%d",& fact);
edad=fact-fnac;
printf ("nTu edad es:%d",edad);
}
Mostrar la tabla de caracteres ASCII a partir del Cdigo 32 hasta el Cdigo 164:
/* Mostrar la tabla de caracteres ASCII a partir del Cdigo 32 (el espacio en blan
co) hasta el Cdigo 164 (o sea la ) sin incluir las minsculas (rango del 97 al 122)
*/
# include<stdio.h>
main()
{
int i;
printf("Los Caracteres ASCII son: n";
for(i=32;i<=164;i++) {
if(i<97 || i>122)
printf("%c %d t",i,i);
}
return 0;
}
Eso es todo por ahora espero que les haya gustado cualquier problema avisen
Nota: los emoticones que aparecen por ejemplo la del que guia el ojo es ; ) (sin
separar)
comentar es agradecer y tambien puedo corregir mis errores