// Inventory.c
// Author : Ms Manisha Vashishta
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <dos.h>
#include <math.h>
#include <time.h>
#include<stdlib.h>
#include <bios.h>
void show_mouse();
int t();
void edit();
void infor();
void entry();
void display();
void search();
void search_id();
void search_name();
void del();
void deletion();
void deletion_id();
void print();
void help();
void eat();
void general();
void exit();
void seteefect(int, int);
void graph();
void bar(int inscor);
void graph2();
void bar2(int inscore2);
void report();
void report2();
void report3();
void pur();
void graph1();
void design();
void bbox();
void ventry(char t[],int);
struct shop
{
char desc[20];
int rack;
char ch;
int cabnit;
int quantity;
float sale;
char id[6];
float total;
float unit;
float cost;
float profit;
float bye;
int qty;
int ost;
int b;
};
struct shop temp;
struct shop x[20];
FILE *ptr;
//int age;
char a[10];
/************************************displays information about the cars***************************/
void infor()
{
int sher;
clrscr();
textcolor(WHITE);
gotoxy(13,3);
printf("xDBxDBxDBxDBxB2 INFORMATION ABOUT PRODUCTS xB2xDBxDBxDBxDB");
gotoxy(2,5);
printf("THIS SECTION IS TO TELL WHAT KIND OF PRODUCTS ARE THERE IN STORE");
printf("nnENTER THE OPTION WHICH SUITS YOU.n");
printf("nn1.EDIBLES.nn");
printf("n2.GENERAL ITEMS.nn");
printf("nnnnnOPTION:");
sher=toupper(getch());
//
switch(sher)
{
case '1':
eat();
break;
case '2':
general();
break;
default:
gotoxy(8,21);
cprintf("awrong entry press any key to go main menu..");
}
getche();
}
void eat()
{
clrscr();
printf("***************************************************************n");
printf(" ID : 123. JAM COMPANY : MITUCHELS RACK NO 24 n");
printf(" ID : 124. HONEY COMPANY : PAK PURE RACK NO 25n");
printf(" ID : 125. MILK COMPANY : HALEEB RACK NO 26n");
printf(" ID : 126. BREAD COMPANY : WONDER RACK NO 27n");
printf(" ID : 127. CHEES COMPANY : JUNAID RACK NO 28n");
printf(" ID : 128. JUICE COMPANY : SONS RACK NO 29n");
printf(" ID : 129. PEPSI COMPANY : MAJEED RACK NO 30 n");
printf(" ID : 130. BUTTER COMPANY : JAFFAR RACK NO 31 n");
printf(" ID : 131. ICECREAM COMPANY : POLKA FREEZER 32 n");
printf("**************************************************************nn");
printf("Press any key to continue......");
getche();
clrscr();
printf(" ID : 133. MILO COMPANY : MITUCHELS RACK NO 24 n");
printf(" ID : 134. KEY BRAN COMPANY : PAK PURE RACK NO 25n");
printf(" ID : 135. TANG COMPANY : HALEEB RACK NO 26n");
printf(" ID : 136. ALWAYS COMPANY : WONDER RACK NO 27n");
printf(" ID : 327. PEPPARS COMPANY : JUNAID RACK NO 28n");
printf(" ID : 138. JHERBAL COMPANY : SONS RACK NO 29n");
printf(" ID : 139. PEPSI COMPANY : MAJEED RACK NO 30 n");
printf(" ID : 130. ORAGD COMPANY : JAFFAR RACK NO 31 n");
printf(" ID : 131. ICECREAM COMPANY : POLKA FREEZER 32 n");
printf("**************************************************************n");
printf(" ID : 143. SHAMPO COMPANY : MITUCHELS RACK NO 24 n");
printf(" ID : 144. AGRI COMPANY : PAK PURE RACK NO 25n");
printf(" ID : 145. TIMO COMPANY : HALEEB RACK NO 26n");
printf(" ID : 146. WASHSN COMPANY : WONDER RACK NO 27n");
printf(" ID : 147. LACE COMPANY : JUNAID RACK NO 28n");
printf(" ID : 428. YARDLY COMPANY : SONS RACK NO 29n");
printf(" ID : 149. MUSK COMPANY : MAJEED RACK NO 30 n");
printf(" ID : 140. BUTTER COMPANY : JAFFAR RACK NO 31 n");
printf(" ID : 141. IMPERIAL COMPANY : POLKA FREEZER 32 n");
printf("**************************************************************n");
printf("nnPress enter to return to main menu");
}
void general()
{
clrscr();
printf("***************************************************************n");
printf(" ID : 153. DETOL COMPANY : MITUCHELS RACK NO 24 n");
printf(" ID : 154. SHAMPO COMPANY : PAK PURE RACK NO 25n");
printf(" ID : 155. FINERRE COMPANY : HALEEB RACK NO 26n");
printf(" ID : 156. CURTIS COMPANY : WONDER RACK NO 27n");
printf(" ID : 157. NIVKA COMPANY : JUNAID RACK NO 28n");
printf(" ID : 158. NIVCA COMPANY : SONS RACK NO 29n");
printf(" ID : 159. DETOL COMPANY : MAJEED RACK NO 30 n");
printf(" ID : 150. BUTTER COMPANY : JAFFAR RACK NO 31 n");
printf(" ID : 151. SHAVE COMPANY : POLKA FREEZER 32 n");
printf("***************************************************************nn");
printf("Press any key to continue......");
getche();
clrscr();
printf(" ID : 163. ADDIS COMPANY : MITUCHELS RACK NO 24 n");
printf(" ID : 164. SKIN COMPANY : PAK PURE RACK NO 25n");
printf(" ID : 165. MAX COMPANY : HALEEB RACK NO 26n");
printf(" ID : 166. BRESCO COMPANY : WONDER RACK NO 27n");
printf(" ID : 167. ZABIT COMPANY : JUNAID RACK NO 28n");
printf(" ID : 168. COPEX COMPANY : SONS RACK NO 29n");
printf(" ID : 169. SOAP COMPANY : MAJEED RACK NO 30 n");
printf(" ID : 160. PAMOLI COMPANY : JAFFAR RACK NO 31 n");
printf(" ID : 161. AVA COMPANY : POLKA FREEZER 32 n");
printf("***************************************************************n");
printf(" ID : 163. CAMY COMPANY : MITUCHELS RACK NO 24 n");
printf(" ID : 164. SAFE COMPANY : PAK PURE RACK NO 25n");
printf(" ID : 165. GUARD COMPANY : HALEEB RACK NO 26n");
printf(" ID : 166. DOVE COMPANY : WONDER RACK NO 27n");
printf(" ID : 167. REXONA COMPANY : JUNAID RACK NO 28n");
printf(" ID : 168. TOUCNME COMPANY : SONS RACK NO 29n");
printf(" ID : 169. FORHANS COMPANY : MAJEED RACK NO 30 n");
printf(" ID : 160. SIGNAL2 COMPANY : JAFFAR RACK NO 31 n");
printf(" ID : 161. CLOSEUP COMPANY : POLKA FREEZER 32 n");
printf("***************************************************************n");
printf("nnPress enter to return to main menu");
}
/////////////////////////////// time ///////////////////////////
int t(void)
{
time_t t;
time(&t);
// clrscr();
gotoxy(15,21);
printf("Date and time: %sn", ctime(&t));
return 0;
}
///////////////////////////////////// validation //////////////////////////
void ventry(char t[],int code)
{
int i=0;
if(code==0)
{
while((t[i]=getch())!='r' && i<30)
if((t[i]>=97 && t[i]<=122) || (t[i]>=65 && t[i]<=90) || t[i]==32 || t[i]==8)
{ printf("%c",t[i]);
i++;
}
}
else if(code==1)
{
while((t[i]=getch())!='r' && i<10)
if((t[i]>=48 && t[i]<=57) || t[i]==46 || t[i]==8 )
{ printf("%c",t[i]);
i++;
}
}
t[i]='�';
}
/******************************data entry***********************************/
void entry()
{
char ch;
clrscr();
ptr=fopen("shop.dat","a+b");
ch='y';
while(ch=='y')
{
clrscr();
design();
textcolor(14);
t();
gotoxy(14,3);
cprintf("xDBxDBxDBxDBxDBxB2 PURSHASE xB2xDBxDBxDBxDBxDB ");
{
gotoxy(7,5);
cprintf("xDBxDBxB2 ENTER PRODUCT ID : ");
ventry(temp.id,1);
//
flushall();
gotoxy(7,7);
cprintf("xDBxDBxB2 ENTER DESCRIPTION : ");
ventry(temp.desc,0);
flushall();
gotoxy(7,9);
cprintf("xDBxDBxB2 ENTER RACK NO : ");
ventry(a,1);
temp.rack= atoi(a);
flushall();
gotoxy(7,11);
cprintf("xDBxDBxB2 ENTER CABNIT NO : ");
ventry(a,1);
temp.cabnit= atoi(a);
//
flushall();
gotoxy(7,13);
///////////////////////
cprintf("xDBxDBxB2 ENTER UNIT COST :$ ");
ventry(a,1);
temp.unit= atof(a);
flushall();
gotoxy(7,15);
cprintf("xDBxDBxB2 ENTER SALE PRICE :$ ");
ventry(a,1);
temp.sale= atof(a);
flushall();
gotoxy(7,17);
cprintf("xDBxDBxB2 ENTER QUANTITY : ");
ventry(a,1);
temp.quantity= atoi(a);
flushall();
gotoxy(7,18);
cprintf("=====================================");
temp.total=temp.quantity*temp.sale;
textcolor(10);
gotoxy(10,20);
cprintf("xB2xDBxB2 TOTAL PRICE = $ %.2f",temp.total);
temp.cost=(temp.unit*temp.quantity);
gotoxy(40,20);
cprintf("xDBxB2 TOTAL COST = $ %.2f",temp.cost);
}
fwrite(&temp,sizeof(temp),1,ptr);
textcolor(10);
gotoxy(10,23);
cprintf("More entries [y/n]");
ch=getche();
}
fclose(ptr);
}
/*****************************data retreivel********************************/
void display()
{
clrscr();
ptr=fopen("shop.dat","rb");
while ((fread(&temp,sizeof(temp),1,ptr))==1)
{
gotoxy(22,3);
printf("xDBxDBxDBxB2xB2 RETRIEVE RECORD xB2xB2xDBxDBxDB");
gotoxy(18,5);
printf("xDBxDBxB2 DESCRIPTION : %s",temp.desc);
gotoxy(18,7);
printf("xDBxDBxB2 ID NUMBER : %s",temp.id);
gotoxy(18,9);
printf("xDBxDBxB2 RACK NO : %d",temp.rack);
gotoxy(18,11);
printf("xDBxDBxB2 CABINET NO : %d",temp.cabnit);
gotoxy(18,13);
printf("xDbxDBxB2 UNIT COST :$ %.2f",temp.unit);
gotoxy(18,15);
printf("xDBxDBxB2 SALE PRICE : $ %.2f",temp.sale);
gotoxy(18,17);
printf("xDBxDBxB2 QUANTITY : %d",temp.quantity);
gotoxy(16,18);
printf("===================================");
gotoxy(16,20);
printf("xDBxDBxB2 TOTAL PRICE : $ %.2f",temp.total);
gotoxy(47,20);
printf("xDBxB2 TOTAL COST : $ %.2f",temp.cost);
gotoxy(20,23);
printf("Press Enter to see next if any or exit ...");
getche();
clrscr();
}
fclose(ptr);
//
}
/*******************************data search*******************************/
void search()
{
int sh;
clrscr();
design();
gotoxy(17,6);
printf("xDBxDBxB2 Two options available to search xB2xDBxDB");
gotoxy(15,9);
printf("[ 1 ] - Search by ID number .");
gotoxy(15,11);
printf("[ 2 ] - Search by Description .");
gotoxy(17,15);
printf("Enter your choice:: ");
sh=toupper(getch());
switch(sh)
{
case '1':
search_id();
break;
case '2':
search_name();
break;
default:
gotoxy(18,18);
printf("axDBxDB wrong entry try again");
getch();
}
getche();
}
/*****************************search by id*********************************/
void search_id()
{
int flag=0;
char lkf[20];
clrscr();
ptr=fopen("shop.dat","rb");
design();
gotoxy(13,4);
printf("xDBxDBxB2 Enter id to be searched:");
scanf("%s",&lkf);
while((!flag)&&(fread(&temp,sizeof(temp),1,ptr))==1)
{
if(strcmp(temp.id,lkf)==0)
flag=1;
}
if(flag)
{
gotoxy(18,6);
printf("Product ID : %s",temp.id);
gotoxy(18,8);
printf("Description : %s",temp.desc);
gotoxy(18,10);
printf("Rack no : %d",temp.rack);
gotoxy(18,12);
printf("Cabnit : %d",temp.cabnit);
gotoxy(18,14);
printf("Sale price :$ %.2f",temp.sale);
gotoxy(18,16);
printf("Quantity : %d",temp.quantity);
gotoxy(16,17);
printf("============================");
gotoxy(18,19);
printf(" Total :$ %.2f",temp.total);
}
else
printf("Record not found!");
fclose(ptr);
}
/*****************************search by name******************************/
void search_name()
{
int flag=0;
char lkf[20];
clrscr();
ptr=fopen("shop.dat","rb");
design();
gotoxy(13,4);
printf("xDBxDBxB2 Enter description to be searched:");
scanf("%s",&lkf);
while((!flag)&&(fread(&temp,sizeof(temp),1,ptr))==1)
{
if(strcmp(temp.desc,lkf)==0)
flag=1;
}
if(flag)
{
gotoxy(18,6);
printf("Product ID : %s",temp.id);
gotoxy(18,8);
printf("Description : %s",temp.desc);
gotoxy(18,10);
printf("Rack no : %d",temp.rack);
gotoxy(18,12);
printf("Cabnit : %d",temp.cabnit);
gotoxy(18,14);
printf("Sale price :$ %.2f",temp.sale);
gotoxy(18,16);
printf("Quantity : %d",temp.quantity);
gotoxy(16,17);
printf("============================");
gotoxy(18,19);
printf(" Total :$ %.2f",temp.total);
}
else
printf("Record not found!");
fclose(ptr);
}
/******************************data deletion*****************************/
void deletion()
{
int j,n,i;
char tar[30];
int count=0;
ptr = fopen("shop.dat","rb");
clrscr();
design();
gotoxy(17,10);
printf("xDBxDB Enter Description to be deleted:");
scanf("%s",&tar);
j=0;
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
if((strcmp(temp.desc,tar)<0) || (strcmp(temp.desc,tar)>0))
{
x[j] = temp;
j++;
}
else
{
count++;
}
}
if (count==0)
{
clrscr();
design();
gotoxy(30,10);
printf("xDBxDB Record Not Found");
gotoxy(17,23);
printf("Press Enter to go to MAIN MENU .....");
getch();
return;
}
fclose(ptr);
n = j;
clrscr();
ptr=fopen("shop.dat","wb");
for(i=0; i<n; i++)
fwrite(&x[i],sizeof(x[i]),1,ptr);
fclose(ptr);
clrscr();
design();
gotoxy(20,10);
printf("Record has been deleted");
gotoxy(20,12);
printf("Check it by going to the displayed record");
gotoxy(17,23);
printf("Press Enter to go to MAIN MENU ......");
getch();
}
/******************************data print*********************************/
void print()
{
clrscr();
putc('n',stdprn);
fputs("ntttREPRT OF SALES",stdprn);
putc('n',stdprn);
fputs("===========================",stdprn);
putc('n',stdprn);
putc('n',stdprn);
fputs("PRODUCT ID. NAME. SALE PRICE. QUANTITY. TOTAL PRICE",stdprn);
fputs("===================================================================",stdprn);
putc('n',stdprn);
putc('n',stdprn);
ptr=fopen("shop.dat","rb");
while( (fread(&temp,sizeof(temp),1,stdprn))==1)
{
fprintf(stdprn," %s",temp.id);
fprintf(stdprn,"t%s",temp.desc);
fprintf(stdprn,"t%.2f",temp.sale);
fprintf(stdprn,"t%ldn",temp.quantity);
fprintf(stdprn,"t%.2f",temp.total);
}
fclose(ptr);
}
/******************************help***************************************/
void help()
{
clrscr();
design();
textcolor(WHITE);
gotoxy(20,4);
cprintf("xDBxDBxDBxDBxB2 HELP ABOUT THE PROGRAM xB2xDBxDBxDBxDB");
gotoxy(4,6);
cprintf(" [ 2 ] - ENTER RECORDS : THIS OPTION ALLOWS THE USER TO ENTER NEW ");
gotoxy(30,7);
cprintf("RECORDS. USER ENTERS PRODUCT ID, DESCRIPTION,");
gotoxy(30,8);
cprintf("QUANTITY AND UNIT PRICE. THE PROGRAMM CALCULATES");
gotoxy(30,9);
cprintf("TOTAL PRICE AND DISPLAYS ON THE SCREEN.");
gotoxy(4,11);
cprintf(" [ 3 ] - ENTER SALES : THIS OPTION ALLOWS THE USER TO SEE PREVIOUS ");
gotoxy(30,12);
cprintf("SALE RECORDS.");
gotoxy(4,14);
cprintf(" [ 4 ] - SEARCH PURCHASE : THIS OPTION ALLOWS THE USER TO SEARCH SPECIFIC");
gotoxy(30,15);
cprintf("RECORD BY ENTERING ID OR 'DESCRIPTION'");
gotoxy(4,17);
cprintf(" [ 5 ] - DELETE PURCHASE : THIS OPTION ALLOWS THE USER TO DELETE A SPECIFIC");
gotoxy(30,18);
cprintf("RECORD BY ENTERING ITS 'DESCRIPTION' OR ID");
gotoxy(6,23);
cprintf("Press any key to continue .............");
getche();
clrscr();
design();
textcolor(WHITE);
gotoxy(4,5);
cprintf(" [ 6 ] - VIEW REPORT : THIS OPTION ALLOWS THE USER TO PRINT PREVIOUS");
gotoxy(30,6);
cprintf("SALE RECORDS ON PRINTER");
gotoxy(4,8);
cprintf(" [ 7 ] - PRINT RECORDS : THIS OPTION ALLOWS THE USER TO PRINT RECORDS");
gotoxy(30,9);
cprintf("OM PRINTER.");
gotoxy(4,11);
cprintf(" [ 8 ] - VIEW GRAPH : THIS OPTION ALLOWS THE USER TO VIEW GRAPH ");
gotoxy(30,12);
cprintf("OF QUANTITY.");
gotoxy(10,23);
printf("Press any key to go to the MAIN MENU ........");
getche();
}
/***************************main menu*************************************/
menu()
{
int x;
do{
{
clrscr();
design();
t();
textcolor(WHITE);
gotoxy(24,3);
cprintf("xDBxDBxDBxDBxB2 LYDIA'S DEPARTMENT STORE xB2xDBxDBxDBxDB");
gotoxy(3,4);
cprintf("--------------------------------------------------------------------------");
gotoxy(35,5);
cprintf("MAIN MENU");
gotoxy(26,8);
cprintf(" 1 - INFORMATION ABOUT PRODUCTS ");
gotoxy(26,9);
cprintf(" 2 - ENTER PURCHASE RECORDS ");
gotoxy(26,10);
cprintf(" 3 - ENTER PRODUCTS TO BE SALE ");
gotoxy(26,11);
cprintf(" 4 - SEARCH FOR RECORD ");
gotoxy(26,12);
cprintf(" 5 - DELETE RECORD FROM STORE DATABASE ");
gotoxy(26,13);
cprintf(" 6 - VIEW SALES , PURCHASE & PROFIT REPORT ");
gotoxy(26,14);
cprintf(" 7 - PRINT RECORDS ");
gotoxy(26,15);
cprintf(" 8 - BAR GRAPH OF QUANTITY / PROFIT ");
gotoxy(26,16);
cprintf(" 9 - RETRIEVE INFORMATION ");
gotoxy(26,17);
cprintf(" H - HELP ");
gotoxy(26,18);
cprintf(" E - EXIT ");
gotoxy(26,23);
//
cprintf("ENTER YOUR CHOICE :: ");
gotoxy(47,23);
x=toupper(getch());
switch(x)
{
case '1':
infor();
break;
case '2':
entry();
break;
case '3':
edit();
break;
case '4':
search();
break;
case '5':
del();
break;
case '6':
report2();
break;
case '7':
print();
break;
case 'h': case'H':
help();
break;
case'8':
graph1();
break;
case '9':
display();
break;
case 'e': case 'E':
exit(0);
break;
default:
clrscr();
design();
gotoxy(17,12);
printf("axDBxB2 WRONG ENTRY : PRESS ANY KEY AND TRY AGAIN");
getche();
}
}
}while((x!='e')||(x!='E'));
return x;
}
void main()
{
textbackground(14);
show_mouse();
menu();
}
/************************************* graph ***********************************/
void graph()
{
int inscor=1;
char ch;
clrscr();
design();
gotoxy(20,23);
printf("Press enter to go to MAIN MENU .....");
textcolor(10);
gotoxy(15,4);
cprintf("************* GRAPH OF PRODUCT QUANTITY *************");
textcolor(14);
gotoxy(3,5);
cprintf(" PRODUCT NAME");
ptr=fopen("shop.dat","rb");
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
printf("n xBA %s t:",temp.desc);
bar(inscor);
}
fclose(ptr);
getche();
}
void bar()
{
int j;
for(j=1;j<=temp.quantity;j++)
printf("xDB");
printf(" %d",temp.quantity);
printf("n");
}
/*********************************** view report ****************************/
void report()
{
char ch;
clrscr();
design();
gotoxy(20,23);
printf("Press Enter to go to MAIN MENU ........");
textcolor(GREEN);
gotoxy(25,4);
cprintf("xDBxDBxDBxDBxDBxB2 VIEW OF SALES xB2xDBxDBxDBxDBxDB");
textcolor(RED);
gotoxy(4,7);
cprintf("PRODUCT ID. NAME. SALE PRICE. QUANTITY. TOTAL PRICE");
gotoxy(4,9);
printf("========================================================================");
ptr=fopen("shop.dat","rb");
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
//
printf("n xBA %st",temp.id);
printf("t%s",temp.desc);
printf("tt$%.2f",temp.sale);
// printf("tt%d",temp.qty);
printf("tt%d",temp.quantity);
// printf("tt%d",temp.bye);
printf("tt $%.2f",temp.total);
}
getche();
}
void seteffect(int b, int f)
{
clrscr();
textbackground(b);
textcolor(f);
}
/********************************** purchase report **********************/
void pur()
{
char ch;
clrscr();
design();
show_mouse();
gotoxy(20,23);
printf("Press Enter to go to MAIN MENU ...........");
textcolor(GREEN);
gotoxy(25,4);
cprintf("xDBxDBxDBxDBxDBxB2 VIEW OF PURCHASES xB2xDBxDBxDBxDBxDB");
textcolor(RED);
gotoxy(4,7);
cprintf("PRODUCT ID. NAME. UNIT PRICE. QUANTITY. TOTAL COST");
gotoxy(4,9);
printf("========================================================================");
ptr=fopen("shop.dat","rb");
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
//
printf("n xBA %stt",temp.id);
printf(" %s",temp.desc);
printf("tt$%.2f",temp.unit);
printf("tt%d",temp.quantity);
printf("tt $%.2f",temp.cost);
}
getche();
}
/*********************************** purchase graph ***********************/
void graph2()
{
int inscor2=1;
char ch;
clrscr();
design();
gotoxy(20,23);
printf("Pres Enter to go to MAIN MENU ...........");
textcolor(10);
gotoxy(15,4);
cprintf("************* GRAPH OF PROFIT *************");
textcolor(14);
gotoxy(4,5);
cprintf("PRODUCT NAME");
ptr=fopen("shop.dat","rb");
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
printf("n xBA %s t:",temp.desc);
bar2(inscor2);
}
fclose(ptr);
getche();
}
void bar2()
{
int j;
temp.profit=(temp.total-temp.cost);
//
for(j=1;j<=temp.profit;j++)
printf("xDB");
printf(" %.1f$",temp.profit);
printf("n");
}
/********************************* both graphs call ****************************/
void graph1()
{
int sher;
clrscr();
textcolor(WHITE);
gotoxy(24,3);
printf("xDBxDBxDBxDBxB2 BAR GRAPH xB2xDBxDBxDBxDB");
gotoxy(10,5);
printf("THIS SECTION IS TO show the graph of quantity and profit ");
printf("nnt ********* ENTER THE OPTION WHICH SUITS YOU. *******n");
printf("nntxDBxDBxB2 1.QUANTITY.nn");
printf("ntxDBxDBxB2 2.PROFIT.n");
printf("nnnttxDBxDBxB2 OPTION:");
sher=toupper(getch());
switch(sher)
{
case '1':
graph();
break;
case '2':
graph2();
break;
default:
gotoxy(9,20);
textcolor(RED);
cprintf("axDBxB2 WRONG ENTRY : PRESS ENTER TO GO TO MAIN MENU... ");
getche();
}
}
/************************** report of profit **********************/
void report3()
{
char ch;
clrscr();
design();
gotoxy(20,23);
printf("Press Enter to go to MAIN MENU .... ");
textcolor(GREEN);
gotoxy(25,4);
cprintf("xDBxDBxDBxDBxDBxB2 VIEW OF PROFIT xB2xDBxDBxDBxDBxDB");
textcolor(RED);
gotoxy(4,7);
cprintf("PRODUCT ID. DESCRIPTION. QUANTITY. PROFIT.");
gotoxy(4,9);
printf("============================================================");
ptr=fopen("shop.dat","rb");
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
printf("n xBA %s.",temp.id);
printf("tt%s",temp.desc);
printf("tt%d",temp.quantity);
temp.profit=(temp.total-temp.cost);
printf("tt $%.2f",temp.profit);
}
getche();
}
/************************* SALE , PURCHASE AND PROFIT REPORT CALL***************/
void report2()
{
int sher;
clrscr();
bbox();
textcolor(WHITE);
gotoxy(21,3);
printf("xDBxDBxDBxDBxB2 REPORT OF SALES / PURCHASE xB2xDBxDBxDBxDB");
gotoxy(5,5);
printf("tTHIS SECTION IS VIEWING SALES, PURCHASE and PROFIT REPORTS ");
gotoxy(10,7);
printf(" ********* ENTER THE OPTION WHICH SUITS YOU. **********n");
gotoxy(12,10);
printf("xDBxDBxB2 1.SALES.");
gotoxy(12,12);
printf("xDBxDBxB2 2.PURCHASE.");
gotoxy(12,14);
printf("xDBxDBxB2 3.PROFIT.");
gotoxy(14,17);
printf("xDBxDBxB2 OPTION:");
sher=toupper(getch());
switch(sher)
{
case '1':
report();
break;
case '2':
pur();
break;
case '3':
report3();
break;
default:
gotoxy(9,20);
textcolor(RED);
cprintf("axDBxB2 WRONG ENTRY : PRESS ENTER TO GO TO MAIN MENU....");
getche();
}
}
/************************************ design module **********************/
void design()
{
int i;
clrscr();
textcolor(14);
/****************************** table design *********************/
gotoxy(2,2);
cprintf("xC9");
gotoxy(3,2);
for(i=1;i<=74;i++)
cprintf("xCD");
gotoxy(77,2);
cprintf("xBB");
gotoxy(2,3);
cprintf("xBA");gotoxy(2,4);cprintf("xBA");gotoxy(2,5);cprintf("xBA");
gotoxy(2,6);cprintf("xBA");gotoxy(2,7);cprintf("xBA");gotoxy(2,8);cprintf("xBA");
gotoxy(2,9);cprintf("xBA");gotoxy(2,10);cprintf("xBA");gotoxy(2,11);cprintf("xBA");gotoxy(2,12);cprintf("xBA");
gotoxy(2,13);cprintf("xBA");gotoxy(2,14);cprintf("xBA");gotoxy(2,15);cprintf("xBA");gotoxy(2,16);cprintf("xBA");
gotoxy(2,17);cprintf("xBA");gotoxy(2,18);cprintf("xBA");gotoxy(2,22);cprintf("xCC");
gotoxy(2,19);cprintf("xBA");gotoxy(2,20);cprintf("xBA");gotoxy(2,21);cprintf("xBA");gotoxy(2,24);cprintf("xC8");
gotoxy(2,23);cprintf("xBA");
gotoxy(3,24);
for(i=1;i<=74;i++)
cprintf("xCD");
gotoxy(77,18);cprintf("xBA");gotoxy(77,19);cprintf("xBA");gotoxy(77,20);cprintf("xBA");gotoxy(77,21);cprintf("xBA");gotoxy(77,24);cprintf("xBC");
gotoxy(77,23);
cprintf("xBA");
gotoxy(3,22);
for(i=1;i<=74;i++)
cprintf("xCD");
gotoxy(77,22);
cprintf("xB9");
//*****************
gotoxy(77,3);
cprintf("xBA");gotoxy(77,4);cprintf("xBA");gotoxy(77,5);cprintf("xBA");
gotoxy(77,6);cprintf("xBA");gotoxy(77,7);cprintf("xBA");gotoxy(77,8);cprintf("xBA");
gotoxy(77,9);cprintf("xBA");gotoxy(77,10);cprintf("xBA");gotoxy(77,11);cprintf("xBA");gotoxy(77,12);cprintf("xBA");
gotoxy(77,13);cprintf("xBA");gotoxy(77,14);cprintf("xBA");gotoxy(77,15);cprintf("xBA");gotoxy(77,16);cprintf("xBA");
gotoxy(77,17);cprintf("xBA");
textcolor(RED);
//
}
void bbox()
{
int c,r;
for(c=1;c<=79;c++)
{
gotoxy(c,1);
printf("ß");
gotoxy(c,25);
printf("ß");
}
for(r=1;r<=24;r++)
{
gotoxy(1,r);
printf("Û");
gotoxy(79,r);
printf("Û");
}
}
////////////////////////////////// by id deletion ////////////////////////////
void deletion_id()
{
int j,n,i;
char tar[30];
int count=0;
ptr = fopen("shop.dat","rb");
clrscr();
design();
gotoxy(15,8);
printf("xDBxDB Enter ID be deleted:");
scanf("%s",&tar);
j=0;
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
if((strcmp(temp.id,tar)<0) || (strcmp(temp.id,tar)>0))
{
x[j] = temp;
j++;
}
else
{
count++;
}
}
if (count==0)
{
clrscr();
design();
gotoxy(30,10);
printf("xDBxDB Record Not Found");
gotoxy(17,23);
printf("Press Enter to go to MAIN MENU ......");
getch();
return;
}
fclose(ptr);
n = j;
clrscr();
ptr=fopen("shop.dat","wb");
for(i=0; i<n; i++)
fwrite(&x[i],sizeof(x[i]),1,ptr);
fclose(ptr);
clrscr();
design();
gotoxy(15,10);
printf("Record has been deleted");
gotoxy(15,12);
printf("Check it by going to the displayed record");
gotoxy(17,23);
printf("Press Enter to go to MAIN MENU ......");
getch();
}
///////////////////////////////// both deletion call ///////////////////////
void del()
{
int sh;
clrscr();
design();
gotoxy(17,6);
printf("xDBxDBxB2 Two options available to delete xB2xDBxDB");
gotoxy(16,9);
printf("[ 1 ] - Delete by ID number ");
gotoxy(16,11);
printf("[ 2 ] - Delete by Description ");
gotoxy(18,15);
printf("Enter your choice :: ");
sh=toupper(getch());
switch(sh)
{
case '1':
deletion_id();
break;
case '2':
deletion();
break;
default:
gotoxy(18,18);
printf("axDBxDB Wrong entry ");
gotoxy(17,23);
printf("Press Enter to go to MAIN MENU .....");
getch();
}
getche();
}
///////////////////////////////////// update record //////////////////////
void edit()
{
int j,n,i,a;
float b;
char tar[30],ch;
int count=0;
ch='y';
while(ch=='y')
{
ptr = fopen("shop.dat","rb");
clrscr();
design();
gotoxy(15,9);
printf("xDBxDB ENTER ID OF THE PRODUCT TO BE SOLD:");
scanf("%s",&tar);
j=0;
while((fread(&temp,sizeof(temp),1,ptr))==1)
{
if((strcmp(temp.id,tar)<0) || (strcmp(temp.id,tar)>0))
{
x[j] = temp;
j++;
}
else
{
design();
gotoxy(8,7);
printf("xDBxDB Description = %s",temp.desc);
gotoxy(8,9);
printf("xDBxDB Quantity in stock = %d",temp.quantity);
gotoxy(8,11);
printf("xDBxDB Sales price = %.2f",temp.sale);
gotoxy(8,13);
printf("xDBxDB Quantity want to sale : ");
scanf("%d",&a);
x[j]=temp;
x[j].quantity=(x[j].quantity-a);
x[j].total=(x[j].quantity*temp.sale);
x[j].cost=(x[j].quantity*temp.unit);
x[j].bye=(x[j].sale*a);
b=x[j].bye;
x[j].qty=a;
j++;
count++;
}
}
if (count==0)
{
clrscr();
design();
gotoxy(33,10);
printf("axDBxDBxB2 Not in stock");
getch();
return;
}
fclose(ptr);
n = j;
clrscr();
ptr=fopen("shop.dat","wb");
for(i=0; i<n; i++)
fwrite(&x[i],sizeof(x[i]),1,ptr);
fclose(ptr);
clrscr();
design();
gotoxy(8,9);
printf("xDBxDB Price paid by customer = %.2f",b);
gotoxy(8,11);
printf("xDBxDB Quantity sold = %d",a);
getch();
printf("more enteries=(y/n)");
ch=getche();
}
}
/////////////////////////////////// end ///////////////////////////
void show_mouse(void)
{
union REGS in, out;
in.x.ax = 0x1;
int86(0x33, &in, &out);
}