#include <STDIO.H>
#include <CONIO.H>
#include <STDLIB.H>
#include <STRING.H>
#include <CTYPE.H>
#include <IO.H>
void dosac(void);
void dos_olustur(void);
void giris(void);
struct stok
{
char urunadi[30];
char temyer[20];
char kontrol;
char birim[15];
char kulamac[15];
char skod[10];
char stok[15];
char oran[10];
long m;
}kayit,kayit1;
FILE * fp;
char cev;
int i,say,kaysay;
char c;
char ara[10];
int ksay(void)
{
return(filelength(fileno(fp))/
sizeof(struct stok));
}
void dosac()
{
fp=fopen ("STOK.DAT","r+");
if (fp==NULL)
{
printf("boyle bir dosya kaydina rastlanmamistir");
fp=fopen ("STOK.DAT","w");
fclose(fp);
fp=fopen("STOK.DAT","r+");
dos_olustur();
}
}
void dos_olustur(void)
{
int i;
for (i=0;i<500;i++)
{
kayit.kontrol='-';
fwrite (&kayit,sizeof(kayit),1,fp);
}
}
long hash(long x)
{
long z,y;
z=x % 1000;
y=x/1000000;
return(z+y*50);
}
void giris(void)
{
dosac();
clrscr();
gotoxy(30,8);cprintf(" : ...BiLGi GiRiSi... : ");
gotoxy(30,10);cprintf("Stok Kodu :");gets(kayit.skod);
gotoxy(30,12);cprintf("Stok Adi :");gets(kayit.urunadi);
gotoxy(30,14);cprintf("Depodaki stok miktari :");gets(kayit.stok);
gotoxy(30,16);cprintf("Birimi :");gets(kayit.birim);
gotoxy(30,14);cprintf("Birim Satis Fiyati :");gets(kayit.temyer);
gotoxy(30,14);cprintf("Kdv Oranı % :");gets(kayit.oran);
gotoxy(30,18);cprintf("Kullanim Yeri :");gets(kayit.kulamac);
gotoxy(30,22);cprintf("GİRDİGİNİZ BİLGİLER DOGRU MU ? .. : [E/H]");
cev=getch();
if(toupper(cev=='E'))
kayit.m=atol(kayit.skod);
kayit.kontrol='+';
fread(&kayit1,sizeof(kayit),1,fp);
if(kayit1.kontrol=='+')
fseek(fp,0,SEEK_END);
else
fseek(fp,sizeof(kayit)*hash(kayit.m),SEEK_SET);
fwrite(&kayit,sizeof(kayit),1,fp);
fclose(fp);
}
void liste()
{
int i,s;
dosac();
clrscr();
fseek(fp,0,SEEK_SET);
i=0;
while(!feof(fp))
{
fread(&kayit,sizeof(struct stok),1,fp);
if (kayit.kontrol=='+') {
i=i+1;
printf("STOK KODU STOKADI STOK MİKTARI BIRIMI BIRIM SATIS FIYATI KDV ORANI KULLANIM YERI\n ");
printf("--------- --------- ------------- ------- ------------------- ---------- -------------- \n ");
printf("--------- --------- ------------- ------- ------------------- ---------- -------------- \n ");
for (s=0;s<20;s++);
{
window(1,3,80,25);
gotoxy(3,i);printf( "%s ",kayit.skod);
gotoxy(16,i);printf("%s",kayit.urunadi);
gotoxy(28,i);printf("%s",kayit.stok);
gotoxy(38,i);printf("%s",kayit.birim);
gotoxy(52,i);printf("%s",kayit.kulamac);
}
gotoxy(20,21);
printf("Listelenen Kayitlarin sonu...");
window(1,1,80,25);
}
}
getch();
printf("Dosya Sonu...");
fclose(fp);
}
void arama(void)
{
long sno;
clrscr();
gotoxy(30,8); printf(" Lütfen Aranan Stok Kodunu giriniz :");scanf("%ld",&sno);
dosac();
clrscr();
kayit.m=atol(kayit.skod);
fseek(fp,sizeof(kayit)*hash(sno),SEEK_SET);
fread(&kayit,sizeof(kayit),1,fp);
if(kayit.m==sno)
{
gotoxy(25,6);cprintf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
gotoxy(25,7);cprintf("º ARAMA SONUCU º ");
gotoxy(25,8);cprintf("º º ");
gotoxy(25,9);cprintf("º Stok Kodu :%s º",kayit.skod);
gotoxy(25,10);cprintf("º Stok Adi :%s º",kayit.urunadi);
gotoxy(25,11);cprintf("º Stok Miktari :%s º",kayit.stok);
gotoxy(25,12);cprintf("º Birimi :%s º",kayit.birim);
gotoxy(25,13);cprintf("º Birim Satis Fiyati :%s º",kayit.temyer);
gotoxy(25,14);cprintf("º Kdv Orani :%s º",kayit.oran);
gotoxy(25,15);cprintf("º Kullanim Amaci :%s º",kayit.kulamac);
gotoxy(25,17);cprintf("º º");
gotoxy(25,18);cprintf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
gotoxy(25,20);cprintf("ARADIGINIZ KAYIT BU MU?..... : [E/H]");
if(toupper(cev=='E'))
cev=getch();
}
else
{
fseek(fp,sizeof(kayit)*500,SEEK_SET);
while(!feof(fp))
{
fread(&kayit,sizeof(kayit),1,fp);
if(kayit.m==sno)
{
gotoxy(25,6);cprintf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
gotoxy(25,7);cprintf("º ARAMA SONUCU º ");
gotoxy(25,8);cprintf("º º ");
gotoxy(25,9);cprintf("º Stok Kodu :%s º",kayit.skod);
gotoxy(25,10);cprintf("º Stok Adi :%s º",kayit.urunadi);
gotoxy(25,11);cprintf("º Stok Miktari :%s º",kayit.stok);
gotoxy(25,12);cprintf("º Birimi :%s º",kayit.birim);
gotoxy(25,13);cprintf("º Birim Satis Fiyati :%s º",kayit.temyer);
gotoxy(25,14);cprintf("º Kdv Orani :%s º",kayit.oran);
gotoxy(25,15);cprintf("º Kullanim Amaci :%s º",kayit.kulamac);
gotoxy(25,17);cprintf("º º");
gotoxy(25,18);cprintf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
}
}
}
fclose(fp);
getch();
}
void main(void)
{
char sec;
textbackground(1);textcolor(2);
do
{
clrscr();
gotoxy(25,6);cprintf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
gotoxy(25,7);cprintf("º A N A M E N U º");
gotoxy(25,8);cprintf("º º");
gotoxy(25,9);cprintf("º º");
gotoxy(25,10);cprintf("º º");
gotoxy(25,11);cprintf("º STOK TAKiP PROGRAMI º ");
gotoxy(25,12);cprintf("º º ");
gotoxy(25,13);cprintf("º [1]-Bilgi Girisi º");
gotoxy(25,14);cprintf("º [2]-Bilgi Listeleme º");
gotoxy(25,15);cprintf("º [3]-Bilgi Arama º");
gotoxy(25,16);cprintf("º [4]-Cikis º");
gotoxy(25,17);cprintf("º º");
gotoxy(25,18);cprintf("º º");
gotoxy(25,19);cprintf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
gotoxy(25,30);cprintf ("Seciminiz [1-4] :");
sec=getch();
switch(sec)
{
case '1': giris();break;
case '2': liste();break;
case '3': arama();break;
case '4': exit(1);
}
} while(1);
}