Add to Favorites    Make Home Page 134397 Online  
 Language Categories  
 Our Services  

Home » C Home » DBMS Projects Home » stortoll


Search Projects & Source Codes:

Title stortoll
Author mhandrap
Author Email mahen_deeps2001 [at]
Description There are 2 files :
1. Source Code copy (STORETOLL.C). Open this in your Turbo C.
2. Database file (MHN.TXT). This is after the source code in the box below.

After running the program, there will be three menus:

1. Process bill,
2. Print bill,
3. Management

On processbill menu, click billprocess. Then give the item code between 101 to 105.

To exit from billprocess, give 1 and press enter.
Category C » DBMS Projects
Hits 385964
Code Select and Copy the Code
//////// FILE 1 - STORETOLL.C ///////////////// //////// LOOK BELOW FOR THE DATABASE FILE ///// #include<stdio.h> #include<conio.h> #include<graphics.h> #include<dos.h> #include<time.h> #include<stdlib.h> #define NO 0 #define YES 1 #define NONE -1 //in a menu there can be three items #define MAX_MENU 6 int x,y; int selection; int button,x,y; void *p; size_t area; int validate(int); FILE *date; FILE *f2; FILE *fop; FILE *today; char todaydate[15]; FILE *day; char salebydate[10]; FILE *itemtoday; FILE *itembydate; char str[10]; int customer; struct MENU { int x; int y; int x1; int y1; unsigned char Active[MAX_MENU]; char *head; }; int mouseon(struct MENU *t); void process(); void xorbar(int sx,int sy,int ex,int ey,int c); void show(); void hide(); void status(); //position of the billprocess menu struct MENU Billprocess = {0,0,80,20}; //position of the print menu struct MENU Print = {90,0,165,20}; struct MENU Management = {175,0,260,20}; void main() { int gd=DETECT,gm; initgraph(&gd,&gm,"f:\tcpp"); selection=NONE; for(gd=0;gd<MAX_MENU;gd++) { //gd=3 Billprocess.Active[gd]=YES; //gd=1 Print.Active[gd]=YES; Management.Active[gd]=YES; } //head that is printed on msg Billprocess.head="processbill"; Print.head="Print"; Management.head="management"; //allocation for image memory area=imagesize(0,0,150,150); p=malloc(area); if(p==NULL) { closegraph(); restorecrtmode(); printf("not enough memory"); exit(1); } //style of the menu setfillstyle(1,7); //full window bar(0,0,660,650); welcomescreen(); x=2; y=2; process(); //end(); closegraph(); getch(); } void process() { //menu items in billprocess menu char *bp[]={"Processbill","Openbill","Exit"}; //menu item in print menu char *pr[]={"Printbill"}; char *mgt[]={"SalesToday","SalesBydate","Itemsoldtoday","Itemsoldbydate"}; char KEY; //menu bar position win(0,0,660,20); //drawing button for menu items drawbtn(&Billprocess,"Billprocess"); drawbtn(&Print,"Print"); drawbtn(&Management,"Management"); settextstyle(0,0,0); //outtextxy(close(x+y),close(y+7),"x"); show(); //instantly menus are idle Billprocess.Active[3]=NO; Print.Active[1]=NO; Management.Active[4]=NO; while(1) { if(kbhit()) { KEY=getch(); //way to exit press esc or - if(KEY==27 || KEY==45) break; } status(); if(button==1) { //if(mouseon(&close)) //break; if(mouseon(&Billprocess)) { pullmenudown(bp,3,&Billprocess); if(selection==NONE) msg("no selection"); if(selection==0) { char str[3]; struct dosdate_t d; char todaydate[15]; char month[5],year[5]; // initalization of customerid int customerid; // macro to generate customerid in random randomize(); customerid= rand() % 1000; customer=customerid; itoa(customerid,str,10); _dos_getdate(&d); itoa(,todaydate,10); itoa(d.month,month,10); itoa(d.year,year,10); strcat(todaydate,month); strcat(todaydate,year); date=fopen(todaydate,"a+"); f2=fopen(str,"w"); //user defined function for page design pagedesign(); gotoxy(6,4); printf("CUSTOMERID : %d",customerid); fprintf(f2,"%d",customerid); //user defined method call for time zone to which customer arrives to bill entertime(); //user defined function for database acess getdatabaseacess(); } if(selection==1) { char str[3]; setfillstyle(1,0); bar(5,25,635,448); gotoxy(10,8); printf("ENTER THE CUSTOMERID TO OPEN "); scanf("%s",str); fop=fopen(str,"r"); if(!fop) { gotoxy(10,12); printf("no customer is available"); } else { pagedesign(); openbill(); } } if(selection==2) { exit(0); } } if(mouseon(&Print)) { pullmenudown(pr,1,&Print); if(selection==NONE) msg("noselection"); if(selection==0) { char str[3]; setfillstyle(1,0); bar(5,25,635,448); itoa(customer,str,10); fop=fopen(str,"r"); if(!fop) { gotoxy(10,12); printf("no customer is available"); } else { printbill(); } } } if(mouseon(&Management)) { pullmenudown(mgt,4,&Management); if(selection==NONE) msg("noselection"); if(selection==0) { struct dosdate_t d; char month[5],year[5]; _dos_getdate(&d); itoa(,todaydate,10); itoa(d.month,month,10); itoa(d.year,year,10); strcat(todaydate,month); strcat(todaydate,year); today=fopen(todaydate,"r"); setfillstyle(1,0); bar(5,25,635,448); if(!today) { gotoxy(15,12); printf("NO DATABASE IS AVAILABLE"); } else { todaysales(); } } if(selection==1) { setfillstyle(1,0); bar(5,25,635,448); gotoxy(10,8); printf("ENTER THE DATE TO OPEN "); scanf("%s",salebydate); day=fopen(salebydate,"r"); if(!day) { gotoxy(10,10); printf("NO DATABASE AVAILABLE"); } else { totalsalebydate(); } } if(selection==2) { struct dosdate_t d; char month[5],year[5]; _dos_getdate(&d); itoa(,todaydate,10); itoa(d.month,month,10); itoa(d.year,year,10); strcat(todaydate,month); strcat(todaydate,year); itemtoday=fopen(todaydate,"r"); setfillstyle(1,0); bar(5,25,635,448); if(!itemtoday) { gotoxy(25,12); printf("NO DATABASE IS AVAILABLE"); } else { itemtodayretrive(); } } if(selection==3) { setfillstyle(1,0); bar(5,25,635,448); gotoxy(10,8); printf("ENTER THE DATE TO OPEN "); scanf("%s",str); itembydate=fopen(str,"r"); if(!itembydate) { gotoxy(10,10); printf("no database is available"); } else { retriveitembydate(); } } } } else { if(mouseon(&Billprocess)) Hlight(&Billprocess); if(mouseon(&Print)) Hlight(&Print); if(mouseon(&Management)) Hlight(&Management); } } } drawbtn(struct MENU *tm,char *txt) { setcolor(0); settextstyle(2,0,4); //position that name of the menu is written outtextxy(tm->x+15,tm->y+4,txt); } Hlight(struct MENU *t) { winp(t,0); msg(t->head); while(mouseon(t)) { status(); if(button!=0) break; if(kbhit()) break; } setcolor(7); hide(); //MESSAGE WINDOW rectangle(t->x,t->y,t->x1,t->y1); msg("WELCOME TO STORE-TOLL"); show(); } //mouse placement int mouseon(struct MENU *t) { int flag; flag=0; if(x>=t->x && x<=t->x1 && y>=t->y && y<=t->y1) flag=1; return flag; } //MENU ITEM DISPAY void xorbar(int sx,int sy,int ex, int ey, int c) { int i; setwritemode(1); setcolor(4); hide(); for(i=sy;i<=ey;i++) line(sx,i,ex,i); show(); setwritemode(0); } push(struct MENU *tm) { winp(tm,1); while(button==1) { status(); if(kbhit()) break; } } up(struct MENU *tm) { setcolor(7); hide(); rectangle(tm->x,tm->y,tm->x1,tm->y1); show(); while(button==1) { status(); if(kbhit()) break; } } pullmenudown(char *h[],int n,struct MENU *tm) { int i; i=n*20; push(tm); hide(); getimage(tm->x+1, tm->y1+2,tm->x+100,tm->y1+i+5,p); win(tm->x+1,tm->y1+2,tm->x+100,tm->y1+i+5); setcolor(5); settextstyle(2,0,4); for(i=0;i<n;i++) { if(!tm->Active[i]) { setcolor(15); outtextxy(tm->x+15,tm->y1+9+i*20,h[i]); setcolor(0); outtextxy(tm->x+14,tm->y1+8+i*20,h[i]); } else { //position to write menu items outtextxy(tm->x+14,tm->y1+8+i*20,h[i]); } } show(); while(button==1) status(); handlemenu(n,tm); } pullmenuup(struct MENU *tm) { int i; hide(); putimage(tm->x+1,tm->y1+2,p,COPY_PUT); show(); up(tm); } handlemenu(int n,struct MENU *tm) { int i; char key; setcolor(0); selection=NONE; i=0; while(1) { status(); if(button==1) break; for(i=0;i<n;i++) { status(); if(mouseon1(tm->x+4, tm->y1+6+i*20, tm->x+99, tm->y1+22+i*20)) { xorbar(tm->x+3,tm->y1+6+i*20,tm->x+97,tm->y1+22+i*20,14); while(mouseon1(tm->x+4,tm->y1+8+i*20,tm->x+97,tm->y1+22+i*20)) { status(); if(button==1) { if(tm->Active[i]==YES) { selection=i; break; } else { selection=NONE; } } if(kbhit()) break; } xorbar(tm->x+3,tm->y1+6+i*20,tm->x+97,tm->y1+22+i*20,14); } } } pullmenuup(tm); } mouseon1(int cx, int cy, int cx1, int cy1) { int flag; flag=0; if(x>=cx && y>=cy && x<=cx1 && y<=cy1) flag=1; return flag; } union REGS i,o; struct SREGS ss; void show() {; int86(0x33,&i,&o); } void hide() {; int86(0x33,&i,&o); } void status() {; int86(0x33,&i,&o); button=o.x.bx;; y=o.x.dx; } //state of the menu winp(struct MENU *t ,int state) { hide(); if(state==1) { setcolor(0); line(t->x,t->y,t->x,t->y1); line(t->x,t->y,t->x1,t->y); setcolor(15); line(t->x1,t->y,t->x1,t->y1); line(t->x,t->y1,t->x1,t->y1); } else { setcolor(5); line(t->x,t->y,t->x,t->y1); line(t->x,t->y,t->x1,t->y); setcolor(5); line(t->x1,t->y,t->x1,t->y1); line(t->x,t->y1,t->x1,t->y1); } show(); } //pull down menu design win(int sx, int sy, int ex,int ey) { hide(); setfillstyle(1,7); bar(sx,sy,ex,ey); setcolor(15); line(sx,sy,sx,ey); line(sx,sy,ex,sy); setcolor(0); line(ex,sy,ex,ey); line(sx,ey,ex,ey); show(); } msg(char *m) { int l; setcolor(14); rectangle(5,25,635,477); setfillstyle(1,0); bar(20,455,620,475); settextstyle(2,0,6); setcolor(3); l=textwidth(m)/2; outtextxy(320-l,455,m); outtextxy(321-l,456,m); } welcomescreen() { setfillstyle(1,0); bar(5,25,635,425); settextstyle(4,0,3); setcolor(2); outtextxy(210,120,"STORE TOLL"); settextstyle(4,0,3); setcolor(3); outtextxy(220,160,"WELCOMES"); settextstyle(4,0,3); setcolor(5); outtextxy(265,200,"YOU"); } pagedesign() { //setting text color setcolor(2); //full outline setfillstyle(1,0); bar(5,25,635,448); //text style settextstyle(4,0,3); //name of SHOP outtextxy(200,25,"STORE-TOLL"); //first horizontal line line(0,65,650,65); //second horizontal line line(0,78,650,78); //first vertical line line(120,65,120,450); //second vertical line line(275,65,275,450); //third vertical line line(350,65,350,450); //fourth vertical line line(450,65,450,450); //fifth vertical line line(530,65,530,450); //text style settextstyle(2,0,5); outtextxy(10,65,"ITEM CODE"); outtextxy(140,65,"ITEM NAME"); outtextxy(280,65,"kg/gm"); outtextxy(375,65,"PRICE"); outtextxy(465,65,"NUMBER"); outtextxy(555,65,"AMOUNT"); //line for total at bottom line(450,430,650,430); outtextxy(470,430,"TOTAL"); return(0); } entertime(void) { time_t timer; struct tm *tblock; /* gets time of day */ timer = time(NULL); /* converts date/time to a structure */ tblock = localtime(&timer); //position for time display gotoxy(55,4); printf("%s", asctime(tblock)); fprintf(f2," %s", asctime(tblock)); return(0); } getdatabaseacess() { FILE *file; int code,itemcode,num,yax,quantity,i=0,curY; char itemname[30]; char buf[6],ip; int counter=0; float rate,sum,total=0.0; //first y axis position yax=5; file=fopen("mhn.txt","r"); while(i<20) { msg("BILL ON PROCESS"); //x,y position to get code gotoxy(6,++yax); //get code input msg("GET ITEM CODE"); curY= wherey(); printf("|"); ip=getch(); while(ip!=' ') { if(isdigit(ip)) { printf("%c",ip); buf[counter++]=ip; } ip=getch(); if(counter>=5) break; } buf[counter]='

Related Source Codes

Script Name Author
The Game Opposite as seen on Nokia 2300 Mobile Manikanta
Radix Sort ashish
Change your mouse pointer Ashim
The blinking star Shashank
Data Validation Crylittlebaby
To search a file by giving file type like mp3 or mpeg or doc Prashanth SR
Menus Demonstration B.Chidhambaram
Employee Database Project Using C. Reenku Raman Nayak
Creating a Lexical Analyzer in c fahad bader al-buhairi դ ? ??
Calendar Program Omkar & Devendra
Stop double Process for start in C Cedrik Jurak
Stop double Process for start in C Cedrik Jurak
Time Scheduler Atiq Anwar
A timepass game between atmost two players Rahul Roy


Google Groups Subscribe to SourceCodesWorld - Techies Talk

Free eBook - Interview Questions: Get over 1,000 Interview Questions in an eBook for free when you join JobsAssist. Just click on the button below to join JobsAssist and you will immediately receive the Free eBook with thousands of Interview Questions in an ebook when you join.

New! Click here to Add your Code!

ASP Home | C Home | C++ Home | COBOL Home | Java Home | Pascal Home
Source Codes Home Page


Google Search


Source Codes is a part of Vyom Network.

Vyom Network : Web Hosting | Dedicated Server | Free SMS, GRE, GMAT, MBA | Online Exams | Freshers Jobs | Software Downloads | Interview Questions | Jobs, Discussions | Placement Papers | Free eBooks | Free eBooks | Free Business Info | Interview Questions | Free Tutorials | Arabic, French, German | IAS Preparation | Jokes, Songs, Fun | Free Classifieds | Free Recipes | Free Downloads | Bangalore Info | Tech Solutions | Project Outsourcing, Web Hosting | GATE Preparation | MBA Preparation | SAP Info | Software Testing | Google Logo Maker | Freshers Jobs

Sitemap | Privacy Policy | Terms and Conditions | Important Websites
Copyright ©2003-2024, All Rights Reserved.
Page URL:

Download Yahoo Messenger | Placement Papers | Free SMS | C Interview Questions | C++ Interview Questions | Quick2Host Review