FecriAti
27/05/2008, 15:58
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include "ctype.h"
int sayac=0;
FILE *dg, *dg2;
struct arsiv{
int yil;
char album[40],sanatci[40],tarz[15];
}arsiv;
char anamenu()
{
char a;
system("cls");
system("color 80");
printf("\t------------------------------\n");
printf("\t-------------MENU-------------\n");
printf("\t------------------------------\n");
printf("\t-- 1. Dosya olustur --\n");
printf("\t-- 2. Kayit --\n");
printf("\t-- 3. Liste --\n");
printf("\t-- 4. Arama --\n");
printf("\t-- 5. Duzeltme --\n");
printf("\t-- 6. Silme --\n");
printf("\t-- 7. Imha --\n");
printf("\t-- Esc. Cikis --\n");
printf("\t------------------------------\n");
printf("\t-------Kaset-CD-Arsivi--------\n");
printf("\t-----M-u-s-a&T-u-r-k-e-r------\n\n");
printf("Lutfen seciminizi yapiniz: ");
a=getch();
printf("%c\n",a);
return a;}
/*------------------------------------------------*/
void dosyaolustur(){
if(dg=fopen("arsiv.dat","wb"))
{printf("Dosya olusturuldu . . .\n");
fclose(dg);}
else
printf("Dosya olusturulurken bir hata olustu!!!\n");
}
/*------------------------------------------------*/
char bosluk(char *metin)
{ int i=0,z=0;
while (metin[z]!='\0')
{metin[z]=tolower(metin[z]);
z++;}
while (metin[i]!='\0')
{
if(metin[i]=='_' || metin[i]=='-')
metin[i]=' ';
if(metin[i]==' ' && metin[i+1]!=' ')
metin[i+1]=toupper(metin[i+1]);
i++;
}
metin[0]=toupper(metin[0]);
}
/*------------------------------------------------*/
void bilgioku()
{
printf("Sanatci ismi girin: ");
scanf("%s",&arsiv.sanatci);
bosluk(arsiv.sanatci);
printf("Album ismi girin: ");
scanf("%s",&arsiv.album);
bosluk(arsiv.album);
printf("Album tarzi girin: ");
scanf("%s",&arsiv.tarz);
bosluk(arsiv.tarz);
printf("Album yili girin: ");
scanf("%d",&arsiv.yil);
}
void kayit()
{bilgioku();
dg=fopen("arsiv.dat","ab");
fwrite(&arsiv,sizeof(arsiv),1,dg);
fclose(dg);
}
/*----------------LİSTE BASLANGIC------------------*/
void liste()
{int n=0;
system("cls");
system("color f4");
if(dg=fopen("arsiv.dat","rb"))
{fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{printf("======================================\n");
printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",n+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv.yi l);
printf("======================================\n");
fread(&arsiv,sizeof(arsiv),1,dg);
n++;
}
if(n!=0)
{
printf(" Toplam %d adet kayit bulundu.\n",n);
printf("======================================\n");}
else
{printf("Listelencek kayit bulunamadi.\n",n);}
fclose(dg);}
else
{printf("Kayit dosyasi acilamadi!!!\n");}
}
/*-----------------LİSTE SON---------------------*/
/*--------------ARAMA BASLANGIC------------------*/
void metinbul(char *metin)
{char a,adi[40],g;
int k=0,n=0,bayrak=0;
dg=fopen("arsiv.dat","rb");
printf("Lutfen aranacak kelimeyi giriniz: ");
scanf("%s",&adi);
bosluk(adi);
fseek(dg,k*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{ if(!strcmp(adi,metin))
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",n+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv.yi l);
printf("Aradiginiz kayit bu mu? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{bayrak=1;
break;}}
fseek(dg,k*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
n++;
}
if(bayrak==0)
printf("Aradiginiz kayit bulunamadi!!!\n");
fclose(dg);
}
void yilbul(int yil)
{char a,g;
int k=0,n=0,bayrak=0;
dg=fopen("arsiv.dat","rb");
printf("Lutfen aranacak yili giriniz: ");
scanf("%d",&yil);
fseek(dg,k*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{ if(yil==arsiv.yil)
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",n+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv.yi l);
printf("Aradiginiz kayit bu mu? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{bayrak=1;
break;}}
fseek(dg,k*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
n++;
}
if(bayrak==0)
printf("Aradiginiz kayit bulunamadi!!!\n");
fclose(dg);
}
char bulmenu()
{ char tus;
system("cls");
system("color 4f");
printf("\t----------------------------------\n");
printf("\t-----------ARAMA-MENUSU-----------\n");
printf("\t----------------------------------\n");
printf("\t-- 1. Sanatci adina gore bul --\n");
printf("\t-- 2. Album adina gore bul --\n");
printf("\t-- 3. Album tarzina gore bul --\n");
printf("\t-- 4. Album yilina gore bul --\n");
printf("\t-- Esc. Ana menuye don --\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n\n");
printf("Lutfen seciminizi yapiniz: ");
tus=getch();
printf("%c\n",tus);
return tus;
}
void bulma()
{char menu;
while(menu!=27)
{menu=bulmenu();
switch(menu)
{
case '1':
metinbul(arsiv.sanatci);
system("pause");
break;
case '2':
metinbul(arsiv.album);
system("pause");
break;
case '3':
metinbul(arsiv.tarz);
system("pause");
break;
case '4':
yilbul(arsiv.yil);
system("pause");
break;
case 27:
break;
default:
printf("Yanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
system("pause");
}
}
}
/*------------------ARAMA SON-----------------*/
/*-----------DUZELTME BASLANGIC------------------*/
char menuiki()
{char tus;
printf("Neyi duzeltmek istersiniz ?\n");
printf("1. Sanatci adi\n");
printf("2. Album adi\n");
printf("3. Tarz\n");
printf("4. Album cikisi yili\n");
printf("Secim: ");
tus=getch();
putch(tus);
}
void menuduzeltiki()
{ char menu;
menu=menuiki();
switch(menu)
{case '1':
printf("\nLutfen yeni sanatci ismini giriniz: ");
scanf("%s",&arsiv.sanatci);
bosluk(arsiv.sanatci);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
case '2':
printf("\nLutfen yeni album ismini giriniz: ");
scanf("%s",&arsiv.album);
bosluk(arsiv.album);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
case '3':
printf("\nLutfen yeni tarz ismini giriniz: ");
scanf("%s",&arsiv.tarz);
bosluk(arsiv.tarz);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
case '4':
printf("\nLutfen yeni yili giriniz: ");
scanf("%d",&arsiv.yil);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
default:
printf("Yanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n"); }
system("pause");
}
void duzelt(char *arama)
{
char adi[40],g;
int k=0,bayrak=0;
dg=fopen("arsiv.dat","r+b");
scanf("%s",&adi);
bosluk(adi);
fseek(dg,k*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{ if(!strcmp(adi,arama))
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",sayac+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsi v.yil);
printf("Aradiginiz kayit bu mu? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{bayrak=1;
break;}}
fseek(dg,k*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
sayac++;
}
if(bayrak==0)
printf("Aradiginiz kayit bulunamadi!!!\n");
else{
menuduzeltiki();
}
fclose(dg);
}
char menuilk()
{ char tus;
system("cls");
system("color fc");
printf("\t----------KAYIT-DUZELTME----------\n");
printf("\t-----------ARAMA-MENUSU-----------\n");
printf("\t----------------------------------\n");
printf("\t-- 1. Sanatci adina gore bul --\n");
printf("\t-- 2. Album adina gore bul --\n");
printf("\t-- 3. Album tarzina gore bul --\n");
printf("\t-- Esc. Ana menuye don --\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n\n");
printf("Secim: ");
tus=getch();
putch(tus);
}
void menuduzelt()
{ char menu;
while(menu!=27)
{
menu=menuilk();
switch(menu)
{case '1':
printf("\nLutfen aranacak sanatci ismini giriniz: ");
duzelt(arsiv.sanatci);
sayac=0;
system("pause");
break;
case '2':
printf("\nLutfen album ismini giriniz: ");
duzelt(arsiv.album);
sayac=0;
system("pause");
break;
case '3':
printf("\nLutfen tarz ismini giriniz: ");
duzelt(arsiv.tarz);
sayac=0;
system("pause");
break;
case 27: break;
default:
printf("\nYanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
system("pause");
} }
}
/*--------------DUZELTME SON------------------*/
/*--------------SİLME BAŞLANGIÇ------------------*/
void silYENI(char *sil)
{
char g,adi[40];
int a=0,yer=0;
scanf("%s",&adi);
bosluk(adi);
dg=fopen("arsiv.dat","r+b");
dg2=fopen("yedek.dat","wb");
fseek(dg,a*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{if(!strcmp(adi,sil))
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",yer+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv. yil);
printf("Bu kaydi silmek ister misiniz? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{fseek(dg,a*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
continue;}
}
fwrite(&arsiv,sizeof(arsiv),1,dg2);
fseek(dg,a*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
yer++;
}
fclose(dg);
fclose(dg2);
dg=fopen("arsiv.dat","wb");
dg2=fopen("yedek.dat","rb");
fread(&arsiv,sizeof(arsiv),1,dg2);
while(!feof(dg2))
{
fwrite(&arsiv,sizeof(arsiv),1,dg);
fread(&arsiv,sizeof(arsiv),1,dg2);
}
fclose(dg);
fclose(dg2);
remove("yedek.dat");
}
char silmenuara()
{ char tus;
system("cls");
system("color 1f");
printf("\t--------------KAYIT-SILME----------------\n");
printf("\t--------------ARAMA-MENUSU---------------\n");
printf("\t-----------------------------------------\n");
printf("\t-- 1. Sanatci adina gore bul ve sil --\n");
printf("\t-- 2. Album adina gore bul ve sil --\n");
printf("\t-- 3. Album tarzina gore bul ve sil --\n");
printf("\t-- Esc. Ana menuye don --\n");
printf("\t-----------------------------------------\n");
printf("\t-----------------------------------------\n");
printf("\t-----------------------------------------\n\n");
printf("Secim: ");
tus=getch();
putch(tus);
}
void menuSIL()
{ char menu;
while(menu!=27)
{
menu=silmenuara();
switch(menu)
{case '1':
printf("\nLutfen aranacak sanatci ismini giriniz: ");
silYENI(arsiv.sanatci);system("pause");
break;
case '2':
printf("\nLutfen aranacak album ismini giriniz: ");
silYENI(arsiv.album);system("pause");
break;
case '3':
printf("\nLutfen aranacak tarzi giriniz: ");
silYENI(arsiv.tarz);system("pause");
break;
case 27:
break;
default:
printf("\nYanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
system("pause");
} }
}
/*--------------SİLME SON------------------*/
/*-----------------İMHA BASLANGIC------------------*/
void imha()
{
char a;
if(dg=fopen("arsiv.dat","r"))
{
printf("Kayit dosyasini silmek isteginizden emin misiniz?(E/H): ");
a=getch();
putch(a);
if(a=='E' || a=='e')
{fclose(dg);
remove("arsiv.dat");
printf("\n%s, imha edildi!!!\n","arsiv.dat");}
else
printf("\nKayit dosyasi silinmedi . . .\n");
}
else
{printf("Dosya yok ya da zaten silinmis . . .\n");}
}
/*-------------------İMHA SON----------------------*/
int main()
{char menu;
while(menu!=27){
menu=anamenu();
switch(menu){
case '1':
dosyaolustur();
break;
case '2':
kayit();
break;
case '3':
liste();
break;
case '4':
bulma();
break;
case '5':
menuduzelt();
break;
case '6':
menuSIL();
break;
case '7':
imha();
break;
case 27:
return 0;
default:
printf("Yanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
}
system("pause");}
}
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include "ctype.h"
int sayac=0;
FILE *dg, *dg2;
struct arsiv{
int yil;
char album[40],sanatci[40],tarz[15];
}arsiv;
char anamenu()
{
char a;
system("cls");
system("color 80");
printf("\t------------------------------\n");
printf("\t-------------MENU-------------\n");
printf("\t------------------------------\n");
printf("\t-- 1. Dosya olustur --\n");
printf("\t-- 2. Kayit --\n");
printf("\t-- 3. Liste --\n");
printf("\t-- 4. Arama --\n");
printf("\t-- 5. Duzeltme --\n");
printf("\t-- 6. Silme --\n");
printf("\t-- 7. Imha --\n");
printf("\t-- Esc. Cikis --\n");
printf("\t------------------------------\n");
printf("\t-------Kaset-CD-Arsivi--------\n");
printf("\t-----M-u-s-a&T-u-r-k-e-r------\n\n");
printf("Lutfen seciminizi yapiniz: ");
a=getch();
printf("%c\n",a);
return a;}
/*------------------------------------------------*/
void dosyaolustur(){
if(dg=fopen("arsiv.dat","wb"))
{printf("Dosya olusturuldu . . .\n");
fclose(dg);}
else
printf("Dosya olusturulurken bir hata olustu!!!\n");
}
/*------------------------------------------------*/
char bosluk(char *metin)
{ int i=0,z=0;
while (metin[z]!='\0')
{metin[z]=tolower(metin[z]);
z++;}
while (metin[i]!='\0')
{
if(metin[i]=='_' || metin[i]=='-')
metin[i]=' ';
if(metin[i]==' ' && metin[i+1]!=' ')
metin[i+1]=toupper(metin[i+1]);
i++;
}
metin[0]=toupper(metin[0]);
}
/*------------------------------------------------*/
void bilgioku()
{
printf("Sanatci ismi girin: ");
scanf("%s",&arsiv.sanatci);
bosluk(arsiv.sanatci);
printf("Album ismi girin: ");
scanf("%s",&arsiv.album);
bosluk(arsiv.album);
printf("Album tarzi girin: ");
scanf("%s",&arsiv.tarz);
bosluk(arsiv.tarz);
printf("Album yili girin: ");
scanf("%d",&arsiv.yil);
}
void kayit()
{bilgioku();
dg=fopen("arsiv.dat","ab");
fwrite(&arsiv,sizeof(arsiv),1,dg);
fclose(dg);
}
/*----------------LİSTE BASLANGIC------------------*/
void liste()
{int n=0;
system("cls");
system("color f4");
if(dg=fopen("arsiv.dat","rb"))
{fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{printf("======================================\n");
printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",n+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv.yi l);
printf("======================================\n");
fread(&arsiv,sizeof(arsiv),1,dg);
n++;
}
if(n!=0)
{
printf(" Toplam %d adet kayit bulundu.\n",n);
printf("======================================\n");}
else
{printf("Listelencek kayit bulunamadi.\n",n);}
fclose(dg);}
else
{printf("Kayit dosyasi acilamadi!!!\n");}
}
/*-----------------LİSTE SON---------------------*/
/*--------------ARAMA BASLANGIC------------------*/
void metinbul(char *metin)
{char a,adi[40],g;
int k=0,n=0,bayrak=0;
dg=fopen("arsiv.dat","rb");
printf("Lutfen aranacak kelimeyi giriniz: ");
scanf("%s",&adi);
bosluk(adi);
fseek(dg,k*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{ if(!strcmp(adi,metin))
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",n+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv.yi l);
printf("Aradiginiz kayit bu mu? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{bayrak=1;
break;}}
fseek(dg,k*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
n++;
}
if(bayrak==0)
printf("Aradiginiz kayit bulunamadi!!!\n");
fclose(dg);
}
void yilbul(int yil)
{char a,g;
int k=0,n=0,bayrak=0;
dg=fopen("arsiv.dat","rb");
printf("Lutfen aranacak yili giriniz: ");
scanf("%d",&yil);
fseek(dg,k*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{ if(yil==arsiv.yil)
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",n+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv.yi l);
printf("Aradiginiz kayit bu mu? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{bayrak=1;
break;}}
fseek(dg,k*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
n++;
}
if(bayrak==0)
printf("Aradiginiz kayit bulunamadi!!!\n");
fclose(dg);
}
char bulmenu()
{ char tus;
system("cls");
system("color 4f");
printf("\t----------------------------------\n");
printf("\t-----------ARAMA-MENUSU-----------\n");
printf("\t----------------------------------\n");
printf("\t-- 1. Sanatci adina gore bul --\n");
printf("\t-- 2. Album adina gore bul --\n");
printf("\t-- 3. Album tarzina gore bul --\n");
printf("\t-- 4. Album yilina gore bul --\n");
printf("\t-- Esc. Ana menuye don --\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n\n");
printf("Lutfen seciminizi yapiniz: ");
tus=getch();
printf("%c\n",tus);
return tus;
}
void bulma()
{char menu;
while(menu!=27)
{menu=bulmenu();
switch(menu)
{
case '1':
metinbul(arsiv.sanatci);
system("pause");
break;
case '2':
metinbul(arsiv.album);
system("pause");
break;
case '3':
metinbul(arsiv.tarz);
system("pause");
break;
case '4':
yilbul(arsiv.yil);
system("pause");
break;
case 27:
break;
default:
printf("Yanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
system("pause");
}
}
}
/*------------------ARAMA SON-----------------*/
/*-----------DUZELTME BASLANGIC------------------*/
char menuiki()
{char tus;
printf("Neyi duzeltmek istersiniz ?\n");
printf("1. Sanatci adi\n");
printf("2. Album adi\n");
printf("3. Tarz\n");
printf("4. Album cikisi yili\n");
printf("Secim: ");
tus=getch();
putch(tus);
}
void menuduzeltiki()
{ char menu;
menu=menuiki();
switch(menu)
{case '1':
printf("\nLutfen yeni sanatci ismini giriniz: ");
scanf("%s",&arsiv.sanatci);
bosluk(arsiv.sanatci);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
case '2':
printf("\nLutfen yeni album ismini giriniz: ");
scanf("%s",&arsiv.album);
bosluk(arsiv.album);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
case '3':
printf("\nLutfen yeni tarz ismini giriniz: ");
scanf("%s",&arsiv.tarz);
bosluk(arsiv.tarz);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
case '4':
printf("\nLutfen yeni yili giriniz: ");
scanf("%d",&arsiv.yil);
fseek(dg,sayac*sizeof(arsiv),0);
fwrite(&arsiv,sizeof(arsiv),1,dg);
sayac=0;
break;
default:
printf("Yanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n"); }
system("pause");
}
void duzelt(char *arama)
{
char adi[40],g;
int k=0,bayrak=0;
dg=fopen("arsiv.dat","r+b");
scanf("%s",&adi);
bosluk(adi);
fseek(dg,k*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{ if(!strcmp(adi,arama))
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",sayac+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsi v.yil);
printf("Aradiginiz kayit bu mu? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{bayrak=1;
break;}}
fseek(dg,k*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
sayac++;
}
if(bayrak==0)
printf("Aradiginiz kayit bulunamadi!!!\n");
else{
menuduzeltiki();
}
fclose(dg);
}
char menuilk()
{ char tus;
system("cls");
system("color fc");
printf("\t----------KAYIT-DUZELTME----------\n");
printf("\t-----------ARAMA-MENUSU-----------\n");
printf("\t----------------------------------\n");
printf("\t-- 1. Sanatci adina gore bul --\n");
printf("\t-- 2. Album adina gore bul --\n");
printf("\t-- 3. Album tarzina gore bul --\n");
printf("\t-- Esc. Ana menuye don --\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n");
printf("\t----------------------------------\n\n");
printf("Secim: ");
tus=getch();
putch(tus);
}
void menuduzelt()
{ char menu;
while(menu!=27)
{
menu=menuilk();
switch(menu)
{case '1':
printf("\nLutfen aranacak sanatci ismini giriniz: ");
duzelt(arsiv.sanatci);
sayac=0;
system("pause");
break;
case '2':
printf("\nLutfen album ismini giriniz: ");
duzelt(arsiv.album);
sayac=0;
system("pause");
break;
case '3':
printf("\nLutfen tarz ismini giriniz: ");
duzelt(arsiv.tarz);
sayac=0;
system("pause");
break;
case 27: break;
default:
printf("\nYanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
system("pause");
} }
}
/*--------------DUZELTME SON------------------*/
/*--------------SİLME BAŞLANGIÇ------------------*/
void silYENI(char *sil)
{
char g,adi[40];
int a=0,yer=0;
scanf("%s",&adi);
bosluk(adi);
dg=fopen("arsiv.dat","r+b");
dg2=fopen("yedek.dat","wb");
fseek(dg,a*sizeof(arsiv),0);
fread(&arsiv,sizeof(arsiv),1,dg);
while(!feof(dg))
{if(!strcmp(adi,sil))
{printf("Kayit no: %d\nSanatci: %s\nAlbum: %s\nTarz: %s\nYil: %d \n",yer+1,arsiv.sanatci,arsiv.album,arsiv.tarz,arsiv. yil);
printf("Bu kaydi silmek ister misiniz? (E/H): ");
g=getch();
putch(g);
printf("\n");
if(g=='e' || g=='E')
{fseek(dg,a*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
continue;}
}
fwrite(&arsiv,sizeof(arsiv),1,dg2);
fseek(dg,a*sizeof(arsiv),1);
fread(&arsiv,sizeof(arsiv),1,dg);
yer++;
}
fclose(dg);
fclose(dg2);
dg=fopen("arsiv.dat","wb");
dg2=fopen("yedek.dat","rb");
fread(&arsiv,sizeof(arsiv),1,dg2);
while(!feof(dg2))
{
fwrite(&arsiv,sizeof(arsiv),1,dg);
fread(&arsiv,sizeof(arsiv),1,dg2);
}
fclose(dg);
fclose(dg2);
remove("yedek.dat");
}
char silmenuara()
{ char tus;
system("cls");
system("color 1f");
printf("\t--------------KAYIT-SILME----------------\n");
printf("\t--------------ARAMA-MENUSU---------------\n");
printf("\t-----------------------------------------\n");
printf("\t-- 1. Sanatci adina gore bul ve sil --\n");
printf("\t-- 2. Album adina gore bul ve sil --\n");
printf("\t-- 3. Album tarzina gore bul ve sil --\n");
printf("\t-- Esc. Ana menuye don --\n");
printf("\t-----------------------------------------\n");
printf("\t-----------------------------------------\n");
printf("\t-----------------------------------------\n\n");
printf("Secim: ");
tus=getch();
putch(tus);
}
void menuSIL()
{ char menu;
while(menu!=27)
{
menu=silmenuara();
switch(menu)
{case '1':
printf("\nLutfen aranacak sanatci ismini giriniz: ");
silYENI(arsiv.sanatci);system("pause");
break;
case '2':
printf("\nLutfen aranacak album ismini giriniz: ");
silYENI(arsiv.album);system("pause");
break;
case '3':
printf("\nLutfen aranacak tarzi giriniz: ");
silYENI(arsiv.tarz);system("pause");
break;
case 27:
break;
default:
printf("\nYanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
system("pause");
} }
}
/*--------------SİLME SON------------------*/
/*-----------------İMHA BASLANGIC------------------*/
void imha()
{
char a;
if(dg=fopen("arsiv.dat","r"))
{
printf("Kayit dosyasini silmek isteginizden emin misiniz?(E/H): ");
a=getch();
putch(a);
if(a=='E' || a=='e')
{fclose(dg);
remove("arsiv.dat");
printf("\n%s, imha edildi!!!\n","arsiv.dat");}
else
printf("\nKayit dosyasi silinmedi . . .\n");
}
else
{printf("Dosya yok ya da zaten silinmis . . .\n");}
}
/*-------------------İMHA SON----------------------*/
int main()
{char menu;
while(menu!=27){
menu=anamenu();
switch(menu){
case '1':
dosyaolustur();
break;
case '2':
kayit();
break;
case '3':
liste();
break;
case '4':
bulma();
break;
case '5':
menuduzelt();
break;
case '6':
menuSIL();
break;
case '7':
imha();
break;
case 27:
return 0;
default:
printf("Yanlis secim yaptiniz. Lutfen tekrar secim yapin . . .\n");
}
system("pause");}
}