101006434《商品销售管理系统》.docx

上传人:b****5 文档编号:8292260 上传时间:2023-01-30 格式:DOCX 页数:24 大小:50.09KB
下载 相关 举报
101006434《商品销售管理系统》.docx_第1页
第1页 / 共24页
101006434《商品销售管理系统》.docx_第2页
第2页 / 共24页
101006434《商品销售管理系统》.docx_第3页
第3页 / 共24页
101006434《商品销售管理系统》.docx_第4页
第4页 / 共24页
101006434《商品销售管理系统》.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

101006434《商品销售管理系统》.docx

《101006434《商品销售管理系统》.docx》由会员分享,可在线阅读,更多相关《101006434《商品销售管理系统》.docx(24页珍藏版)》请在冰豆网上搜索。

101006434《商品销售管理系统》.docx

101006434《商品销售管理系统》

《数据结构》

课程设计报告书

 

题目:

商品销售管理

系别:

计算机科学与应用系

学号:

101006434

学生姓名:

指导教师:

傅尔胜

完成日期:

2012年6月7日

一、需求分析

商品销售管理

商品信息的组成部分为:

商品编号、商品名称、商品单价、生产商、库存量等。

销售单信息的组成部分为:

商品编号、商品名称、商品单价、购买数量、该商品应付金额等。

2、概要设计

1、数据类(classData)的数据类型定义:

classData//数据类

{

private:

intid;//产品编号

charname[100];//产品名称

intcount;//库存数量

intsalecount;//已售数量

floatiprice;//进价

floatoprice;//售价

chargys[20];//供应商

Public:

//公有函数

intgetid()//获取id

char*getname()//获取产品名

Intgetcount()//获取库存量

Intgetsalecount()//获取已售量

Floatgetbuy()//获取进价

Floatgetsale()//获取售价

Char*getgys()//获取供应商

Voidsetid(intn)//输入id

Voidsetname(charna[])//产品名

Voidsetcount(intc)//库存量

Voidsetsalecount(ints)//已售量

Voidsetbuy(floati)//进价

Voidsetsale(floato)//售价

Voidsetgys(charg[])//供应商

};

2、classcommodity商品类设计:

classCommodity//商品类

{

private:

Datat[50];//数组

intn;//商品数量

public:

voidnewFile()//添加商品信息

voidshowData(inti)//显示商品信息

voidshowData()//显示文字信息

voidsave()//写入数据至文件

intsearch()//商品查询

voidsale()//商品销售结算

voidshowSale()//销售清单

inlinevoidmenu()//主菜单

3、本程序结构

(1)主函数

Voidmain(){

menu();

Commoditycom;

intc;

switch(c){return}

Break;}

(2)数据类——实现对数据的输入输出。

(3)商品类——系统各项功能的实现。

三、详细设计

(1)数据类

classData//数据类

{

private:

intid;//产品编号

charname[100];//产品名称

intcount;//库存数量

intsalecount;//已售数量

floatiprice;//进价

floatoprice;//售价

chargys[20];//供应商

public:

intgetId()

{

returnid;

}

char*getName()

{

returnname;

}

intgetCount()

{

returncount;

}

intgetSaleCount()

{

returnsalecount;

}

floatgetBuy()

{

returniprice;

}

floatgetSale()

{

returnoprice;

}

char*getGys()

{

returngys;

}

//----------------------

voidsetId(intn)

{

id=n;

}

voidsetName(charna[])

{

strcpy(name,na);

}

voidsetCount(intc)

{

count=c;

}

voidsetSaleCount(ints)

{

salecount=s;

}

voidsetBuy(floati)

{

iprice=i;

}

voidsetSale(floato)

{

oprice=o;

}

//...................

voidsetGys(charg[])

{

strcpy(gys,g);

}

};

(2)商品类

classCommodity//商品类

{

private:

Datat[50];//数组

intn;//商品数量

public:

voidnewFile()

{

intid;

charname[50];//字符数组

intcount;

floatiprice;

floatoprice;

chargys[20];

if(n<0)

n=0;

inti;

Datatemp;

for(;;n++)

{

cout<<"商品编号:

";

cin>>id;

if(id==-1)

break;

t[n].setId(id);

cout<<"商品名:

";

cin>>name;

t[n].setName(name);

cout<<"库存量:

";

cin>>count;

t[n].setCount(count);

cout<<"进价:

";

cin>>iprice;

t[n].setBuy(iprice);

cout<<"售价:

";

cin>>oprice;

t[n].setSale(oprice);

cout<<"供应商:

";

cin>>gys;

t[n].setGys(gys);

t[n].setSaleCount(0);//售出此产品0个

cout<<"若商品添加完毕,请按-1退出添加!

"<

for(i=0;i

{

if(t[i].getId()>t[n].getId())

{

temp=t[i];

t[i]=t[n];

t[n]=temp;

}

}

}

}

voidshowData(inti)

{

cout<

<

<

<

—6—

<

<

<

}

voidshowData()

{

cout<<"商品编号"

<

<

<

<

<

<

for(inti=0;i

if(t[i].getCount()>0)

showData(i);

cout<<"产品种类:

"<

}

voidsave()//写入数据至文件

{

ofstreamfout;

fout.open("商品销售管理系统.txt");

if(!

fout)

{

cout<<"cannotopenthefile!

"<

return;

}

fout<<"商品编号"<<""<<"商品名"<<""<<"库存量"<<""<<"进价"<<""<<"售价"<<""<<"供应商"<<""<<"已售量"<

for(inti=0;i

{

fout<

}

cout<<"*************SaveSuccess!

*****************"<

fout.close();

}

intsearch()

{

intid;

cout<<"id:

";

cin>>id;

intlow=0,mid,high=n-1;

while(low<=high)

{

mid=(low+high)/2;

if(t[mid].getId()==id)

returnmid;

elseif(t[mid].getId()>id)

high=mid-1;

Else

low=mid+1;

}

return-1;

}

voidsale()

{

cout<<"产品编号";

inttemp;

temp=search();

if(temp==-1)

{

cout<<"cannotfindthecommodity!

"<

return;

}

if(t[temp].getCount()<=0)

{

cout<<"此产品已缺!

"<

}

intcount;

cout<<"输入数量:

";

cin>>count;

floatmoney;

cout<<"输入收到金额(元):

";

cin>>money;

if(count<=0&&count>t[temp].getCount())//输入的是负数或超出该产品库存量

cout<<"数量输入不正确"<

elseif(money

—8—

cout<<"购物金额不足,还需增加金额"<

else

{

t[temp].setCount(t[temp].getCount()-count);//当前库存减少count

t[temp].setSaleCount(t[temp].getSaleCount()+count);//出售量增加count

cout<<"***名称:

"<

<<"***数量:

"<

<<"***单价:

"<

<<"***应收:

"<

<<"***找零:

"<

<<"*************"<

}

}

voidshowSale()

{

for(inti=0;i

if(t[i].getSaleCount()>0)

showData(i);

}

};

(3)主函数

inlinevoidmenu()

{

cout<<"********欢迎使用商品销售管理系统**********"<

cout<<"**********主菜单**********"<

cout<<"

(1)添加"<

cout<<"

(2)保存"<

cout<<"(3)显示"<

cout<<"(4)菜单"<

cout<<"(5)销售单"<

cout<<"(0)退出系统"<

cout<<"*************2011--2012***********"<

}

voidmain()

{

menu();

Commoditycom;

intc;

for(;;)

{

cout<<"请选择:

";

cin>>c;

switch(c)

{

case1:

com.newFile();break;

case2:

com.save();break;

case3:

com.showData();break;

case4:

menu();break;

case5:

com.sale();break;

case0:

{

cout<<"****谢谢使用*****"<

cout<<"*********!

再见!

*********"<

return;

}

break;

}

}

}

四、调试分析

(1)、errorC2143:

syntaxerror:

missing';'before'}'行246少了一个分号

(2)、errorC2562:

'main':

'void'functionreturningavalue空类型不能有返回值

(3)、errorC2679:

binary'<<':

nooperatordefinedwhichtakesaright-handoperandoftype''(orthereisnoacceptableconversion)

t[i].getName后面少了()

5、用户使用说明

1、本程序的运行环境为windows操作系统,执行文件为Ks..exe;

2、进入演示程序后,即显示对话形式的提示操作过程:

如:

第一项:

(1)商品添加功能

在选择一栏输入:

1

即显示商品编号、商品名、库存量、进价、售价、供应商各项商

品信息,依次输入所需添加的数据。

添加商品完毕,按-1退出添加。

选择:

2即将商品信息保存。

选择:

3显示已保存的商品信息。

选择:

4重新回到主菜单。

选择:

5进行商品销售结算。

同时选择:

3显示商品库存和已销售的完整信息。

六、测试结果

进入演示程序后,即显示对话形式的提示操作过程:

选择:

1

 

输入相应提示的商品信息

选择:

2界面显示数据保存成功

选择:

3显示商品信息

选择:

4重新回到主菜单

选择:

5进行商品结算

选择:

3显示商品信息

7、附录

程序源代码:

#include

#include

#include

#include//为了声明标识符setw()函数

#defineMfname100

classData//数据类

{

private:

intid;//产品编号

charname[100];//产品名称

intcount;//库存数量

intsalecount;//已售数量

floatiprice;//进价

floatoprice;//售价

chargys[20];//供应商

public:

intgetId()

{

returnid;

}

char*getName()

{

returnname;

}

intgetCount()

{

returncount;

}

intgetSaleCount()

{

returnsalecount;

}

floatgetBuy()

{

returniprice;

}

floatgetSale()

{

returnoprice;

}

char*getGys()

{

returngys;

}

//----------------------

voidsetId(intn)

{

id=n;

}

voidsetName(charna[])

{

strcpy(name,na);

}

voidsetCount(intc)

{

count=c;

}

voidsetSaleCount(ints)

{

salecount=s;

}

voidsetBuy(floati)

{

iprice=i;

}

voidsetSale(floato)

{

oprice=o;

}

//...................

voidsetGys(charg[])

{

strcpy(gys,g);

}

};

classCommodity//商品类

{

private:

Datat[50];//数组

intn;//商品数量

public:

voidnewFile()

{

intid;

charname[50];//字符数组

intcount;

floatiprice;

floatoprice;

chargys[20];

if(n<0)

n=0;

inti;

Datatemp;

for(;;n++)

{

cout<<"商品编号:

";

cin>>id;

if(id==-1)

break;

t[n].setId(id);

cout<<"商品名:

";

cin>>name;

t[n].setName(name);

cout<<"库存量:

";

cin>>count;

t[n].setCount(count);

cout<<"进价:

";

cin>>iprice;

t[n].setBuy(iprice);

cout<<"售价:

";

cin>>oprice;

t[n].setSale(oprice);

cout<<"供应商:

";

cin>>gys;

t[n].setGys(gys);

t[n].setSaleCount(0);//售出此产品0个

cout<<"若商品添加完毕,请按-1退出添加!

"<

for(i=0;i

{

if(t[i].getId()>t[n].getId())

{

temp=t[i];

t[i]=t[n];

t[n]=temp;

}

}

}

}

voidshowData(inti)

{

cout<

<

<

<

<

<

<

}

voidshowData()

{

cout<<"商品编号"

<

<

<

<

<

<

for(inti=0;i

if(t[i].getCount()>0)

showData(i);

cout<<"产品种类:

"<

}

voidsave()//写入数据至文件

{

ofstreamfout;

fout.open("商品销售管理系统.txt");

if(!

fout)

{

cout<<"cannotopenthefile!

"<

return;

}

fout<<"商品编号"<<""<<"商品名"<<""<<"库存量"<<""<<"进价"<<""<<"售价"<<""<<"供应商"<<""<<"已售量"<

for(inti=0;i

{

fout<

}

cout<<"*************SaveSuccess!

*****************"<

fout.close();

}

intsearch()

{

intid;

cout<<"id:

";

cin>>id;

intlow=0,mid,high=n-1;

while(low<=high)

{

mid=(low+high)/2;

if(t[mid].getId()==id)

returnmid;

elseif(t[mid].getId()>id)

high=mid-1;

els

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1