Pages

Monday, April 15, 2013

Shop Management Project in C

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <fstream.h>
#include <process.h>
#include <stdlib.h>

class list
    {
    int count;
    char serial[30][30];
    char name[30][30];
    char price[30][30];
    char quality[30][30];
    char quantity[30][30];
    public:
    void goods();
    void order_goods();
    void show_goods();
    };

void list::order_goods()
    {
    char pid[30];
    long qid;
    int found=0;
    cout<<"Enter Product id: ";
    cin>>pid;
    int v;
    for(v=0;v<count;v++)
      {
      if(strcmp(serial[v],pid)==0)
        {
        found=1;
        break;
        }
      }
    if(found==1)
      {
      char read;
      cout<<"Enter quantity(kg): ";
      cin>>qid;
      AA:
      cout<<"Are you sure of ordering "<<qid<<" kg of "<<name[v];
      cout<<"\nEnter (y/n)";
      cin>>read;
      if(read==121)
      {
      fstream fout;
      fout.open("list.txt",ios::out);
      long sum=0;
      int d=1;
      for(int s=strlen(quantity[v])-1;s>=0;s--)
        {
        sum+=(quantity[v][s]-48)*d;
        d*=10;
        }
      sum+=qid;

      //sum=(long)quantity[v];
      //cout<<"sum"<<sum;

      itoa(sum,quantity[v],10);

      for(int m=0;m<count;m++)
        {
        fout<<serial[m]<<";";
        fout<<name[m]<<";";
        fout<<price[m]<<";";
        fout<<quality[m]<<";";
        fout<<quantity[m]<<";"<<"\n";
        }
        long ati=atoi(price[v])*qid;
      cout<<"\n"<<ati <<" taka has been truncated from shop account\n";
      }
      else if(read==110);
      else
      {
      clrscr();
      goto AA;
      }
      //char y='n';
      //printf("%d",y);
      }
    }
void list::goods()
    {
    char pricestr[20];
    char str[2000];
    ifstream fin;
    fin.open("list.txt",ofstream::in);

    //char s[2000];
     count=0;
    while(fin>>str)
      {

      int savei=0;
      //cout<<str;
     //   cout<<strlen(str)<<" ";
     int i=0;
     int d=0;
      while(i<strlen(str))
      {

      if(str[i]==';')
        {

      //cout<<"Savei="<<savei<<"\t"<<"i="<<i<<" ";
      char s[30];
      int l=0;
      for(int j=savei;j<i;j++)
          {
          s[l]=str[j];
          l++;
          }
          s[l]='\0';
      if(d==0)
      strcpy(serial[count],s);
      else if(d==1)
      strcpy(name[count],s);
      else if(d==2)
      strcpy(price[count],s);
      else if(d==3)
      strcpy(quality[count],s);
      else if(d==4)
      strcpy(quantity[count],s);
      d++;
       //cout<<"strlen="<<l<<",s="<<s<<"\n";
      //char tab='\t';
      //printf("%5c",tab);

       i++;
       savei=i;
        }
      //printf("%c",str[i]);

      i++;

      }
      count++;
      if(fin.eof())
      break;
      //cout<<"\n";
      }
      fin.close();


      }
      void list::show_goods()
      {
      cout<<"p-id\t name\t  price\t   quality\tquantity(kg)\n";
    cout<<"-----------------------------------------------------------\n";
      for(int v=0;v<count;v++)
      {
      printf("%s",serial[v]);
      printf("%8s",name[v]);
      printf("%8s",price[v]);
      printf("%15s",quality[v]);
      printf("%10s",quantity[v]);
      printf("\n");
      }
      }
void main()
{
A:
clrscr();
cout<<"Make your choice:\n[1] For see products\n[2] For order products\n[3] For quit\n\n";
list ob;
char a;
cin>>a;
clrscr();
ob.goods();
if(a==49)
ob.show_goods();
else if(a==50)
ob.order_goods();
else if(a==51)
exit(0);
else
goto A;
cout<<"\n\nPress any key to return to Main Menu.";
getch();
goto A;

}

////////////////////////////////////////////////////////////////////////////
You must include a file "list.txt",You can include data in this file "list.txt" like below,

12001;salt;20;good;1022;
12002;sugar;35;excellent;1104;
12003;Milk;42;excellent;500;
12004;Rice;23;good;2523;
12005;Atta;35;excellent;100023;

///////////////////////////////////////////////////////////////////////////
Copy & paste this code in your TC & run, then you will get output.......
If you have any problem please comment below.........

0 comments:

Post a Comment