Manisha Vashishta Believe In Ability>>Motivation>>Attitude
  Source code Of Projects in c,c++
 

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

 
  Today, there have been 3210 visitors (5882 hits) on this page!  
 
=> Do you also want a homepage for free? Then click here! <=