0% found this document useful (0 votes)
177 views

Video Library Management System

This document contains code for a video library management system with the following key features: 1. It defines data structures like customer, movie, and transaction to store relevant information. 2. It includes functions for a main menu to navigate customer, movie, and transaction sections with options like add, modify, delete, list, and search. 3. The customer section manages customer records with functions for adding, modifying, deleting, and listing customers. 4. The movie section manages movie records with functions for adding, listing, and searching movies. 5. The transaction section manages rental transactions with functions for new, closing, listing, and searching transactions.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
177 views

Video Library Management System

This document contains code for a video library management system with the following key features: 1. It defines data structures like customer, movie, and transaction to store relevant information. 2. It includes functions for a main menu to navigate customer, movie, and transaction sections with options like add, modify, delete, list, and search. 3. The customer section manages customer records with functions for adding, modifying, deleting, and listing customers. 4. The movie section manages movie records with functions for adding, listing, and searching movies. 5. The transaction section manages rental transactions with functions for new, closing, listing, and searching transactions.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 52

/*--------------------------------------------------------------------*/

/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*

VIDEO LIBRARY MANAGEMENT SYSTEM

*/

/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/
/*--------------------------------------------------------------------*/

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<string.h>
#include<graphics.h>
#define PATH ".gi"
#define TBG textbackground(WHITE);textcolor(BLUE)
typedef struct customer
{
long id;
char name[20];
char pn[12];
char address[40];
char category;
int doj[3];
}cust;

typedef struct movie


{
long id;
char title[25];
int copy;
int cponshelf;
int issue;
char sid[20];
int loc;
}mov;
typedef struct transaction
{
long invoice;
int doi[3];
int dor[3];
char title[25];
int fine;
long cid;
char cname[20];
int copies;
int rent;
int tam;
}transaction;

cust ctr;
mov mv;
transaction tran;
FILE *fc,*fm,*ft,*tmp;
long int size;
int days,k=0;
struct date d;
void main_menu()
{
char *menu[]={"CUSTOMER SECTION","MOVIE SECTION",
"TRANSACTION SECTION","EXIT"};
char ch;
int gd=DETECT,gm,i,choice=0;
initgraph(&gd,&gm,PATH);
setfillstyle(SOLID_FILL,RED);
bar(0,0,640,480);
title("MAIN MENU",180);
status();
box(0,menu[0]);
box(1,menu[1]);
box(2,menu[2]);
box(3,menu[3]);
selectbox(choice,menu[choice]);

//72 up
//80 down
//75 left
//77 right
//13 enter
//49 1
//71 Home
//79 End
//73 PgUp
//81 PgDown
//27 Escape
while((ch=getch())!=13)
{
switch(ch)
{
case 80:
case 81:
choice++;
if(choice==4)
choice=0;
selectbox(choice,menu[choice]);
for(i=0;i<=3;i++)
{
if(i==choice) continue;
box(i,menu[i]);

}
break;
case 72:
case 73:
choice--;
if(choice==-1)
choice=3;
selectbox(choice,menu[choice]);
for(i=0;i<=3;i++)
{
if(i==choice)
continue;
box(i,menu[i]);
}
}
}
pressbutton(choice,menu[choice]);
switch(choice)
{
case 0:
size=sizeof(ctr);
customer();
break;
case 1:
movie();

break;
case 2:
transactions();
break;
case 3:
closegraph();
restorecrtmode();
exit(0);
}
}
customer()
{
char *menu[]={"ADD CUSTOMER","MODIFY CUSTOMER",
"DELETE CUSTOMER","LIST CUSTOMER","BACK TO MAIN MENU","EXIT"};
char ch;
int gd=DETECT,gm;
int i,choice=0;
initgraph(&gd,&gm,PATH);
setfillstyle(SOLID_FILL,RED);
bar(0,0,640,480);
title("CUSTOMER MENU",130);
status();
box(0,menu[0]);
box(1,menu[1]);
box(2,menu[2]);

box(3,menu[3]);
box(4,menu[4]);
box(5,menu[5]);
selectbox(choice,menu[choice]);
//72 up
//80 down
//75 left
//77 right
//13 enter
//49 1
//71 Home
//79 End
//73 PgUp
//81 PgDown
//27 Escape
while((ch=getch())!=13)
{
switch(ch)
{
case 80:
case 81:
choice++;
if(choice==6)
choice=0;
selectbox(choice,menu[choice]);

for(i=0;i<=5;i++)
{
if(i==choice)
continue;
box(i,menu[i]);
}
break;
case 72:
case 73:
choice--;
if(choice==-1)
choice=5;
selectbox(choice,menu[choice]);
for(i=0;i<=5;i++)
{
if(i==choice) continue;
box(i,menu[i]);
}
}
}
pressbutton(choice,menu[choice]);
closegraph();
restorecrtmode();
clrscr();
if((fc=fopen("c:customer.txt","rb+"))==NULL)

fc=fopen("c:customer.txt","wb+");
switch(choice)
{
case 0:
addcus();
break;
case 1:
rewind(fc);
modify();
break;
case 2:
delete();
break;
case 3:
listcust();
break;
case 4:
fclose(fc);
main_menu();
break;
case 5:
fclose(fc);
exit(1);
}return(0);
}

movie()
{
char *menu[]={"ADD MOVIE","LIST MOVIES","SEARCH MOVIE","BACK TO MAIN
MENU","EXIT"};
char ch;
int gd=DETECT,gm;
int i,choice=0;
initgraph(&gd,&gm,PATH);
setfillstyle(SOLID_FILL,RED);
bar(0,0,640,480);
title("MOVIE MENU",165);
status();
box(0,menu[0]);
box(1,menu[1]);
box(2,menu[2]);
box(3,menu[3]);
box(4,menu[4]);
selectbox(choice,menu[choice]);
//72 up
//80 down
//75 left
//77 right
//13 enter
//49 1
//71 Home

//79 End
//73 PgUp
//81 PgDown
//27 Escape
while((ch=getch())!=13)
{
switch(ch)
{
case 80:
case 81:
choice++;
if(choice==5)
choice=0;
selectbox(choice,menu[choice]);
for(i=0;i<=4;i++)
{
if(i==choice) continue;
box(i,menu[i]);
}
break;
case 72:
case 73:
choice--;
if(choice==-1)
choice=4;

selectbox(choice,menu[choice]);
for(i=0;i<=4;i++)
{
if(i==choice) continue;
box(i,menu[i]);
}
}
}
pressbutton(choice,menu[choice]);
closegraph();
restorecrtmode();
clrscr();
/*textcolor(4);*/
fm=fopen("c:movie.txt","rb+");
if(fm==NULL)
fm=fopen("c:movie.txt","wb+");
switch(choice)
{
case 0:
addmov();
break;
case 1:
listmov();
break;
case 2:

searchmov();
break;
case 3:
main_menu();
break;
case 4:
fclose(fm);
exit(1);
}return(0);
}
transactions()
{
char *menu[]={"NEW TRANSACTION","CLOSE TRANSACTION","LIST
TRANSACTIONS","SEARCH MOVIE","BACK TO MAIN MENU","EXIT"};
char ch;
int gd=DETECT,gm,i,choice=0;
initgraph(&gd,&gm,PATH);
setfillstyle(SOLID_FILL,RED);
bar(0,0,640,480);
title("TRANSACTION MENU",100);
status();
box(0,menu[0]);
box(1,menu[1]);
box(2,menu[2]);
box(3,menu[3]);

box(4,menu[4]);
box(5,menu[5]);
selectbox(choice,menu[choice]);
//72 up
//80 down
//75 left
//77 right
//13 enter
//49 1
//71 Home
//79 End
//73 PgUp
//81 PgDown
//27 Escape
while((ch=getch())!=13)
{
switch(ch)
{
case 80:
case 81:
choice++;
if(choice==6)
choice=0;
selectbox(choice,menu[choice]);
for(i=0;i<=5;i++)

{
if(i==choice) continue;
box(i,menu[i]);
}
break;
case 72:
case 73:
choice--;
if(choice==-1)
choice=5;
selectbox(choice,menu[choice]);
for(i=0;i<=5;i++)
{
if(i==choice) continue;
box(i,menu[i]);
}
}
}
pressbutton(choice,menu[choice]);
closegraph();
restorecrtmode();
clrscr();
ft=fopen("c: ransact.txt","rb+");
if(ft==NULL)
ft=fopen("c: ransact.txt","wb+");

switch(choice)
{
case 0:
addtran();
break;
case 1:
closetran();
break;
case 2:
listtran();
break;
case 3:
fm=fopen("c:movie.txt","rb+");
if(fm==NULL)
fm=fopen("c:movie.txt","wb+");
searchmov();
break;
case 4:
main_menu();
break;
case 5:
exit(0);
}return(0);
}
addcus()

{
char another='y';
fseek(fc,0,SEEK_END);
TBG;
while(another=='y'||another=='Y')
{
clrscr();

printf("\t******************** ADD CUSTOMER FORM ****************");


printf("\n\nCUSTOMER ID(NUMERIC) :");
printf("\n\nCUSTOMER NAME

:");

printf("\n\nCUSTOMER PHONE NO
printf("\n\nCUSTOMER ADDRESS
printf("\n\nDATE OF JOINING

:");
:");

:");

printf("\n\nCATEGORY(H/A/C/R/S/T) :");

gotorc(2,24);
customid();
gotorc(4,24);
fflush(stdin);
gets(ctr.name);
gotorc(6,24);
fflush(stdin);
gets(ctr.pn);
gotorc(8,24);

fflush(stdin);
gets(ctr.address);
gotorc(10,24);
fflush(stdin);
getdate(&d);
ctr.doj[0]=d.da_day;ctr.doj[1]=d.da_mon;ctr.doj[2]=d.da_year;
printf("%d/%d/%d",d.da_day,d.da_mon,d.da_year);
gotorc(12,24);
fflush(stdin);
ctr.category=getche();
gotorc(16,3);
printf("DO YOU WANT TO SUBMIT THIS FORM (Y/N)");
fflush(stdin);
another=getch();
if(another=='y'||another=='Y')
fwrite(&ctr,size,1,fc);
gotorc(18,3);
printf("DO YOU WANT TO ADD ANOTHER CUTOMER(Y/N)");
fflush(stdin);
another=getch();
}
fclose(fc);
customer();
return(0);
}

customid()
{
rewind(fc);
if(fread(&ctr,sizeof(ctr),1,fc)!=1)
ctr.id=1;
else
{
while(fread(&ctr,sizeof(ctr),1,fc)==1);
ctr.id++;
}
printf("%ld",ctr.id);
return(0);
}
modify()
{
char another='y',choice,name[20],flag='n';
long id;
TBG;
while(another=='y'||another=='Y')
{
clrscr();
rewind(fc);
printf("
fflush(stdin);

SEARCH BY NAME : PRESS 1

SEARCH BY ID : PRESS 2

");

choice=getchar();
if(choice=='2')
{
printf("ENTER CUSTOMER ID : ");
scanf("%ld",&id);
while(fread(&ctr,size,1,fc)==1)
{
if(ctr.id==id)
{
new();
flag='y';
break;
}
}
}
if(choice=='1')
{
printf("ENTER CUSTOMER NAME : ");
fflush(stdin);
gets(name);
while(fread(&ctr,size,1,fc)==1)
{
if(strcmpi(ctr.name,name)==0)
{
new();

flag='y';
break;
}
}
}
if(flag=='n')
{
gotorc(15,3);
printf("CUSTOMER NOT FOUND............ !");
}
gotorc(18,3);
printf("DO YOU WANT TO MODIFY ANOTHER CUTOMER(Y/N)");
fflush(stdin);
another=getch();
}
fclose(fc);
customer();
return(0);
}
new()
{
char another='y';
clrscr();
TBG;
fseek(fc,-size,SEEK_CUR);

printf("\nCUSTOMER'S NEW NAME

:\n\n");

printf("CUSTOMER'S NEW PHONE NO

:\n\n");

printf("CUSTOMER'S NEW ADDRESS

:\n\n");

printf("NEW DATE OF JOINING (DD<-|MM<-|YYYY<-|) :\n\n");


printf("NEW CATEGORY(H/A/C/R/S/T)
gotorc(1,43);
fflush(stdin);
gets(ctr.name);
gotorc(3,43);
fflush(stdin);
gets(ctr.pn);
gotorc(5,43);
fflush(stdin);
gets(ctr.address);
gotorc(7,43);
fflush(stdin);
scanf("%d",&ctr.doj[0]);
gotorc(7,45);
printf("%c",'/');
scanf("%d",&ctr.doj[1]);
gotorc(7,48);
printf("%c",'/');
scanf("%d",&ctr.doj[2]);
gotorc(9,43);
fflush(stdin);

:");

ctr.category=getche();
gotorc(16,3);
printf("UPDATE THE CUSTOMER RECORD (Y/N)");
fflush(stdin);
another=getch();
if(another=='y'||another=='Y')
fwrite(&ctr,size,1,fc);
rewind(fc);
return(0);
}
listcust()
{
int i=1,p=4;
clrscr();
TBG;
rewind(fc);
printf("******************** CUSTOMERS LIST ************");
gotorc(2,3);
printf("ID");
gotorc(2,8);
printf("NAME");
gotorc(2,22);
printf("PHONE NO");
gotorc(2,35);
printf("ADDRESS");

gotorc(2,55);
printf("D.O.J");
gotorc(2,68);
printf("CATEGORY");
while(fread(&ctr,size,1,fc)==1)
{
gotorc(p,3);
printf("%ld",ctr.id);
gotorc(p,8);
printf("%s",strupr(ctr.name));
gotorc(p,22);
printf("%s",ctr.pn);
gotorc(p,35);
printf("%s",strupr(ctr.address));
gotorc(p,55);
printf("%d/%d/%d",ctr.doj[0],ctr.doj[1],ctr.doj[2]);
gotorc(p,70);
printf("%c",toupper(ctr.category));
if(i%15==0)
{
gotorc(40,3);
printf("\n
getch();
clrscr();
p=4;

\n\n \n PRESS ANY KEY TO CONTINUE.....");

}
p+=2;
i++;
}
printf(" PRESS ANY KEY TO BACK TO CUSTOMER MENU");
getch();
customer();
return(0);
}
delete()
{
char another='y',choice,name[20],flag='n';
long id;
tmp=fopen("c:

emp.txt","wb");

rewind(fc);
TBG;
while(another=='y'||another=='Y')
{
clrscr();
printf("

DELETE BY NAME : 1

fflush(stdin);
choice=getchar();
if(choice=='2')
{
printf("ENTER CUSTOMER ID : ");

DELETE BY ID : 2

");

scanf("%ld",&id);
clrscr();
while(fread(&ctr,size,1,fc)==1)
{
if(ctr.id!=id)
fwrite(&ctr,size,1,tmp);
else
flag='y';
}
}
if(choice=='1')
{
printf("ENTER CUSTOMER NAME : ");
fflush(stdin);
gets(name);
clrscr();
while(fread(&ctr,size,1,fc)==1)
{
if(strcmpi(ctr.name,name)!=0)
fwrite(&ctr,size,1,tmp);
else
flag='y';
}
}
fclose(fc);

fclose(tmp);
remove("c:customer.txt");
rename("c: emp.txt","c:customer.txt");
if(flag=='n')
printf("CUSTOMER NOT FOUND.... !");
printf("DO YOU WANT TO DELETE ANOTHER CUTOMER(Y/N)");
fflush(stdin);
another=getch();
}
fclose(fc);
customer();
return(0);
}
addmov()
{
char another='y';
TBG;
fseek(fm,0,SEEK_END);
while(another=='y'||another=='Y')
{
clrscr();
printf("*****************ADD MOVIE FORM*****************");
printf("\nMOVIE ID(NUMERIC) :");
printf("\n\nMOVIE NAME

:");

printf("\n\nNO OF COPIES

:");

printf("\n\nSUPPLIER ID

:");

printf("\n\nLOCATION

:");

gotorc(1,24);
movid();
gotorc(2,24);
fflush(stdin);
gets(mv.title);
gotorc(3,24);
fflush(stdin);
scanf("%d",&mv.copy);
mv.cponshelf=mv.copy;
mv.issue=0;
gotorc(4,24);
fflush(stdin);
gets(mv.sid);
gotorc(5,24);
fflush(stdin);
scanf("%d",&mv.loc);
fwrite(&mv,sizeof(mv),1,fm);
printf("DO YOU WANT TO ADD ANOTHER MOVIE(Y/N)");
fflush(stdin);
another=getch();
}
fclose(fm);
printf("PRESS ANY KEY TO BACK TO MOVIE MENU");

movie();
return(0);
}
movid()
{
rewind(fm);
if(fread(&mv,sizeof(mv),1,fm)!=1)
mv.id=1;
else
{
while(fread(&mv,sizeof(mv),1,fm)==1);
mv.id++;
}
printf("%ld",mv.id);
return(0);
}
listmov()
{
int i=1,p=4;
textbackground(WHITE);
textcolor(BLUE);
clrscr();
rewind(fm);
printf("******************** MOVIE LIST *****************");
gotorc(2,1);

printf("ID");
gotorc(2,5);
printf("TITLE");
gotorc(2,25);
printf("TOT_CP");
gotorc(2,35);
printf("CP_O_SHELF");
gotorc(2,48);
printf("TOT_ISSUES");
gotorc(2,59);
printf("SUPPLIER ID");
gotorc(2,71);
printf("LOCATION");
while(fread(&mv,sizeof(mv),1,fm)==1)
{
gotorc(p,1);
printf("%ld",mv.id);
gotorc(p,5);
printf("%s",strupr(mv.title));
gotorc(p,28);
printf("%d",mv.copy);
gotorc(p,40);
printf("%d",mv.cponshelf);
gotorc(p,52);
printf("%d",mv.issue);

gotorc(p,59);
printf("%s",mv.sid);
gotorc(p,74);
printf("%d",mv.loc);
if(i%10==0)
{
printf("PRESS ANY KEY TO CONTINUE.....");
fflush(stdin);
getch();
clrscr();
p=4;
}
i++;
p+=2;
}
printf("PRESS ANY KEY TO BACK TO MOVIE MENU");
getch();
fclose(fm);
movie();
return(0);
}
searchmov()
{
char mname[20],another;

TBG;
clrscr();
rewind(fm);
gotorc(5,5);
printf("ENTER MOVIE TITLE : ");
fflush(stdin);
gets(mname);
while(fread(&mv,sizeof(mv),1,fm)==1)
{
if(strcmpi(mv.title,mname)==0)
{
gotorc(7,12);
textcolor(0);
cprintf("MOVIE FOUND..");
textcolor(4);
gotorc(9,5);
printf("MOVIE TITLE

: %s",mv.title);

gotorc(11,5);
printf("TOTAL NO OF COPIES

: %d",mv.copy);

gotorc(13,5);
printf("NO OF COPIES AVAILABLE : %d",mv.cponshelf);
gotorc(15,5);
printf("SUPPLIER ID

: %s",mv.sid);

gotorc(17,5);
printf("LOCATION

: %d",mv.loc);

gotorc(20,5);
printf("DO YOU WANT TO SEARCH MORE MOVIES(Y/N)");
fflush(stdin);
another=getchar();
if(another=='y'||another=='Y')
searchmov();
fclose(fm);
movie();
}
}
gotorc(7,5);
textcolor(4);
cprintf("MOVIE NOT FOUND.....!");
textcolor(4);
gotorc(12,5);
printf("DO YOU WANT TO SEARCH MORE MOVIES(Y/N)");
fflush(stdin);
another=getchar();
if(another=='y'||another=='Y')
searchmov();
fclose(fm);
movie();
return(0);
}

addtran()
{
char another='y',rec;

TBG;
fseek(ft,0,SEEK_END);
while(another=='y'||another=='Y')
{
clrscr();
printf("***************** TRANSACTION****************");
printf("\nINVOICE NO(NUMERIC) :");
printf("\nMOVIE TITLE

:\n");

printf("\n\nCOPIES AVAILABLE :\n");


printf("\n\nCUSTOMER ID
printf("\n\nCUSTOMER NAME

:\n");
:\n");

printf("\n\nNO. OF COPIES

:\n");

printf("\n\nDATE OF ISSUE

:\n");

gotorc(2,24);
invoice();
gotorc(4,24);
fflush(stdin);
gets(tran.title);
gotorc(6,24);
avail();

gotorc(8,24);
fflush(stdin);
scanf("%ld",&tran.cid);
custcheck();
gotorc(12,24);
fflush(stdin);
scanf("%d",&tran.copies);
if(tran.copies>mv.cponshelf)
{
gotorc(18,3);
printf("TRANSACTION NOT POSSIBLE : REQUIRED NO OF COPIES NOT
AVAILABLE");
printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");
getch();
transactions();
}
gotorc(14,24);
fflush(stdin);
getdate(&d);
tran.doi[0]=d.da_day;tran.doi[1]=d.da_mon;tran.doi[2]=d.da_year;
printf("%d/%d/%d",d.da_day,d.da_mon,d.da_year);
tran.dor[0]=0;
tran.rent=0;
gotorc(18,4);
printf("DO YOU WANT TO RECORD THIS TRANSACTION(Y/N)");

rec=getchar();
if(rec=='y'||rec=='Y')
{
update();
fwrite(&tran,sizeof(tran),1,ft);
}
printf("DO YOU WANT TO ADD ANOTHER TRANSACTION(Y/N)");
fflush(stdin);
another=getch();
}
fclose(ft);
printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");
transactions();
return(0);
}
custcheck()
{
if((fc=fopen("c:customer.txt","rb"))==NULL)
fc=fopen("c:customer.txt","wb+");
rewind(fc);
while(fread(&ctr,sizeof(ctr),1,fc)==1)
{
if(ctr.id==tran.cid)
{
gotorc(10,24);

printf("%s",ctr.name);
strcpy(tran.cname,ctr.name);
fclose(fc);
}
}
fclose(fc);
gotorc(18,4);
printf("INVALID CUSTOMER ............!");
gotorc(21,4);
printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");
getch();
transactions();
return(0);
}
invoice()
{
rewind(ft);
if(fread(&tran,sizeof(tran),1,ft)!=1)
tran.invoice=1;
else
{
while(fread(&tran,sizeof(tran),1,ft)==1);
tran.invoice++;
}
printf("%ld",tran.invoice);

return(0);
}
avail()
{
fm=fopen("c:movie.txt","rb+");
if(fm==NULL)
fm=fopen("c:movie.txt","wb+");
while(fread(&mv,sizeof(mv),1,fm)==1)
{
if(strcmpi(tran.title,mv.title)==0)
{
printf("%d",mv.cponshelf);
fclose(fm);
// return;
}
}
gotorc(18,3);
printf("%s","MOVIE NOT FOUND...!");
gotorc(21,3);
printf("PRESS ANY KEY TO RETURN");
getch();
fclose(fm);
transactions();
return(0);
}

update()
{
long msize;
msize=sizeof(mv);
fm=fopen("c:movie.txt","rb+");
if(fm==NULL)
fm=fopen("c:movie.txt","wb+");
while(fread(&mv,sizeof(mv),1,fm)==1)
{
if(strcmpi(tran.title,mv.title)==0)
{
mv.cponshelf=mv.cponshelf-tran.copies;
mv.issue=mv.issue+tran.copies;
fseek(fm,-msize,SEEK_CUR);
fwrite(&mv,sizeof(mv),1,fm);
break;
}
}
fclose(fm);
return;
}
listtran()
{
int i=1;
TBG;

clrscr();
rewind(ft);
while(fread(&tran,sizeof(tran),1,ft)==1)
{
printf("

INVOICE NO(NUMERIC) : %ld

printf("CUSTOMER ID

: %ld

printf("CUSTOMER NAME

",tran.invoice);

",tran.cid);

: %s ",tran.cname);

printf("MOVIE TITLE

: %s

",tran.title);

printf("NO. OF COPIES

: %d

",tran.copies);

printf("DATE OF ISSUE

: %d/%

",tran.doi[0],tran.doi[1],tran.doi[2]);
if(tran.dor[0]!=0)
{
printf("DATE OF RETURN

: %d/%d/%d

",tran.dor[0],tran.dor[1],tran.dor[2]);
printf("RENT
printf("FINE

: %d ",tran.rent);
: %d

printf("TOTAL AMOUNT

",tran.fine);
: %d",tran.tam);

}
printf("........................................");
if(i%2==0)
{
printf("PRESS ANY KEY TO CONTINUE.....");
getch();
clrscr();

}
i++;
}
fclose(ft);
printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");
getch();
transactions();
return(0);
}
closetran()
{
long id,sz;
TBG;
clrscr();
sz=sizeof(tran);
printf("ENTER INVOICE NO: ");
scanf("%ld",&id);
clrscr();
while(fread(&tran,sz,1,ft)==1)
{
if(tran.invoice==id)
{
if(tran.dor[0]!=0)
{
gotorc(4,4);

printf("THIS TRANSACTION IS ALL READY CLOSED...!");


gotorc(7,4);
printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU......");
getch();
transactions();
}
fseek(ft,-sz,1);
getdate(&d);
tran.dor[0]=d.da_day;tran.dor[1]=d.da_mon;tran.dor[2]=d.da_year;
difference();
tran.rent=tran.copies*25;
if(k==0)
tran.fine=0;
else
tran.fine=tran.copies*(k-1)*5;
tran.tam=tran.rent+tran.fine;
printf("INVOICE NO(NUMERIC) : %ld
printf("CUSTOMER ID

: %ld

printf("CUSTOMER NAME

",tran.invoice);

",tran.cid);

: %s ",tran.cname);

printf("MOVIE TITLE

: %s

",tran.title);

printf("NO. OF COPIES

: %d

",tran.copies);

printf("DATE OF ISSUE

: %d/%d/%d

",tran.doi[0],tran.doi[1],tran.doi[2]);
printf("DATE OF RETURN

: %d/%d/%d

",tran.dor[0],tran.dor[1],tran.dor[2]);

printf("RENT
printf("FINE

: %d ",tran.rent);
: %d

printf("TOTAL AMOUNT

",tran.fine);
: %d ",tran.tam);

updateclose();
fwrite(&tran,sz,1,ft);
fclose(ft);
}
}
printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");
getch();
transactions();
return(0);
}
difference()
{
int t,m1,m2,y1,y2,d1,d2;
d1=tran.doi[0];
d2=tran.dor[0];
m1=tran.doi[1];
m2=tran.dor[1];
y1=tran.doi[2];
y2=tran.dor[2];
t=m1;
if(y2>y1)
{

while(y2>y1)
{
while(m1<=12)
{
check(m1,y1);
if(m1==t)
k=days-d1;
else
k=k+days;
m1=m1+1;
}
m1=1;y1++;
}
while(m1<m2)
{
check(m1,y1);
k=k+days;
m1++;
}
k=k+d2;
}
else
{
if(m1!=m2)
{

while(m1<m2)
{
check(m1,y1);
if(m1==t)
k=days-d1;
else
k=k+days;
m1=m1+1;
}
k=k+d2;
}
else
k=d2-d1;
}
return(0);
}
check(int m1,int y1)
{
if(m1==1||m1==3||m1==5||m1==7||m1==8||m1==10||m1==12)
days=31;
else
{
if(m1!=2)
days=30;
else

{
if(y1%4==0)
days=29;
else
days=28;
}
}
return(0);
}
updateclose()
{
long msize;
msize=sizeof(mv);
fm=fopen("c:movie.txt","rb+");
if(fm==NULL)
fm=fopen("c:movie.txt","wb+");
while(fread(&mv,sizeof(mv),1,fm)==1)
{
if(strcmpi(tran.title,mv.title)==0)
{
mv.cponshelf=mv.cponshelf+tran.copies;
fseek(fm,-msize,SEEK_CUR);
fwrite(&mv,msize,1,fm);
break;
}

}
fclose(fm);
return;
}
gotorc(int r,int c)
{
union REGS i,o;
i.h.ah=2;
i.h.bh=0;
i.h.dh=r;
i.h.dl=c;
int86(16,&i,&o);
return(0);
}
void screen1()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,PATH);
setfillstyle(SOLID_FILL,RED);
bar(0,0,640,480);
setfillstyle(SOLID_FILL,WHITE);
bar(15,15,625,465);
setfillstyle(SOLID_FILL,RED);
bar(30,30,610,450);
settextstyle(1,0,8);

setcolor(WHITE);
outtextxy(190,35,"VIDEO");
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar3d(180,140,385,130,20,20);
outtextxy(160,150,"LIBRARY");
bar3d(140,255,440,245,20,20);
outtextxy(165,270,"SYSTEM");
bar3d(145,375,440,365,20,20);
/* sleep(4); */
getch();
closegraph();
restorecrtmode();
}
void screen2()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,PATH);
setfillstyle(SOLID_FILL,RED);
bar(0,0,640,480);
setfillstyle(SOLID_FILL,WHITE);
bar(15,15,625,465);
setfillstyle(SOLID_FILL,RED);
bar(30,30,610,450);
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar3d(180,100,420,300,25,25); /*members bar*/

settextstyle(1,1,10);
setcolor(WHITE);
outtextxy(10,55,"LPU");
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar3d(180,50,420,70,20,20); /*project members bar*/
bar3d(50,350,570,420,25,25); /*project guide bar*/
setcolor(BLUE);
settextstyle(1,0,2);
outtextxy(193,48,"PROJECT DEVLOPED BY");
outtextxy(193,130,"CHANDAN KUMAR JHA");
outtextxy(235,351,"PROJECT GUIDE:");
settextstyle(1,0,5);
outtextxy(140,373,"MR. BALRAJ SIR");
/* sleep(4); */
getch();
closegraph();
restorecrtmode();
}
box(int i,char *p)
{
setfillstyle(SOLID_FILL,WHITE);
bar(179,108+55*i,409,138+55*i);
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(180,110+55*i,410,140+55*i);
setcolor(BLUE);

// setfillstyle(SOLID_FILL,BLUE);
settextstyle(1,0,2);
outtextxy(184,110+55*i,p);
/* getch();
setfillstyle(SOLID_FILL,WHITE);
bar(180,60,390,90);
setfillstyle(SOLID_FILL,RED);
bar(179,59,389,89); */
/* bar3d(180,100,420,300,-25,25);*/ /*members bar*/
/* closegraph();
restorecrtmode(); */
return(0);
}
selectbox(int i,char *p)
{
setfillstyle(SOLID_FILL,WHITE);
bar(179,108+55*i,409,138+55*i);
setfillstyle(SOLID_FILL,9);
bar(180,110+55*i,410,140+55*i);
setcolor(WHITE);
// setfillstyle(SOLID_FILL,BLUE);
settextstyle(1,0,2);
outtextxy(184,110+55*i,p);
/* getch();
setfillstyle(SOLID_FILL,WHITE);

bar(180,60,390,90);
setfillstyle(SOLID_FILL,RED);
bar(179,59,389,89); */
/* bar3d(180,100,420,300,-25,25);*/ /*members bar*/
/* closegraph();
restorecrtmode(); */
return(0);
}
pressbutton(int i,char *p)
{
setfillstyle(SOLID_FILL,WHITE);
bar(180,110+55*i,410,140+55*i);
setfillstyle(SOLID_FILL,9);
bar(179,108+55*i,409,138+55*i);
setcolor(CYAN);
settextstyle(1,0,2);
outtextxy(184,110+55*i,p);
delay(350);
return(0);
}
title(char *title,int x)
{
setfillstyle(SOLID_FILL,9);
bar(0,0,640,50);
setcolor(BLACK);

settextstyle(1,0,5);
outtextxy(x,0,title);
return(0);
}
status()
{
setfillstyle(SOLID_FILL,9);
bar(0,450,640,480);
setcolor(BLACK);
settextstyle(1,0,3);
outtextxy(30,450,"USE UP & DOWN ARROW KEYS TO SELECT AN OPTION");
return(0);
}
void main()
{
screen1();
screen2();
main_menu();
}

You might also like