#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("\xDB\xDB\xDB\xDB\xB2 INFORMATION ABOUT PRODUCTS \xB2\xDB\xDB\xDB\xDB");
gotoxy(2,5);
printf("THIS SECTION IS TO TELL WHAT
KIND OF PRODUCTS ARE THERE IN STORE");
printf("\n\nENTER THE OPTION WHICH
SUITS YOU.\n");
printf("\n\n1.EDIBLES.\n\n");
printf("\n2.GENERAL
ITEMS.\n\n");
printf("\n\n\n\n\nOPTION:");
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 25\n");
printf(" ID : 125.
MILK COMPANY : HALEEB RACK NO 26\n");
printf(" ID : 126.
BREAD COMPANY : WONDER RACK NO 27\n");
printf(" ID : 127.
CHEES COMPANY : JUNAID RACK NO 28\n");
printf(" ID : 128.
JUICE COMPANY : SONS RACK NO 29\n");
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("**************************************************************\n\n");
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 25\n");
printf(" ID : 135.
TANG COMPANY : HALEEB RACK NO 26\n");
printf(" ID : 136.
ALWAYS COMPANY : WONDER RACK NO 27\n");
printf(" ID : 327.
PEPPARS COMPANY : JUNAID RACK NO 28\n");
printf(" ID : 138.
JHERBAL COMPANY : SONS RACK NO 29\n");
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 25\n");
printf(" ID : 145.
TIMO COMPANY : HALEEB RACK NO 26\n");
printf(" ID : 146.
WASHSN COMPANY : WONDER RACK NO 27\n");
printf(" ID : 147.
LACE COMPANY : JUNAID RACK NO 28\n");
printf(" ID : 428.
YARDLY COMPANY : SONS RACK NO 29\n");
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("\n\nPress
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 25\n");
printf(" ID : 155.
FINERRE COMPANY : HALEEB RACK NO 26\n");
printf(" ID : 156.
CURTIS COMPANY : WONDER RACK NO 27\n");
printf(" ID : 157.
NIVKA COMPANY : JUNAID RACK NO 28\n");
printf(" ID : 158.
NIVCA COMPANY : SONS RACK NO 29\n");
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("***************************************************************\n\n");
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 25\n");
printf(" ID : 165.
MAX COMPANY : HALEEB RACK NO 26\n");
printf(" ID : 166.
BRESCO COMPANY : WONDER RACK NO 27\n");
printf(" ID : 167.
ZABIT COMPANY : JUNAID RACK NO 28\n");
printf(" ID : 168.
COPEX COMPANY : SONS RACK NO 29\n");
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 25\n");
printf(" ID : 165.
GUARD COMPANY : HALEEB RACK NO 26\n");
printf(" ID : 166.
DOVE COMPANY : WONDER RACK NO 27\n");
printf(" ID : 167.
REXONA COMPANY : JUNAID RACK NO 28\n");
printf(" ID : 168.
TOUCNME COMPANY : SONS RACK NO 29\n");
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("\n\nPress
enter to return to main menu");
}
/////////////////////////////// time
///////////////////////////
int t(void)
{
time_t t;
time(&t);
// clrscr();
gotoxy(15,21);
printf("Date and time: %s\n", 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]='\0';
}
/******************************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("\xDB\xDB\xDB\xDB\xDB\xB2
PURSHASE \xB2\xDB\xDB\xDB\xDB\xDB
");
{
gotoxy(7,5);
cprintf("\xDB\xDB\xB2 ENTER PRODUCT ID : ");
ventry(temp.id,1);
//
flushall();
gotoxy(7,7);
cprintf("\xDB\xDB\xB2 ENTER DESCRIPTION : ");
ventry(temp.desc,0);
flushall();
gotoxy(7,9);
cprintf("\xDB\xDB\xB2 ENTER RACK NO : ");
ventry(a,1);
temp.rack= atoi(a);
flushall();
gotoxy(7,11);
cprintf("\xDB\xDB\xB2 ENTER CABNIT NO : ");
ventry(a,1);
temp.cabnit= atoi(a);
//
flushall();
gotoxy(7,13);
///////////////////////
cprintf("\xDB\xDB\xB2 ENTER UNIT COST :$ ");
ventry(a,1);
temp.unit= atof(a);
flushall();
gotoxy(7,15);
cprintf("\xDB\xDB\xB2 ENTER SALE PRICE :$ ");
ventry(a,1);
temp.sale= atof(a);
flushall();
gotoxy(7,17);
cprintf("\xDB\xDB\xB2 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("\xB2\xDB\xB2 TOTAL PRICE = $ %.2f",temp.total);
temp.cost=(temp.unit*temp.quantity);
gotoxy(40,20);
cprintf("\xDB\xB2 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("\xDB\xDB\xDB\xB2\xB2 RETRIEVE RECORD \xB2\xB2\xDB\xDB\xDB");
gotoxy(18,5);
printf("\xDB\xDB\xB2 DESCRIOTION :
%s",temp.desc);
gotoxy(18,7);
printf("\xDB\xDB\xB2 ID NUMBER
: %s",temp.id);
gotoxy(18,9);
printf("\xDB\xDB\xB2 RACK NO
: %d",temp.rack);
gotoxy(18,11);
printf("\xDB\xDB\xB2 CABNIT NO
: %d",temp.cabnit);
gotoxy(18,13);
printf("\xDb\xDB\xB2 UNIT COST
:$ %.2f",temp.unit);
gotoxy(18,15);
printf("\xDB\xDB\xB2 SALE PRICE
: $ %.2f",temp.sale);
gotoxy(18,17);
printf("\xDB\xDB\xB2 QUANTITY
: %d",temp.quantity);
gotoxy(16,18);
printf("===================================");
gotoxy(16,20);
printf("\xDB\xDB\xB2 TOTAL PRICE : $ %.2f",temp.total);
gotoxy(47,20);
printf("\xDB\xB2 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("\xDB\xDB\xB2 Two options available to search
\xB2\xDB\xDB");
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("\a\xDB\xDB 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("\xDB\xDB\xB2 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("\xDB\xDB\xB2 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("\xDB\xDB 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("\xDB\xDB 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("\n\t\t\tREPRT 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%ld\n",temp.quantity);
fprintf(stdprn,"\t%.2f",temp.total);
}
fclose(ptr);
}
/******************************help***************************************/
void help()
{
clrscr();
design();
textcolor(WHITE);
gotoxy(20,4);
cprintf("\xDB\xDB\xDB\xDB\xB2 HELP ABOUT THE PROGRAM \xB2\xDB\xDB\xDB\xDB");
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("\xDB\xDB\xDB\xDB\xB2 GAS AGENCY
\xB2\xDB\xDB\xDB\xDB");
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("\a\xDB\xB2 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("\xDB\xDB\xDB\xDB\xDB\xB2 VIEW OF SALES \xB2\xDB\xDB\xDB\xDB\xDB");
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 %s\t",temp.id);
printf("\t%s",temp.desc);
printf("\t\t$%.2f",temp.sale);
//
printf("\t\t%d",temp.qty);
printf("\t\t%d",temp.quantity);
// printf("\t\t%d",temp.bye);
printf("\t\t
$%.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("\xDB\xDB\xDB\xDB\xDB\xB2 VIEW OF PURCHASES \xB2\xDB\xDB\xDB\xDB\xDB");
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
%s\t\t",temp.id);
printf(" %s",temp.desc);
printf("\t\t$%.2f",temp.unit);
printf("\t\t%d",temp.quantity);
printf("\t\t $%.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("\xDB\xDB\xDB\xDB\xB2 BAR GRAPH
\xB2\xDB\xDB\xDB\xDB");
gotoxy(10,5);
printf("THIS SECTION IS TO show the
graph of quantity and profit ");
printf("\n\n\t *********
ENTER THE OPTION WHICH SUITS YOU. *******\n");
printf("\n\n\t\xDB\xDB\xB2 1.QUANTITY.\n\n");
printf("\n\t\xDB\xDB\xB2 2.PROFIT.\n");
printf("\n\n\n\t\t\xDB\xDB\xB2 OPTION:");
sher=toupper(getch());
switch(sher)
{
case '1':
graph();
break;
case '2':
graph2();
break;
default:
gotoxy(9,20);
textcolor(RED);
cprintf("\a\xDB\xB2 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("\xDB\xDB\xDB\xDB\xDB\xB2 VIEW OF PROFIT \xB2\xDB\xDB\xDB\xDB\xDB");
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("\t\t%s",temp.desc);
printf("\t\t%d",temp.quantity);
temp.profit=(temp.total-temp.cost);
printf("\t\t
$%.2f",temp.profit);
}
getche();
}
/************************* SALE , PURCHASE AND PROFIT REPORT
CALL***************/
void report2()
{
int sher;
clrscr();
bbox();
textcolor(WHITE);
gotoxy(21,3);
printf("\xDB\xDB\xDB\xDB\xB2 REPORT OF SALES / PURCHASE \xB2\xDB\xDB\xDB\xDB");
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("\xDB\xDB\xB2 1.SALES.");
gotoxy(12,12);
printf("\xDB\xDB\xB2 2.PURCHASE.");
gotoxy(12,14);
printf("\xDB\xDB\xB2 3.PROFIT.");
gotoxy(14,17);
printf("\xDB\xDB\xB2 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("\a\xDB\xB2 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("\xDB\xDB
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("\xDB\xDB 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("\xDB\xDB\xB2 Two options
available to delete \xB2\xDB\xDB");
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("\a\xDB\xDB 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("\xDB\xDB
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("\xDB\xDB Description = %s",temp.desc);
gotoxy(8,9);
printf("\xDB\xDB Quantity in stock = %d",temp.quantity);
gotoxy(8,11);
printf("\xDB\xDB Sales price = %.2f",temp.sale);
gotoxy(8,13);
printf("\xDB\xDB 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("\a\xDB\xDB\xB2 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("\xDB\xDB Price paid by customer = %.2f",b);
gotoxy(8,11);
printf("\xDB\xDB 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);
}
0 comments :
Post a Comment