C++商场销售管理系统 源代码

C++商场销售管理系统 源代码,第1张

/*************************************************

问题补充:设计一个收银台结算程序货品的信息有货品代码、

货品名称、货品价格、货品数量等,该程序能根据货品的输入代码

统计货品价格,对多个货品能做价格的累加统计并显示清单,

另具有找零功能。

需求:

1、实现对货品信息的输入和查询。

2、能根据货品的输入代码统计货品价格。

3、能对十个货品的价格统计并显示清单。

4、具有找零功能!

*************************************************/

//为了顺便练习一下使用链表结构,所以用链表结构实现。

// -----By kuaidh00--------2008/01/08-------------

//****************************************************

#include <iostream>

#include <string>

#include <iomanip>

#include <stdio.h>

using namespace std

struct Sale

{

//数据域。

string m_code

string m_name

float m_price

unsigned int m_quantity

//指针域。

struct Sale* next

}

typedef struct Sale Node//取外别名,Node.

typedef Node* Link//取个别名,Link.

//创建链表。

Link Create(Link Head)

{

//-----初始化头节点 Head-------

Head=(Link)new Node//每次动态分配一个Node内存大小。

Head->m_code=""

Head->m_name=""

Head->m_price=0.0

Head->m_quantity=0

Head->next=NULL

//-----

Link ptr//定义一个用来运算的指针 ptr。

ptr=Head//指到首节点。

Link DNode//定义数据节点,用来存放数据。

char GoOn

do

{

cout<<"商品信息录入! "<<endl

string code,name

float price

unsigned int quantity

cout<<"输入代码:"<<endl

cin>>code

cout<<"输入名称:"<<endl

cin>>name

cout<<"输入价格:"<<endl

cin>>price

while(cin.fail())

{

cout<<"请输入正确的格式:"<<endl

cin.clear()

fflush(stdin)

cin>>price

}

cout<<"输入数量:"<<endl

cin>>quantity

while(cin.fail())

{

cout<<"请输入正确的格式:"<<endl

cin.clear()

fflush(stdin)

cin>>quantity

}

//----数据域-----

DNode=(Link)new Node//每次动态分配一个Node内存大小。

DNode->m_code=code

DNode->m_name=name

DNode->m_price=price

DNode->m_quantity=quantity

//----指针域-----

DNode->next=NULL//作为尾节点加入。

ptr->next=DNode//链入链表中。

ptr=DNode//使新节点成为下一次的前驱。

cout<<"商品信息录入成功! 是否继续录入?(Y/N) "

cin>>GoOn

}while(GoOn=='Y'||GoOn=='y')

return Head

}

//释放链表。

void Release(Link Head)

{

Link ptr

while(Head!=NULL)

{

ptr=Head

Head=Head->next

delete ptr

}

}

//查询。

Link Search(Link Head,string&code)

{

Link ptr

//Link front

ptr=Head//定义一个用于 *** 作的指针ptr。

//ptr=fornt->next

while(ptr!=NULL)

{

if(ptr->m_code==code)

return ptr

else

ptr=ptr->next

}

cout<<"无此商品!"<<endl

return ptr//此时的ptr为NULL了。

}

//打印链表。

void Display(Link Head)

{

Link ptr

ptr=Head->next//,不要头节点,只输出数据节点。

cout<<"==========================================================="<<endl

cout<<"===============所有商品信息清单============================"<<endl

cout<<"==========================================================="<<endl

cout<<"货品代码=======货品名称======货品价格======货品数量===="<<endl

while(ptr!=NULL)

{

cout<<setw(15)<<left<<ptr->m_code

<<setw(15)<<left<<ptr->m_name

<<setw(15)<<left<<ptr->m_price

<<setw(15)<<left<<ptr->m_quantity<<endl

ptr=ptr->next

}

}

void Display_One(Link Head,string&code,unsigned quantity)

{

Link ptr

ptr=Search(Head,code)//,不要头节点,只输出数据节点。

cout<<"货品代码=======货品名称======货品价格======货品数量======小计(元)===="<<endl

cout<<setw(15)<<left<<ptr->m_code

<<setw(15)<<left<<ptr->m_name

<<setw(15)<<left<<ptr->m_price

<<setw(15)<<left<<quantity

<<setw(15)<<left<<quantity*ptr->m_price<<endl

}

//单个商品小结。

float CheckOut(Link Head,string&code,unsigned quantity)

{

Link ptr

float sum(0)

ptr=Search(Head,code)

sum=(ptr->m_price*quantity)

return sum

}

//总结帐。

void Total(Link Head)

{

Link ptr

ptr=Head

float sum(0)

float factly

char GoOn

while(1)

{

cout<<"要结束商品买入请按\'N\',其它任意键表示继续买入! "<<endl

cin>>GoOn

if(GoOn=='N'||GoOn=='n')

break

else

{

string code

unsigned int quantity

cout<<"输入要购买的商品代码:"<<endl

cin>>code

cout<<"输入要购买的数量:"<<endl

cin>>quantity

sum+=CheckOut(ptr,code,quantity)

cout<<"你购买的商品为:"<<endl

Display_One(ptr,code,quantity)

}

}

cout<<"----------------------------------------------------"<<endl

cout<<"你应该付 "<<sum<<"元!"<<endl

cout<<"你实际付(元): "

cin>>factly

cout<<"应该找回你 "<<factly-sum<<"元!"<<endl//找零。

}

int main()

{

//---------菜单选项----------------

Link Head=NULL

//Head=Create(Head)

int loop=1

while(loop)

{

cout<<"***************************************************"<<endl

cout<<"*---------------------菜单选项--------------------*"<<endl

cout<<"*-------------------------------------------------*"<<endl

cout<<"* 1.输入数据 2.买入商品 3.显示数据 0.退出系统 *"<<endl

cout<<"***************************************************"<<endl

int menu

cin>>menu

if(cin.fail())

{

cout<<"请按菜单对应的数字选择合适的 *** 作,谢谢合作!"<<endl

cin.clear()

fflush(stdin)

cin>>menu

}

switch(menu)

{

case 0:

cout<<"已退出系统!"<<endl

loop=0

break

case 1:

Head=Create(Head)

break

case 2:

Total(Head)

break

case 3:

Display(Head)

break

}//switch(menu)

}//while(loop)

//Display(Head)

//Total(Head)

Release(Head)

return 0

}

您好,方法

1、微信小程序是一个免除下载安装直接使用的应用,使用微信【扫一扫】或者是【搜一搜】就可以打开应用。

2、微信小程序如今存在线下扫码、公众号关注、消息通知等多种功能。

3、在微信小程序中,可以向有所了解的技术员寻求帮助。他们会为客户查找微信小程序源码,这样我们就可以看到微信小程序源码了。

4、现如今各大企业项目公司都会培养一些专业的工作人员。他们会运用现有的技术查看源码。

5、查找小程序源码很简单,并且该源码会跟销售产品量成正比关系。

6、如下图,给我们的信息可以告诉我们查看微信小程序源码很有必要且又很有重要性。

7、对于查看微信小程序源码以及它的价值,如下图给与了详细解释。跟客户需求量很有关系。

8、如今网络市场发展十分迅速,微信小程序就是其中一个热门市场点,查看源码就是微信小程序最重要的地方。

#include <iostream>

#include <string>

#include <vector>

#include <cstdlib>

using namespace std

struct Drink{

Drink(float pr, string n)

string name

float price

int account

}

class Vending{

public:

Vending()

inline void showStorage() const {

cout <<"可乐:" <<m_cola->account <<endl <<"奶茶:" <<m_milkT->account <<endl

cout <<"凉茶:" <<m_T->account <<endl

}

inline void showSoldNum() const{

cout <<m_cola->name <<endl <<"销售量:" <<m_soldCola <<endl

cout <<"销售额:" <<m_soldCola*(m_cola->price) <<endl

cout <<m_milkT->name <<endl <<"销售量:" <<m_soldMilkTea <<endl

cout <<"销售额:" <<m_soldMilkTea*(m_milkT->price) <<endl

cout <<m_T->name <<endl <<"销售量:" <<m_soldTea <<endl

cout <<"销售额:" <<m_soldTea*(m_T->price) <<endl

}

void addStore()

void sellItem()

void popMenu()

private:

Drink *m_cola, *m_milkT, *m_T

int m_soldCola, m_soldMilkTea, m_soldTea

}

Drink::Drink(float pr, string n)

:name(n), price(pr), account(0){}

Vending::Vending()

:m_soldCola(0), m_soldMilkTea(0), m_soldTea(0)

{

m_cola = new Drink(float(2.8), "可乐")

m_milkT = new Drink(float(3.0), "奶茶")

m_T = new Drink(float(3.5), "凉茶")

}

void Vending::addStore(){

cout <<"请选择要上架的商品:\n1.可乐\n2.奶茶\n3.凉茶\n"

int n, count

cin >>n

if(n >3){

cout <<"选择错误" <<endl

return

}

cout <<"请输入要上架的数量:"

cin >>count

if(n == 1)

m_cola->account += count

else if(n == 2)

m_milkT->account += count

else if(n == 3)

m_T->account += count

else{

cout <<" *** 作失败" <<endl

return

}

cout <<" *** 作完成" <<endl

}

void Vending::sellItem(){

cout <<"1." <<m_cola->name <<":" <<endl

cout <<"价格:" <<m_cola->price <<ends <<"库存:" <<m_cola->account <<(m_cola->account == 0 ? "(售完)\n" : "\n")

cout <<"2." <<m_milkT->name <<":" <<endl

cout <<"价格:" <<m_milkT->price <<ends <<"库存:" <<m_milkT->account <<(m_milkT->account == 0 ? "(售完)\n" : "\n")

cout <<"3." <<m_T->name <<":" <<endl

cout <<"价格:" <<m_T->price <<ends <<"库存:" <<m_T->account <<(m_T->account == 0 ? "(售完)\n" : "\n")

cout <<"请选择:"

int n = 0, num = 0

cin >>n

float price = 0

int acc = 0

if(n == 1){

price = m_cola->price

acc = m_cola->account

}

else if(n == 2){

price = m_milkT->price

acc = m_milkT->account

}

else if(n == 3){

price = m_T->price

acc = m_T->account

}

do

{

if(num >0)

cout <<"库存不足" <<endl

cout <<"请输入数量:"

cin >>num

}while(num >acc)

price *= num

float pay = 0

do

{

if(pay >0)

cout <<"支付不足" <<endl

cout <<"请支付:"

cin >>pay

}while (pay <price)

cout <<" *** 作完成" <<endl

if(pay - price >0)

cout <<"找零:" <<pay-price <<endl

if(n == 1){

m_soldCola += num

m_cola->account -= num

}

else if(n == 2){

m_soldMilkTea += num

m_milkT->account -= num

}

else if(n == 3){

m_soldTea += num

m_T->account -= num

}

}

void Vending::popMenu(){

const string menu1 = "========自动贩卖机========\n1.管理人员界面\n2.销售界面\n3.退出\n"

const string menu2 = "========自动贩卖机========\n1.显示库存\n2.商品上架\n3.销售查询\n"

int n

while(true){

cout <<menu1 <<"请选择:"

cin >>n

if(n == 1){

cout <<"请输入密码:"

int password

cin >>password

if(password != 123){

cout <<"密码错误" <<endl

continue

}

cout <<menu2 <<"请选择:"

cin >>n

switch(n){

case 1:{

showStorage()

break

}

case 2:{

addStore()

break

}

case 3:{

showSoldNum()

break

}

default:{

cout <<"选择错误" <<endl

return

}

}

}

else if(n == 2)

sellItem()

else if(n == 3)

exit(0)

}

}

int main(){

Vending *vend = new Vending

vend->popMenu()

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11863419.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存