毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++商品管理系统源代码+流程图

更新时间:2011-5-7:  来源:毕业论文

C++商品管理系统源代码+流程图
#include <iostream>
#include <string>
#define N 10       //商场类中每种货物类数组中的元素个数,如N=10,衬衣类,则只能存放10种类型的衬衣
using namespace std;

enum typeMaoZi{PingDing,JianDing};
enum typeBingXiang{TwoMen,ThreeMen};
enum typeDianShi{Color,BlackWhite};

class Product     //基类
{
public :
 string name;       //商品名称
 string chiCun;    //尺寸
 float danJia;    //单价
 string chanDi;    //产地
 int kuCunLiang;   //库存量
 string suoShuHuoGui;  //所属货柜

 Product()    //构造函数
 {
  name="";
  chiCun="";
  danJia=0;
  chanDi="";
  kuCunLiang=0;
  suoShuHuoGui="";
 }
 void jinKu();     //商品进库
 void chuKu();    //商品出库
 void tiaoJia();   //商品的调价
 void guanLiHuoGui();    //所属货柜的管理
 void luRu_P();     //录入新商品的相关信息
 void computePrice();  //总价格的计算
 void display_p();     //打印名称、尺寸……
};
void Product::jinKu()//商品进库
{
 cout <<"请输入要进库的数量:";
 int num;  cin >>num;
 kuCunLiang+=num;
 cout <<"\n入库成功."<<endl;
}
void Product::chuKu()    //商品出库
{
 cout <<"请输入要出库的数量:";
 int num;  cin >>num;
 while(num>kuCunLiang)
 {
  cout <<"\n大于当前库存量,请重新输入:";
  cin >>num;
 }
 kuCunLiang-=num;

 cout <<"\n出库成功."<<endl;
}
void Product::tiaoJia()   //商品的调价
{
 cout <<"请输入调整后的价格(元):";
 float price;   cin >>price;
 while(price<0)
 {
  cout <<"输入有误,请重新输入:";
 }
 danJia=price;
 cout <<"\n调价成功."<<endl;
}
void Product::guanLiHuoGui()    //所属货柜的管理
{
 cout <<"请输入新的货柜名称:";
 string location;   cin >>location;
 suoShuHuoGui=location;
 cout <<"\n货柜管理成功."<<endl;
}
void Product::luRu_P()    //录入新商品的相关信息
{
 cout <<"商品名称:";   cin >>name;
 cout <<"尺寸: ";  cin >>chiCun;
 cout <<"单价(元): ";  cin >>danJia;
 cout <<"产地:";  cin >>chanDi;
 cout <<"库存量:";  cin >>kuCunLiang;
 cout <<"所属货柜:";  cin >>suoShuHuoGui;
}
void Product::computePrice()  //总价格的计算
{
 cout <<"总价格为:"<<danJia*kuCunLiang<<" 元."<<endl;
}
void Product::display_p()     //打印名称、尺寸……
{
 cout <<"名称:"<<name<<" 产地:"<<chanDi<<" 尺寸:"<<chiCun<<" 单价:"<<danJia<<" 库存量:"<<kuCunLiang<<" 所属货柜:"<<suoShuHuoGui;
}


class ChenYi: public Product   //衬衣类
{
public :
 string buLiao;    //布料
 ChenYi()  //构造函数
 {
  Product();
  buLiao="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"布料:";   cin >>buLiao;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 布料:"<<buLiao<<endl;
 }
};
class XieZi: public Product    //鞋子类
{
public :
 string piLiao;      //皮料
 XieZi()
 {
  Product();
  piLiao="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"皮料:";   cin >>piLiao;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 皮料:"<<piLiao<<endl;
 }
};
class MaoZi: public Product    //帽子
{
public :
 string buLiao;     //布料
 typeMaoZi yangShi;   //样式
 MaoZi()
 {
  Product();
  buLiao="";
  yangShi=PingDing;
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"布料:";   cin >>buLiao;
  cout <<"样式(请选择:1-平顶,2-尖顶):";
  int choice;
  cin >>choice;
  while(choice!=1 && choice!=2)
  {
   cout <<"输入有误,请重新输入:";
   cin >>choice;
  }
  if(choice==1)   //平顶
   yangShi=PingDing;
  else   //尖顶
   yangShi=JianDing;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 布料:"<<buLiao;
  if(yangShi==PingDing)
   cout <<" 样式:平顶."<<endl;
  else
   cout <<" 样式:尖顶."<<endl;
 }
};
class KuZi: public Product    //裤子
{
public :
 string buLiao;   //布料
 KuZi()
 {
  Product();
  buLiao="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"布料:";   cin >>buLiao;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 布料:"<<buLiao<<endl;
 }
};
class BingXiang: public Product    //冰箱
{
public :
 string zhiLengLeiXing;   //制冷类型
 typeBingXiang yangShi;    //样式
 string yanSe;    //颜色
 string zhongLiang;     //重量
 BingXiang()
 {
  Product();
  zhiLengLeiXing="";
  yangShi=TwoMen;
  yanSe="";
  zhongLiang="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"制冷类型:";   cin >>zhiLengLeiXing;
  cout <<"样式(请选择:1-二门,2-三门):";
  int choice;
  cin >>choice;
  while(choice!=1 && choice!=2)
  {
   cout <<"输入有误,请重新输入:";
   cin >>choice;
  }
  if(choice==1)   //二门
   yangShi=TwoMen;
  else   //三门
   yangShi=ThreeMen;
  cout <<"颜色:";   cin >>yanSe;
  cout <<"重量:";   cin >>zhongLiang;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 制冷类型:"<<zhiLengLeiXing;
  if(yangShi==TwoMen)
   cout <<" 样式:二门.";
  else
   cout <<" 样式:三门.";
  cout <<" 颜色:"<<yanSe;
  cout <<" 重量:"<<zhongLiang<<endl;
 }
};
class DianShi: public Product    //电视
{
public :
 typeDianShi yangShi;     //样式
 string yanSe;     //颜色
 string zhongLiang;     //重量
 DianShi()
 {
  Product();
  yangShi=Color;
  yanSe="";
  zhongLiang="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"样式(请选择:1-彩色,2-黑白):";
  int choice;
  cin >>choice;
  while(choice!=1 && choice!=2)
  {
   cout <<"输入有误,请重新输入:";
   cin >>choice;
  }
  if(choice==1)   //彩色
   yangShi=Color;
  else   //黑白
   yangShi=BlackWhite;
  cout <<"颜色:";   cin >>yanSe;
  cout <<"重量:";   cin >>zhongLiang;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  if(yangShi==Color)
   cout <<" 样式:彩色.";
  else
   cout <<" 样式:黑白.";
  cout <<" 颜色:"<<yanSe;
  cout <<" 重量:"<<zhongLiang<<endl;
 }
};
class LiGui: public Product     //立柜
{
public :
 string muLiao;        //木料
 string yanSe;     //颜色
 LiGui()
 {
  Product();
  muLiao="";
  yanSe="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"木料:";   cin >>muLiao;
  cout <<"颜色:";   cin >>yanSe;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 颜色:"<<yanSe;
  cout <<" 木料:"<<muLiao<<endl;
 }
};
class BiChu: public Product    //壁橱
{
public :
 string muLiao;    //木料
 string yanSe;     //颜色
 BiChu()
 {
  Product();
  muLiao="";
  yanSe="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"木料:";   cin >>muLiao;
  cout <<"颜色:";   cin >>yanSe;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 颜色:"<<yanSe;
  cout <<" 木料:"<<muLiao<<endl;
 }
};
class ShaFa: public Product     //沙发
{
public :
 string muLiao;    //木料
 string piLiao;     //皮料
 string yanSe;      //颜色
 ShaFa()
 {
  Product();
  muLiao="";
  piLiao="";
  yanSe="";
 }
 void luRu()      //新商品的录入
 {
  luRu_P();
  cout <<"木料:";   cin >>muLiao;
  cout <<"皮料:";   cin >>piLiao;
  cout <<"颜色:";   cin >>yanSe;
  cout <<"\n录入成功."<<endl;
 }
 void display()
 {
  display_p();
  cout <<" 颜色:"<<yanSe;
  cout <<" 木料:"<<muLiao;
  cout <<" 皮料:"<<piLiao<<endl;
 }
};


class ShangChang       //商场类
{                      //商场类中每种货物类只能存放N种类型
                    //如,衬衣类为chenYi[N],则只能存放N种不同类型的衬衣,超过时提示“货架已满,操作失败”
private :
 ChenYi chenYi[N];
 XieZi xieZi[N];
 MaoZi maoZi[N];
 KuZi kuZi[N];
 BingXiang bingXiang[N];
 DianShi dianShi[N];
 LiGui liGui[N];
 BiChu biChu[N];
 ShaFa shaFa[N];
 void operate_ChenYi();  //衬衣的相关操作
 void operate_XieZi();    //鞋子的相关操作
 void operate_MaoZi();    //帽子的相关操作
 void operate_KuZi();    //裤子的相关操作
 void operate_BingXiang();    //冰箱的相关操作
 void operate_DianShi();     //电视的相关操作
 void operate_LiGui();    //立柜的相关操作
 void operate_BiChu();    //壁橱的相关操作
 void operate_ShaFa();     //沙发的相关操作
public :
 void inter_face();    //总用户界面,调用其它函数
};

void ShangChang::operate_ChenYi()  //衬衣的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(chenYi[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       chenYi[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(chenYi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       chenYi[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(chenYi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       chenYi[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(chenYi[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       chenYi[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(chenYi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       chenYi[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(chenYi[i].kuCunLiang!=0)
     cout <<chenYi[i].name<<" 库存:"<<chenYi[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(chenYi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       chenYi[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==chenYi[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=chenYi[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(chenYi[i].kuCunLiang!=0)
     chenYi[i].display();
       break;
  }
 }
}
void ShangChang::operate_XieZi()    //鞋子的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(xieZi[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       xieZi[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(xieZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       xieZi[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(xieZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       xieZi[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(xieZi[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       xieZi[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(xieZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       xieZi[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(xieZi[i].kuCunLiang!=0)
     cout <<xieZi[i].name<<" 库存:"<<xieZi[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(xieZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       xieZi[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==xieZi[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=xieZi[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(xieZi[i].kuCunLiang!=0)
     xieZi[i].display();
    break;
  }
 }
}
void ShangChang::operate_MaoZi()    //帽子的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(maoZi[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       maoZi[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(maoZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       maoZi[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(maoZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       maoZi[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(maoZi[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       maoZi[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(maoZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       maoZi[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(maoZi[i].kuCunLiang!=0)
     cout <<maoZi[i].name<<" 库存:"<<maoZi[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(maoZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       maoZi[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==maoZi[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=maoZi[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(maoZi[i].kuCunLiang!=0)
     maoZi[i].display();
    break;
  }
 }
}
void ShangChang::operate_KuZi()    //裤子的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(kuZi[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       kuZi[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(kuZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       kuZi[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(kuZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       kuZi[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(kuZi[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       kuZi[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(kuZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       kuZi[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(kuZi[i].kuCunLiang!=0)
     cout <<kuZi[i].name<<" 库存:"<<kuZi[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(kuZi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       kuZi[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==kuZi[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=kuZi[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(kuZi[i].kuCunLiang!=0)
     kuZi[i].display();
    break;
  }
 }
}
void ShangChang::operate_BingXiang()    //冰箱的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(bingXiang[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       bingXiang[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(bingXiang[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       bingXiang[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(bingXiang[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       bingXiang[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(bingXiang[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       bingXiang[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(bingXiang[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       bingXiang[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(bingXiang[i].kuCunLiang!=0)
     cout <<bingXiang[i].name<<" 库存:"<<bingXiang[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(bingXiang[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       bingXiang[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==bingXiang[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=bingXiang[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(bingXiang[i].kuCunLiang!=0)
     bingXiang[i].display();
    break;
  }
 }
}
void ShangChang::operate_DianShi()     //电视的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(dianShi[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       dianShi[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(dianShi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       dianShi[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(dianShi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       dianShi[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(dianShi[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       dianShi[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(dianShi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       dianShi[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(dianShi[i].kuCunLiang!=0)
     cout <<dianShi[i].name<<" 库存:"<<dianShi[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(dianShi[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       dianShi[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==dianShi[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=dianShi[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(dianShi[i].kuCunLiang!=0)
     dianShi[i].display();
    break;
  }
 }
}
void ShangChang::operate_LiGui()    //立柜的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(liGui[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       liGui[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(liGui[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       liGui[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(liGui[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       liGui[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(liGui[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       liGui[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(liGui[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       liGui[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(liGui[i].kuCunLiang!=0)
     cout <<liGui[i].name<<" 库存:"<<liGui[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(liGui[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       liGui[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==liGui[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=liGui[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(liGui[i].kuCunLiang!=0)
     liGui[i].display();
    break;
  }
 }
}
void ShangChang::operate_BiChu()    //壁橱的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(biChu[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       biChu[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(biChu[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       biChu[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(biChu[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       biChu[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(biChu[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       biChu[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(biChu[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       biChu[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(biChu[i].kuCunLiang!=0)
     cout <<biChu[i].name<<" 库存:"<<biChu[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(biChu[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       biChu[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==biChu[i].chanDi)
      {flag=true; break;}
         count++;
     }
        if(flag==true)  continue;
        temp[count]=biChu[i].chanDi;
    }
       cout <<"\n有如下产地:";
       for(i=0;i<N;i++)
    {
        if(temp[i]==" ") continue;
        else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(biChu[i].kuCunLiang!=0)
     biChu[i].display();
    break;
  }
 }
}
void ShangChang::operate_ShaFa()     //沙发的相关操作
{
 int choice;
 int i;
 int count;

 string s;
 string temp[10];   bool flag;  //统计产地时使用
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"0-返回主界面,1-录入新商品,2-进库,3-出库,4-调价,5-管理所属货柜,\n6-库存统计,7-计算总价格,8-统计产地,9-打印当前列表\n"
       <<"请输入操作类型:";
     cin >>choice;
     while(choice<0 || choice>9)
  {
     cout <<"输入有误,请重新输入: ";
     cin >>choice;
  }
     switch(choice)
  {
  case 0: return;
     case 1: for(i=0;i<N;i++)         //找有没有空位
    if(shaFa[i].kuCunLiang==0) break;
       if(i==N)    //没有空位,即chenYi[N]的元素位都被占用
    {cout <<"\n货架已满,操作失败"<<endl;break;}
       shaFa[i].luRu();
       break;
     case 2: cout <<"请输入商品名称:";   //进库
          cin >>s;
       for(i=0;i<N;i++)
    if(shaFa[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       shaFa[i].jinKu();
       break;
     case 3: cout <<"请输入商品名称:";     //出库
          cin >>s;
       for(i=0;i<N;i++)
    if(shaFa[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       shaFa[i].chuKu();
       break;
     case 4: cout <<"请输入商品名称:";    //调价
          cin >>s;
       for(i=0;i<N;i++)
    if(shaFa[i].name==s) break;
       if(i==N)
    {cout <<"没有此商品!"<<endl; break;}
       shaFa[i].tiaoJia();
       break;
     case 5: cout <<"请输入商品名称:";     //管理所属货柜
          cin >>s;
       for(i=0;i<N;i++)
    if(shaFa[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       shaFa[i].guanLiHuoGui();
       break;
     case 6: cout <<endl;
       for(i=0;i<N;i++)       //库存统计
    if(shaFa[i].kuCunLiang!=0)
     cout <<shaFa[i].name<<" 库存:"<<shaFa[i].kuCunLiang<<"\t";
       cout <<endl;
       break;
     case 7: cout <<"请输入商品名称:";     //总价格的计算
          cin >>s;
       for(i=0;i<N;i++)
    if(shaFa[i].name==s) break;
       if(i==N)
    {cout <<"\n没有此商品!"<<endl; break;}
       shaFa[i].computePrice();
       break;
     case 8: for(i=0;i<N;i++)  temp[i]=" ";        //统计产地,temp[]中存放不同的地名
       for(i=0;i<N;i++)     //检测chenYi[]中的个地名在temp[]中是否出现过,若没出现过则存到temp中
    {
        count=0;  flag=false;
        while(count<N && temp[count]!=" ")
     {
         if(temp[count]==shaFa[i].chanDi)
      {flag=true; break;}
原文请找腾讯752018766六,维!论'文.网http://www.lwfree.cn         else cout <<temp[i]<<"  ";
    }
       cout <<endl;
       break;
     case 9: cout <<endl;
       for(i=0;i<N;i++)    //打印当前列表
    if(shaFa[i].kuCunLiang!=0)
     shaFa[i].display();
    break;
  }
 }
}

void ShangChang::inter_face()    //总用户界面,调用其它函数
{
 while(true)
 {
  cout <<"*****************************************************************"<<endl;
  cout <<"请选择相关操作:"<<endl;
     cout <<"1-衬衣 2-鞋子 3-帽子 4-裤子 5-冰箱 6-电视 7-立柜 8-壁橱 9-沙发 0-退出\n";
     int choice;
        cin >>choice;
     while(choice<0 || choice >9)
  {
      cout <<"输入有误,请重新输入:";
      cin >>choice;
  }
     switch(choice)
  {
     case 1: operate_ChenYi(); break;
     case 2: operate_XieZi(); break;
     case 3: operate_MaoZi(); break;
     case 4: operate_KuZi(); break;
     case 5: operate_BingXiang(); break;
     case 6: operate_DianShi(); break;
     case 7: operate_LiGui(); break;
     case 8: operate_BiChu(); break;
     case 9: operate_ShaFa(); break;
     case 0: return;
  }
 }
}

int main()
{
 ShangChang sc;
 cout <<"*****************************************************************"<<endl
      <<"                        小型商品管理系统                       "<<endl
      <<"*****************************************************************"<<endl;
 sc.inter_face();
 cout <<"\n退出系统."<<endl; return 0;}1819

[1] [2] 下一页

C++商品管理系统源代码+流程图下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。