|
|
|
 |
SİTESİMİZE HOŞ GELDİNİZ!!! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
 |
#include #include #include #include #include /***********************************************************************************/ typedef struct _Person { char name[15]; char sname[20]; char no[20]; int delflag; int recno; }Person; /***********************************************************************************/ // bu işlev iki tane Person* turunden nesneyi takas ediyor void mswap(Person **p1, Person **p2) { Person *temp = *p1; *p1 = *p2; *p2 = temp; } /***********************************************************************************/ //bu işlev adresi verilen Person turunden bir nesneyi goruntuluyor void display_per(Person *pper) { printf("%-15s %-20s: %sn", pper->name, pper->sname, pper->no); } /***********************************************************************************/ //bu işlev dosyada bulunan en son kaydın kayıt(recno) numarasının geri donduruyor //en son kayıtın delflag degiskeni sıfırlanmıs bile olsa o kaydın nosu donuyor int addno(void) { Person per; FILE *fs; int ch; fs = fopen("PBook.ysn", "r"); if (fs == NULL) { printf("dosya acilamiyor!!!n"); exit(EXIT_FAILURE); } fseek(fs, 0L, SEEK_END); ch = fseek(fs, -(long)sizeof(per), SEEK_CUR); fread(&per, sizeof(per), 1, fs); if (ch == EOF){ fclose(fs); return 0; } else { fclose(fs); return per.recno; } return -1; } /***********************************************************************************/ //bu işlev dosyanın sonuna bir kayıt ilave ediyor void madd() { FILE *fd = NULL; Person per; char name[15]; char sname[20]; char no[20]; int recno; printf("isim:"); gets(name); printf("soy isim:"); gets(sname); printf("tel no:"); gets(no); strcpy(per.name, name); //gerekli bilgiler kullanıcıdan per yapısından nesneye kopyalanıyor strcpy(per.sname, sname); strcpy(per.no, no); per.delflag = 1; recno = addno() + 1; per.recno = recno; fd = fopen("PBook.ysn", "a+"); if (fd == NULL){ printf("%cDosya acilamaiyor!!!n", 7); exit(EXIT_FAILURE); } fwrite(&per, sizeof(per), 1, fd); // per nesnesi dosyaya yazılıyor fclose(fd); } /***********************************************************************************/ //bu işlev aranan ismi buluyor void mfind(void) { char name[20]; Person per; Person **pptr = NULL; FILE *fs = NULL; int index = 0; int f_regno = 0; int r_regno = 0; int k = 0; int equal = 0; fs = fopen("PBook.ysn", "r"); if (fs == NULL){ printf("%cDosya acilamaiyor!!!n", 7); exit(EXIT_FAILURE); } rewind(fs); printf("ismi girin:"); gets(name); while (fread(&per, sizeof(per), 1, fs)) { equal = 1; if (per.delflag) { for (k = 0; name[k] != ' |
|
 |
|
|
|
Giriş Sayfası Yap
| |
|
ESKİŞEHİR
|
|
|
|
|
|
|
 |
|
|
|
|