Agenda en c

Solo disponible en BuenasTareas
  • Páginas : 8 (1835 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de noviembre de 2011
Leer documento completo
Vista previa del texto
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<stdarg.h>
#include<graphics.h>

#define FALSO 0
#define VERDAD 1

struct datos
{ char nombre[25];
char direcc[30];
char ciudad[10];
char edad[8];
char telf[8];
char cp[8];
int registro;
} dat;

char *leer(int c1,int l1,int tam);
void presentacion();
voidmenu_p();
void archivar();
void consultar();
void dibuja_agenda();
void B_Fisica(char NC[8]);
void quitar();
int checarArchivo(char *Archivo);
void dec_graficos();
void pitido();
void escribe1(int col,int lin,int tip,int tam,char str[],int color);
void marco_b(int col,int lin,int col1,int lin1,int color);
void pinta(int col,int lin,int col2,int lin2, int tipo,int color);
void pinta2(intcol,int lin,int col2,int lin2,int tipo,int co1,int co2,int co3,int co4);
void boton(int col,int lin,int col1,int lin1,int tam,int tipo);
void linea(int col,int lin,int col1,int lin1,int color,int fon);
void escribe3(int x,int y,char *formato,...);

char *menu[]= { "AGREGAR", "CONSULTAR","QUITAR","SALIR" };
char *agenda[]={"NOMBRE","EDAD","CIUDAD","DIRECCION","COD. POSTAL","TELEFONO"};/***************************************************************************/
/***************************************************************************/
void main(void)
{ dec_graficos();
presentacion();
menu_p();
closegraph();
}
/***************************************************************************/
void presentacion()
{ pinta2(0,0,getmaxx(),getmaxy(),1,15,55,49,44);pinta(1,1,getmaxx(),49,1,7); boton(-1,-1,getmaxx()+1,50,1,1);
pinta2(3,1,getmaxx()-3,18,1,2,10,3,35);escribe1(25,6,0,1,"AGENDA",15);
boton(2,0,getmaxx()-1,20,1,0);
}
/***************************************************************************/
void menu_p()
{ int tam,a=0; char op;
for(tam=0;tam<=225;tam+=75,a++)
{boton(10+tam,22,85+tam,46,1,1);escribe1(20+tam,28,2,4,menu[a],0); }
tam=0; setcolor(0); rectangle(10,22,85,46);
do{ while(((op=getch())!=0x0d)&&(op!=80))
{ if((op==75)||(op==77))
{ setcolor(7); rectangle(10+tam,22,85+tam,46);
if(op==75){tam-=75;if(tam<0)tam=225;}
else { tam+=75; if(tam>225)tam=0; }
setcolor(0); rectangle(10+tam,22,85+tam,46);
}
} boton(10+tam,22,85+tam,46,1,0);
switch(tam)
{case 0:archivar();break;case 75:consultar();break;
case 150:quitar();break;
} boton(10+tam,22,85+tam,46,1,1);
} while(tam!=225);
}
/***************************************************************************/
void archivar()
{ FILE *fp; int e,j=0;
pinta(1,51,270,220,1,7);boton(1,51,271,221,1,1); linea(5,70,266,70,15,8);
setcolor(0); outtextxy(40,55,"INTRODUZCA LOSDATOS CORESPONDIENTES");
for(e=0;e<120;e+=20,j++)
{ setcolor(0);outtextxy(8,85+e,agenda[j]);marco_b(75,80+e,250,95+e,15);}
setcolor(0); strcpy(dat.nombre,leer(78,83,24)); dat.registro=VERDAD;
strcpy(dat.edad,leer(78,103,7)); strcpy(dat.ciudad,leer(78,123,9));
strcpy(dat.direcc,leer(78,143,25)); strcpy(dat.cp,leer(78,163,7));
strcpy(dat.telf,leer(78,183,9));if((fp=fopen("ISC.dat","a+"))==NULL) fp=fopen("ISC.dat","w");
fwrite(&dat,sizeof(struct datos),1,fp);fclose(fp);pinta(1,51,271,221,1,15);
}
/***************************************************************************/
void consultar()
{ FILE *fp;
int e,i=1,j=1;
if((fp=fopen("ISC.dat","r"))==NULL)
{ pinta(100,51,280,150,1,7);boton(100,51,281,151,1,1);
setcolor(0);outtextxy(150,92,"Noexiste el archivo");
getch();pinta(100,51,281,151,1,15);
}
else
{ dibuja_agenda(); fread(&dat,sizeof(struct datos),1,fp);
do{ pinta(365,71,getmaxx()-41,459,1,15); pinta(41,71,265,459,1,15);
setcolor(3);
for(j=0;j<350;j+=70,i++)
{ rectangle(50,89+j,265,159+j); rectangle(50,89+j,70,109+j);
outtextxy(80,95+j,agenda[0]); outtextxy(80,110+j,agenda[1]);...
tracking img