Video Library Management System (Project) - Insurance Tips

A Hub of Best Guide Health Insurance Tips

Sunday, May 22, 2022

Video Library Management System (Project)

 

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

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

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

/*                           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);

                }

}

 

 

 

 

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);

                }

}

 

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);

                }

    }

 

addcus()

   {

    char another='y';

    fseek(fc,0,SEEK_END);

 

    TBG;

    while(another=='y'||another=='Y')

                {

                 clrscr();

                 

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

                 printf("CUSTOMER ID(NUMERIC)  :");

                 printf("CUSTOMER NAME         :");

                 printf("CUSTOMER PHONE NO     :");

                 printf("CUSTOMER ADDRESS      :");

                 printf("DATE OF JOINING       :");

                 printf("CATEGORY(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();

     }

 

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);

     }

 

 

 modify()

   {

    char another='y',choice,name[20],flag='n';

    long id;

 

    TBG;

    while(another=='y'||another=='Y')

                {

                 clrscr();

                 rewind(fc);

                 

                 printf(" SEARCH BY NAME : PRESS 1         SEARCH BY ID   : PRESS 2                ");

                 

                 fflush(stdin);

                 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();

     }

 

 

 

new()

                {

                   char another='y';

                   clrscr();

                   TBG;

                   fseek(fc,-size,SEEK_CUR);

                                printf("CUSTOMER'S NEW NAME                      :");

                                printf("CUSTOMER'S NEW PHONE NO                  :");

                                printf("CUSTOMER'S NEW ADDRESS                   :");

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

                                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);

                 }

 

 

 

 

 

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("PRESS ANY KEY TO CONTINUE.....");

                getch();

                clrscr();

                p=4;

                }

                p+=2;

                i++;

 

                }

printf("   PRESS ANY KEY TO BACK TO CUSTOMER MENU");

                  getch();

                  customer();

                  }

 

 

 

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        DELETE BY ID  : 2               ");

                 fflush(stdin);

                 choice=getchar();

                 if(choice=='2')

                   {

                     printf("ENTER CUSTOMER ID : ");

                     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();

     }

 

 

 

 

 addmov()

   {

    char another='y';

 

    TBG;

    fseek(fm,0,SEEK_END);

    while(another=='y'||another=='Y')

                {

                 clrscr();

                 printf("*****************ADD MOVIE FORM*****************");

                 printf("MOVIE ID(NUMERIC)    :");

                 printf("MOVIE NAME           :");

                 printf("NO OF COPIES         :");

                 printf("SUPPLIER ID          :");

                 printf("LOCATION             :");

                 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();

     }

 

 

 

 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);

    }

 

 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();

                  }

 

 

 

 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();

 

                }

 

 

addtran()

   {

    char another='y',rec;

 

    TBG;

    fseek(ft,0,SEEK_END);

    while(another=='y'||another=='Y')

                {

                 clrscr();

                 printf("*****************  TRANSACTION****************");

                 printf("INVOICE NO(NUMERIC) :");

                 printf("MOVIE TITLE         :");

                 printf("COPIES AVAILABLE    :");

                 printf("CUSTOMER ID         :");

                 printf("CUSTOMER NAME       :");

                 printf("NO. OF COPIES       :");

                 printf("DATE OF ISSUE       :");

                 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();

     }

 

 

 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);

                                 return;

                                 }

                                }

                 fclose(fc);

                 gotorc(18,4);

                 printf("INVALID CUSTOMER ............!");

                 gotorc(21,4);

                 printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");

                 getch();

                 transactions();

 

                 }

 

 

 

 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);

     }

 

 

 

 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();

     }

 

 

 

 

 

 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      ",tran.invoice);

                                printf("CUSTOMER ID         : %ld  ",tran.cid);

                                printf("CUSTOMER NAME       : %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]);

                                if(tran.dor[0]!=0)

                                {

                                printf("DATE OF RETURN      : %d/%d/%d               ",tran.dor[0],tran.dor[1],tran.dor[2]);

                                printf("RENT                : %d            ",tran.rent);

                                printf("FINE                : %d              ",tran.fine);

                                printf("TOTAL AMOUNT        : %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();

                  }

 

 

 

 

 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        ",tran.invoice);

                                printf("CUSTOMER ID         : %ld  ",tran.cid);

                                printf("CUSTOMER NAME       : %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                : %d            ",tran.rent);

                                printf("FINE                : %d              ",tran.fine);

                                printf("TOTAL AMOUNT        : %d               ",tran.tam);

                                updateclose();

                                fwrite(&tran,sz,1,ft);

                                fclose(ft);

                                       }

                                }

                  printf("PRESS ANY KEY TO BACK TO TRANSACTION MENU");

                  getch();

                  transactions();

 

                }

 

 

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;

    }

 

  }

 

 

 

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;

                     }

                 }

    }

 

 

 

 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);

    }

 

 

 

 

 

 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();

 }

 

 

 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,"IIMS");

 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 MEMBERS");

 

 

 outtextxy(193,130,"MANISH MISHRA");

 outtextxy(193,170,"VISHAL YADAV");

 outtextxy(193,210,"SHIV KUMAR RAI");

 outtextxy(193,250,"DINESH YADAV");

 

 

 

 outtextxy(235,351,"PROJECT GUIDE:");

 settextstyle(1,0,5);

 outtextxy(140,373,"MR. AMIT TANEJA");

/* 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(); */

 }

 

 

 

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(); */

 }

 

 

 

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);

 }

 title(char *title,int x)

 {

                setfillstyle(SOLID_FILL,9);

                bar(0,0,640,50);

                setcolor(BLACK);

                settextstyle(1,0,5);

                outtextxy(x,0,title);

 }

 

 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");

 }

 

 

 void main()

                {

                screen1();

                screen2();

                main_menu();

                }

No comments:

Post a Comment