超市管理系统-“超市商品管理系统设计”

问题描述

“超市商品管理系统设计”

“超市商品管理系统设计”
A.问题描述
超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。
主要完成对商品的销售、统计和简单管理。
B.功能要求
(1)销售功能。购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。
(2)商品简单管理功能。
添加功能:主要完成商品信息的添加。
查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
修改功能:可根据查询结果对相应的记录进行修改。
删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
(3)统计功能。
输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
(7)商品信息存盘:将当前程序中的商品信息存入文件中。
(8)读出信息:从文件中将商品信息读入程序。

解决方案

Q1
我在vc中用sstring为什么会报错?
Q2
string h;为什么不能用?
字符串不能用string呢?
Q3
这是一个桑心的事儿……
头文件和其他文件那个,怎么分开来写?
一直出错……我写了个.h然后还有七八个.cpp,在主函数那个代码里怎么写?
好桑心

解决方案二:

可以用string啊,但是没有sstring,这是什么东西。
头文件一般写类的定义和函数的声明,实现放在cpp里面。

解决方案三:

#include
using namespace std;

解决方案四:

网上有份实验报告的,主函数的语句怎么写呢?
http://m.doc88.com/p-9005929139245.html?st_type=null

解决方案五:

四个动态链表怎么设置呢?
贴上筛子代码……
/*
A.问题描述
超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。
主要完成对商品的销售、统计和简单管理。
B.功能要求
(1)销售功能。购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。
(2)商品简单管理功能。
添加功能:主要完成商品信息的添加。
查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
修改功能:可根据查询结果对相应的记录进行修改。
删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
(3)统计功能。
输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
(7)商品信息存盘:将当前程序中的商品信息存入文件中。
(8)读出信息:从文件中将商品信息读入程序。
*/
//价格

include

include

include

#include //用getch();
#include
using namespace std;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌commodity类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class commodity
{
public:
char name[20];//商品名称;
char factor[20];//生产厂家;
int price;//价格;
int amount;//数量;
commodity * Next;
void Input()
{
cout<<"tt请输入商品的名称:"; cin>>name;
cout<<"tt请输入商品的价格:"; cin>>price;
cout<<"tt请输入商品的库存量:"; cin>>amount;
cout<<"tt请输入商品生产厂家"; cin>>factor;
}
void ReadFile(istream & in)
{
in>>name>>price>>amount>>factor;
}
void Show()
{
cout<<"商品名"<<name<<endl<<"价格:"<<price<<endl
<<"商品库存量:"<<amount<<"生产厂家:"<<factor<<endl<<endl<<endl;
}
};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class Commoditymassage
{
public:
Commoditymassage1();
~Commoditymassage1();
Commoditymassage2();
~Commoditymassage2();
Commoditymassage3();
~Commoditymassage3();
Commoditymassage4();
~Commoditymassage4();
void ShowMenu();
void Find();
void Save();
void ModifyItem();
void RemoveItem();
void Swap(commodity ,commodity *);
void Sort();
int ListCount();
void Display()
{
for(commodity * p=Head->Next;p!=End;p=p->Next)
p->Show();
cout<<"输入任意字符!继续……";
getch();
}
void AddItem()
{
End->Input();
End->Next=new commodity;
End=End->Next;
cout<<"添加成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
private:
commodity * Head,
End;
ifstream in;
ofstream out;
commodity *FindItem(char * name)
{
for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!strcmp(p->Next->name,name))return p;
return NULL;
}
commodity *FindFactor(char * factor)
{
for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
if(!strcmp(p->Next->factor,factor))return p;
return NULL;
}
};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::Commoditymassage1()
{
Head=new commodity;
Head->Next=new commodity;
End=Head->Next;
in.open("food.txt");
if(!in)
cout<<"无商品信息。请先输入。"<
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='')break;
End->Next=new commodity;
End=End->Next;
}
in.close();
cout<<"tt读取商品信息成功!"<<endl;
}
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::~Commoditymassage1()
{
Save();
for(commodity * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::Commoditymassage2()
{
Head=new commodity;
Head->Next=new commodity;
End=Head->Next;
in.open("oosmetic.txt");
if(!in)
cout<<"无商品信息。请先输入。"<
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='')break;
End->Next=new commodity;
End=End->Next;
}
in.close();
cout<<"tt读取商品信息成功!"<<endl;
}
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::~Commoditymassage2()
{
Save();
for(commodity * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::Commoditymassage3()
{
Head=new commodity;
Head->Next=new commodity;
End=Head->Next;
in.open("dailyuse.txt");
if(!in)
cout<<"无商品信息。请先输入。"<
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='')break;
End->Next=new commodity;
End=End->Next;
}
in.close();
cout<<"tt读取商品信息成功!"<
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::~Commoditymassage3()
{
Save();
for(commodity * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::Commoditymassage4()
{
Head=new commodity;
Head->Next=new commodity;
End=Head->Next;
in.open("drink.txt");
if(!in)
cout<<"无商品信息。请先输入。"<
else
{
while(!in.eof())
{
End->ReadFile(in);
if(End->name[0]=='')break;
End->Next=new commodity;
End=End->Next;
}
in.close();
cout<<"tt读取商品信息成功!"<<endl;
}
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::~Commoditymassage4()
{
Save();
for(commodity * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void ShowMenu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓 ☆ 超 市 商 品 管 理 系 统 ☆ 〓〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.销售超市商品 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;//
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 2.添加超市商品 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 3.修改统计商品 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 4.删除超市商品 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 5.统计超市商品 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 6.查找超市商品 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 0.安全退出系统 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"nttntt请选择:";
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Find()
{
char name[20] ,factor[20];
int x;
commodity * p=NULL;
cout<<"ntt*********************************n";
cout<<"tt※ 1.按商品的类别(名称)查找ntt※ 2.按商品生产厂家查找";
cout<<"ntt*********************************n请选择:";
cin>>x;
switch(x)
{
case 1:
int v;
cout<<"ntt*********************************n";
cout<<"tt※ 1.food 2.cosmertic 3.dailyuse 4.drink";
cout<<"ntt*********************************n请选择:";
cin>>v;
switch(v)
{
case 1:
{
cout<<"tt请输入要查找的商品的名称:";cin>>name;
if(p=FindItem(name))
{
p->Next->Show();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"tt没有找到该名称的商品!"<<'n'<<endl;
cout<<"输入任意字符!继续……";
getch();
}
}break;
case 2:

      case 3:

      case 4:
   }

case 2:
{
cout<<"tt请输入要查找的商品的生产厂家:";cin>>factor;
if(p=FindFactor(factor))
{
p->Next->Show();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"tt没有找到该厂家的商品!"<<'n'<<endl;
cout<<"输入任意字符!继续……";
getch();
}
}break;
}

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改商品信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::ModifyItem() //修改商品信息
{
char name[20];
commodity * p=NULL;
cout<<"tt请输入要修改的商品的名称:";cin>>name;
if(p=FindItem(name))
{
cout<<"tt已找到商品的信息,请输入新的信息!"<
p->Next->Input();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"tt没有找到!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::RemoveItem() // 删除信息
{
char name[20];
commodity * p=NULL,*temp=NULL;
cout<<"tt请输入要删除的商品的名称:"<>name;
if(p=FindItem(name))
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"tt删除成功!"<
cout
getch();
}
else
{
cout
cout
getch();
}
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Swap(commodity *p1, commodity *p2)//交换两个combox变量的数据域
{
commodity *temp=new commodity;
strcpy(temp->name,p1->name);
strcpy(temp->Id,p1->Id);
temp->sale=p1->sale;
temp->buy=p1->buy;
temp->sum=p1->sum;

strcpy(p1->name,p2->name);
strcpy(p1->Id,p2->Id);
p1->sale=p2->sale;
p1->buy=p2->buy;
p1->sum=p2->sum;

strcpy(p2->name,temp->name);
strcpy(p2->Id,temp->Id);
p2->sale=temp->sale;
p2->buy=temp->buy;
p2->sum=temp->sum;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int Commoditymassage::ListCount()//统计当前链表的记录总数,返回一个整数
{
if(! Head)
return 0;
int n=0;
for(commodity * p=Head->Next;p!=End;p=p->Next)
{
n++;
}
return n;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Sort()//对当前链表进行排序
{
cout <<"Sorting..."<
commodity *p=NULL,*p1=NULL,*k=NULL;
int n=Commoditymassage::ListCount();
if(n
return;
for(p=Head->Next;p!=End;p=p->Next)
for(k=p->Next;k!=End;k=k->Next)
{
if(p->sum>k->sum)
{
Commoditymassage::Swap(p,k);
}
}
cout <<"排序完成!"<<endl;
getch();
return;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Save()
{
out.open("food.txt");
for(commodity *p=Head->Next;p!=End;p=p->Next)
out<name<<"t"<Id<<"t"<sum<<'n';
out.close();
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int main()
{
int x,i=0;
bool quit=false;
cout<<"tt§§§§§§§§§§§§§§§§§§§§§§§§§§"<
for(i=0;i
cout
cout
for(i=0;i
cout
cout
Commoditymassage Grade;
cout
getch();
while(!quit)
{
system("cls");
Grade.ShowMenu();
cin>>x;
switch(x)
{
case 0:quit=true;break;
case 1:Grade.Display();break;//???
case 2:Grade.AddItem();break;
case 3:Grade.Sort();break;
case 4:Grade.Find();break;
case 5:Grade.RemoveItem();break;
case 6:Grade.ModifyItem();break;
}
}
return 0;
}

解决方案六:

修改版,现在主要就是文件的读取有问题。

 /*
A.问题描述
超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。
主要完成对商品的销售、统计和简单管理。
B.功能要求
(1)销售功能。购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。
(2)商品简单管理功能。
添加功能:主要完成商品信息的添加。
查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
修改功能:可根据查询结果对相应的记录进行修改。
删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
(3)统计功能。
输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
(7)商品信息存盘:将当前程序中的商品信息存入文件中。
(8)读出信息:从文件中将商品信息读入程序。
*/
//价格
# include <iostream>
# include <fstream>
# include <string.h>
#include <conio.h>//用getch();
#include<windows.h>
using namespace std;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌commodity类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class commodity
{
public:
 char type[20];//商品类型
 char name[20];//商品名称;
 char factor[20];//生产厂家;
 double price;//价格;
 int amount;//数量;
 int sum;
 commodity * Next;
 void Input()
 {
  cout<<"tt请输入商品的类型:";cin>>type;
  cout<<"tt请输入商品的名称:";  cin>>name;
  cout<<"tt请输入商品生产厂家"; cin>>factor;
  cout<<"tt请输入商品的价格:";  cin>>price;
  cout<<"tt请输入商品的库存量:"; cin>>amount;
  sum=price*amount;
 }
 void ReadFile(istream & in)
 {
  in>>type>>name>>price>>amount>>factor>>sum;
 }
 void Show()
 {
  cout<<"商品类型"<<type<<endl
      <<"商品名"<<name<<endl
      <<"价格:"<<price<<endl
      <<"商品库存量:"<<amount<<endl
      <<"生产厂家:"<<factor<<endl
      <<"预计总利润:"<<sum
      <<endl<<endl<<endl;
 }
};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
class Commoditymassage
{
public:
 Commoditymassage();
 ~Commoditymassage();
 void ShowMenu();
 void Find();
 void Save();
 void ModifyItem();
 void RemoveItem();
 void Swap(commodity *,commodity *);
 void Sort();
 void Sale();
 int ListCount();
 void Display()
 {
  for(commodity * p=Head->Next;p!=End;p=p->Next)
   p->Show();
  cout<<"输入任意字符!继续……";
  getch();
 }
 void AddItem()//添加商品
 {
  End->Input();
  End->Next=new commodity;
  End=End->Next;
  cout<<"添加成功!"<<endl;
  cout<<"输入任意字符!继续……";
  getch();
 }
private:
 commodity * Head,* End;
 ifstream in1,in2,in3,in4;
 ofstream out1,out2,out3,out4;
 commodity *FindItem(char * name)
 {
  for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
   if(!strcmp(p->Next->name,name))return p;
   return NULL;
 }
 commodity *FindFactor(char * factor)
 {
  for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
   if(!strcmp(p->Next->factor,factor))return p;
   return NULL;
 }
 commodity *FindType(char * type)
 {
  for(commodity * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空
    if(!strcmp(p->Next->type,type))return p;
    return NULL;
 }
};

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::Commoditymassage()
{
 Head=new commodity;
 Head->Next=new commodity;
 End=Head->Next;
 in1.open("food.txt");
 if(!in1)
  cout<<"无商品信息。请先输入。"<<endl;
 else
 {
  while(!in1.eof())
  {
   End->ReadFile(in1);
   if(End->name[0]=='')break;
   End->Next=new commodity;
   End=End->Next;
  }
  in1.close();
  cout<<"tt读取商品信息成功!"<<endl;
 }
  in2.open("cosmetic.txt");
  if(!in2)
  cout<<"无商品信息。请先输入。"<<endl;
  else
 {
  while(!in2.eof())
  {
   End->ReadFile(in2);
   if(End->name[0]=='')break;
   End->Next=new commodity;
   End=End->Next;
  }
  in2.close();
  cout<<"tt读取商品信息成功!"<<endl;
  }
  in3.open("dailyuse.txt");
  if(!in3)
  cout<<"无商品信息。请先输入。"<<endl;
 else
 {
  while(!in3.eof())
  {
   End->ReadFile(in3);
   if(End->name[0]=='')break;
   End->Next=new commodity;
   End=End->Next;
  }
  in3.close();
  cout<<"tt读取商品信息成功!"<<endl;
  }
  in4.open("drink.txt");
  if(!in4)
  cout<<"无商品信息。请先输入。"<<endl;
 else
 {
  while(!in4.eof())
  {
   End->ReadFile(in4);
   if(End->name[0]=='')break;
   End->Next=new commodity;
   End=End->Next;
  }
  in4.close();
  cout<<"tt读取商品信息成功!"<<endl;
 }
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
Commoditymassage::~Commoditymassage()
{
 Save();
 for(commodity * temp;Head->Next!=End;)
 {
  temp=Head->Next;
  Head->Next=Head->Next->Next;
  delete temp;
 }
 delete Head,End;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::ShowMenu()
{
  cout<<"〓〓〓〓〓〓〓〓〓〓  ☆   超 市 商 品 管 理 系  统     ☆  〓〓〓〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓★★★★★         ★★★★★★★         ★★★★★〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          1.显示超市商品        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;//
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          2.添加超市商品        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          3.修改超市商品        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          4.删除超市商品        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          5.统计超市商品        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          6.查找超市商品        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;
  cout<<"〓〓〓〓〓〓〓〓〓★  ☆          0.安全退出系统        ☆  ★〓〓〓〓〓〓〓〓〓"<<endl;

 cout<<"nttntt请选择:";
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Find()
{
 char type[20],name[20] ,factor[20];
 int x;
 commodity * p=NULL;
 cout<<"ntt*********************************n";
 cout<<"tt※ 1.按商品的类别(名称)查找ntt※ 2.按商品生产厂家查找";
 cout<<"ntt*********************************ntt请选择:";
 cin>>x;
 switch(x)
 {
 case 1:
     {
     cout<<"ntt*********************************n";
     cout<<"tt※ 1.food 2.cosmertic 3.dailyuse 4.drink";
     cout<<"ntt*********************************n请选择:";
     cout<<"tt请输入要查找的商品的类型:";cin>>type;
              if(p=FindType(type))
               {
                p->Next->Show();
                cout<<"输入任意字符!继续……";
               getch();

               cout<<"tt请输入要查找的商品的名称:";cin>>name;
               if(p=FindItem(name))
               {
                p->Next->Show();
                cout<<"输入任意字符!继续……";
               getch();
               }
              else
               {
                  cout<<"tt没有找到该名称的商品!"<<'n'<<endl;
                  cout<<"输入任意字符!继续……";
                  getch();
                }
              }
              else
               {
                  cout<<"tt没有找到该类型的商品!"<<'n'<<endl;
                  cout<<"输入任意字符!继续……";
                  getch();
                }

               }break;
 case 2:
        {
               cout<<"tt请输入要查找的商品的生产厂家:";cin>>factor;
                if(p=FindFactor(factor))
              {
               p->Next->Show();
               cout<<"输入任意字符!继续……";
               getch();
              }
                else
                {
                cout<<"tt没有找到该厂家的商品!"<<'n'<<endl;
                cout<<"输入任意字符!继续……";
                getch();
                 }
               }break;
          }
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌销售函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌          //好像没用到……
void Commoditymassage::Sale()
{
    int amount1;
    double price1,sum;
    commodity * p;
    char name[20];
    cout<<"请选择销售产品(名称)"<<endl;
    cin>>name;
    if(p=FindItem(name))
    {   cout<<"请输入销售量(件)";
        cin>>amount1;
        p->amount=amount1;
        price1=p->price;
        sum=price1 * amount1;
        p->sum=sum;
        cout<<"购买成功!n";
    }
    else cout<<"库存量不足!请重新输入销售库存量:n";

}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改商品信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::ModifyItem()     //修改商品信息
{
 char name[20];
 commodity * p=NULL;
 cout<<"tt请输入要修改的商品的名称:";cin>>name;
 if(p=FindItem(name))
 {
  cout<<"tt已找到商品的信息,请输入新的信息!"<<endl;
  p->Next->Input();
  cout<<"修改成功!"<<endl;
  cout<<"输入任意字符!继续……";
  getch();
 }
 else
 {
  cout<<"tt没有找到!"<<endl;
  cout<<"输入任意字符!继续……";
  getch();
 }
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::RemoveItem()         // 删除信息
{
 char name[20];
 commodity * p=NULL,*temp=NULL;
 cout<<"tt请输入要删除的商品的名称:"<<endl;cin>>name;
 if(p=FindItem(name))
 {
  temp=p->Next;
  p->Next=p->Next->Next;
  delete temp;
  cout<<"tt删除成功!"<<endl;
  cout<<"输入任意字符!继续……";
  getch();
 }
 else
 {
  cout<<"tt没有找到!"<<endl;
     cout<<"输入任意字符!继续……";
  getch();
 }
}
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Swap(commodity *p1, commodity *p2)//交换两个combox变量的数据域
{
 commodity *temp=new commodity;
 strcpy(temp->type,p1->type);
 strcpy(temp->name,p1->name);
 strcpy(temp->factor,p1->factor);
 temp->price=p1->price;
 temp->amount=p1->amount;
 temp->sum=p1->sum;

 strcpy(p1->type,p2->type);
 strcpy(p1->name,p2->name);
 strcpy(p1->factor,p2->factor);
 p1->price=p2->price;
 p1->amount=p2->amount;
 p1->sum=p2->sum;

 strcpy(p2->type,temp->type);
 strcpy(p2->name,temp->name);
 strcpy(p2->factor,temp->factor);
 p2->price=temp->price;
 p2->amount=temp->amount;
 p2->sum=temp->sum;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int Commoditymassage::ListCount()//统计当前链表的记录总数,返回一个整数
{
 if(! Head)
  return 0;
 int n=0;
 for(commodity * p=Head->Next;p!=End;p=p->Next)
 {
  n++;
 }
 return n;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Sort()//对当前链表进行排序
{
 cout <<"Sorting..."<<endl;
 commodity *p=NULL,*p1=NULL,*k=NULL;
 int n=Commoditymassage::ListCount();
 if(n<2)
  return;
 for(p=Head->Next;p!=End;p=p->Next)
  for(k=p->Next;k!=End;k=k->Next)
  {
   if(p->sum>k->sum)
   {
    Commoditymassage::Swap(p,k);
   }
  }
 cout <<"排序完成!"<<endl;
 getch();
 return;
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Commoditymassage::Save()
{
 out1.open("food.txt");
 for(commodity *p1=Head->Next;p1!=End;p1=p1->Next)
 out1<<p1->type<<"t"<<p1->name<<"t"<<p1->factor<<"t"<<p1->price<<"t"<<p1->amount<<"t"<<p1->sum<<'n';
 out1.close();

 out2.open("cosmetic.txt");
 for(commodity *p2=Head->Next;p2!=End;p2=p2->Next)
 out2<<p2->type<<"t"<<p2->name<<"t"<<p2->factor<<"t"<<p2->price<<"t"<<p2->amount<<"t"<<p2->sum<<'n';
 out2.close();

 out3.open("dailyuse.txt");
 for(commodity *p3=Head->Next;p3!=End;p3=p3->Next)
 out3<<p3->type<<"t"<<p3->name<<"t"<<p3->factor<<"t"<<p3->price<<"t"<<p3->amount<<"t"<<p3->sum<<'n';
 out3.close();

 out4.open("drink.txt");
 for(commodity *p4=Head->Next;p4!=End;p4=p4->Next)
 out4<<p4->type<<"t"<<p4->name<<"t"<<p4->factor<<"t"<<p4->price<<"t"<<p4->amount<<"t"<<p4->sum<<'n';
 out4.close();
}

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
int main()
{
 int x,i=0;
 bool quit=false;
 cout<<"tt§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;
 for(i=0;i<3;i++)
  cout<<"tt◎tttttt  ◎"<<endl;
 cout<<"tt◎★★★★【  欢迎进入超市商品管理系统  】★★★★◎"<<endl;
 for(i=0;i<3;i++)
  cout<<"tt◎tttttt  ◎"<<endl;
 cout<<"tt§§§§§§§§§§§§§§§§§§§§§§§§§§n"<<endl;;
 cout<<"tt按任意键开始……";
  getch();
  Commoditymassage Grade; //
 while(!quit)
 {
  system("cls");
  Grade.ShowMenu();
  cin>>x;
  switch(x)
  {
  case 0:quit=true;break;
  case 1:Grade.Display();break;
  case 2:Grade.AddItem();break;
  case 3:Grade.ModifyItem();break;
  case 4:Grade.RemoveItem();break;
  case 5:Grade.Sort();break;
  case 6:Grade.Find();break;
  }
 }
 return 0;
}

时间: 2024-09-21 20:18:31

超市管理系统-“超市商品管理系统设计”的相关文章

关于c++小型超市管理系统的问题!

问题描述 关于c++小型超市管理系统的问题! 这是要求: 三.问题描述 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息. 主要完成对商品的销售.统计和简单管理. 四.功能描述 (1)销售功能.购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息.如果有库存量,输入购买的数量,进行相应计算.如果库存量不够,给出提示信息,结束购买. (2)商品简单管理功能. 添加功能:主要完成商品信息的添加. 查询功能:可按商品类

我想做一个超市管理系统

问题描述 做一个超市管理系统的,用WEB做而且是三层结构,没个思路.真烦恼呀,老师其实很简单.求助各位高手. 解决方案 解决方案二:网上找个现成的源代码学习一下吧Google搜索超市管理asp.net解决方案三:引用1楼tonyepaper的回复: 网上找个现成的源代码学习一下吧Google搜索超市管理asp.net 同意解决方案四:结合pos机好些解决方案五:典型的一个进销存管理系统,网上应该很多的解决方案六:up解决方案七:google一下,对你有帮助,而且是简单的.解决方案八:同意进销存系

超市 管理系统 前台后台可以连接的是什么软件

问题描述 超市管理系统前台后台可以连接的是什么软件想自己做 解决方案 解决方案二:只要是网络版都是可以的,单机的话单机版就可以了解决方案三:问的是什么意思?开发语言和数据库?解决方案四:前台客户端,后台服务端,需要安装数据库.类似的软件很多的,有B/S和C/S架构的.自己开发吗简单一点的用B/S架构的,好多免费的源码修改一下就行了.呵呵.

美廉美超市卖问题商品

为改善骨质疏松,消费者买回的牦牛骨髓粉吃了竟腹痛呕吐,拨打包装袋上的产品质量服务热线,却发现是空号!更为离谱的是,该产品包装袋上堂而皇之印着的QS(质量安全)码,竟是盗用另外一家纯净水企业的质量安全号码!而这样的问题商品却为知名大型连锁超市美廉美超市北京花园路店所售! 读者举报 "放心"食品吃后腹痛呕吐 家住北京海淀区花园路70多岁的陈女士,日前在自家附近的美廉美超市花园路店买了两袋"高力高"牌中老年无蔗糖牦牛骨髓粉,本是打算补补身体,改善一下骨质疏松,可没想到刚吃

建立一个B2C网站,主营大型超市全品类商品

设想一下:建立一个B2C网站,主营大型超市全品类商品,售价低于超市5-10%,运费3元,满89元免运费.在同城选人口聚居区,大概每5000户家庭为一个单元,每个单元招募一个创业合伙人,合伙人负责所在单元推广.配送.维系.售后.合伙人是所在单元顾客唯一接触到的配送员,合伙人是实现极致体验的关键. 只要是合伙人负责的区域业绩,一切收益与合伙人相关,每净增加一个新顾客,合伙人得20元推广费.每天15点前订单,集中配送到合伙人处,合伙人每天18-21点送货上门,每单得3元配送费. 如此前提下的零售O2O

动态虚拟组织管理系统设计与实现

动态虚拟组织管理系统设计与实现 蔡世霞,曹军威,林筱 网格计算粗粒度的管理方式导致的网格体系僵化带来了诸多不便,成为网格计算在科研领域更深入应用的阻碍.采用虚拟组织的思想,提出了动态虚拟组织管理方案来针对网格计算项目进行细粒度管理.该方案按照虚拟组织的方式管理多个网格计算项目,以虚拟组织成员关系控制用户访问的权限,使得虚拟组织的构成更加灵活.针对Globus 网格平台设计了动态虚拟组织管理系统,实际应用表明该系统实现了细粒度的多网格管理,证明了动态虚拟组织管理方案的有效性. 关键词:网格计算:虚

C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试

原文:C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试 在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相关对象模型,基本上包括了常规的商品.商品分组.货架.库存.订单这些模型,还有商品分类,商品分类属性.商品分类SKU.快递邮寄模板.图片管理等功能.本文介绍的接口封装也就是基于这些内容进行的,并针对接口的实现进行测试和使用. 1.商品管理接

淘宝千牛商品管理软件怎么设置自动上下架商品

  先登录千牛工作台,看到右侧的商品管理了吗,打开这个插件,一开始可能需要授权,你授权一下就好了. 点击自动调整按钮,打开自动上下架的对话框(以前这里就叫做自动上下架,下载改名为自动调整.) 我们看到子菜单中,选择自动优化 这里首先可以看到你是否开启了自动上下架,我们点击[未开启],这样就开启了自动上下架 接着,我们设置一下权重,假如使用系统自动均匀模式,那么在每一天(白天时间)的任何时间短都是以平均的概率来上下架商品,这虽然达到了自动化的目的,但是没有针对性,因为不同的商品有不同的销售高峰期,

利用.NET技术开发商品管理的网站

问题描述 今天实习公司给了一个小项目,要求用.NET做一个商品管理的项目.要求如下:前端:JS实现:后台:使用mysql数据库,Microsoftvisualstudio2008,使用微软自带的IIS前端获取数据,后端利用studio的handler之类的处理数据,因为本人对.NET不太熟,能不能给点思路 解决方案 解决方案二:找开源软件吧,然后改改就可以用了不开源,不靠谱解决方案三:有没有具体的思路