基于c的超市进销存系统.docx

上传人:b****1 文档编号:308411 上传时间:2023-04-28 格式:DOCX 页数:17 大小:40.36KB
下载 相关 举报
基于c的超市进销存系统.docx_第1页
第1页 / 共17页
基于c的超市进销存系统.docx_第2页
第2页 / 共17页
基于c的超市进销存系统.docx_第3页
第3页 / 共17页
基于c的超市进销存系统.docx_第4页
第4页 / 共17页
基于c的超市进销存系统.docx_第5页
第5页 / 共17页
基于c的超市进销存系统.docx_第6页
第6页 / 共17页
基于c的超市进销存系统.docx_第7页
第7页 / 共17页
基于c的超市进销存系统.docx_第8页
第8页 / 共17页
基于c的超市进销存系统.docx_第9页
第9页 / 共17页
基于c的超市进销存系统.docx_第10页
第10页 / 共17页
基于c的超市进销存系统.docx_第11页
第11页 / 共17页
基于c的超市进销存系统.docx_第12页
第12页 / 共17页
基于c的超市进销存系统.docx_第13页
第13页 / 共17页
基于c的超市进销存系统.docx_第14页
第14页 / 共17页
基于c的超市进销存系统.docx_第15页
第15页 / 共17页
基于c的超市进销存系统.docx_第16页
第16页 / 共17页
基于c的超市进销存系统.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于c的超市进销存系统.docx

《基于c的超市进销存系统.docx》由会员分享,可在线阅读,更多相关《基于c的超市进销存系统.docx(17页珍藏版)》请在冰点文库上搜索。

基于c的超市进销存系统.docx

基于c的超市进销存系统

 

《面向对象程序设计》课程设计报告

 

超市进销存系统

 

姓名:

班级:

学号:

指导教师:

成绩:

完成时间:

08年6月15日

完成地点:

 

一、设计题目(问题)描述和要求

1某小型超市,完成超市进销存管理:

公司内有若干种商品:

✓商品代码(num)

✓商品名称(name)

✓产地(address)

✓单价(price)

✓该类商品的库存数量(count)

要求:

(1)商品基本信息管理:

商品的增加、修改和删除等。

(2)商品的查询与统计:

按商品名称查询基本信息、统计库存商品数量及总价值等。

2系统分析与模块设计

根据问题描述和要求,系统要求能够实现商品基本信息管理和商品的查询与统计。

确定程序至少应该具备如下功能:

“商品的增加”、“商品的修改”、“商品的删除”等基本模块。

“增加商品”模块的作用是向商品链中增加商品;

“修改信息”模块的作用是修改商品链中的商品信息;

“删除商品”模块的作用是删除商品链中的商品;

“查询信息”模块的作用是把商品链中的所有商品信息输出到显示器上;

“商品清单”模块的作用是把所有商品的名称输出到显示器上;

“数据存盘”模块的作用是保存录入内存中的商品信息;

“数据读入”模块的作用是把商品信息读入内存中。

经综合考虑系统具有下面7项功能模块:

商品增加,修改商品信息,删除商品,查询商品信息,商品清单,数据存盘,数据读入……。

二、系统设计

1.系统总体框架

超市管理系统主要涉及2个大类:

goods类、complay类。

(1)goods类:

包含商品代码(num)商品名称(name)商品产地(address)商品单价(price)商品的库存量(count)要完成输出操作,需要设计output成员函数。

(2)complay类:

考虑到如果要实现商品的增加,商品的删除,商品信息的修改,总价值的查询,数据的存盘,数据的读入等操作,complay类应包含:

Add(),Delete(),Modify(),Query(),Save(),Load()等函数作为成员函数。

2.类的层次图

Goods

{Num,name,address,price,count,next,Output()}

Complay

{gla,clear(),Add(),Delete(),Modify(),Query(),List(),Save(),Load()}

其中:

Add函数是用于增加商品;

Delete函数是用于删除商品;

Modify函数是用于修改商品信息;

Query函数是用于查询商品总价值;

List函数是用于列出所有商品的名称;

Save函数是用于将商品信息存入磁盘文件;

Load函数是用于将磁盘文件的内容读入内存。

3.系统关键算法流程图

(1)主函数流程

(2)成员函数(Add)

成员函数(delete)

成员函数(modify)

4、源程序清单

见附录

三、系统测试及结果

系统可以用于简单的超市管理,商品的增加,删除,修改等基本操作,不足的是当删除商品后不能使ID从1开始重新累计增加,及不能控制ID。

四、小结

(设计过程心得体会)

程序开始时不知道从哪开始,因为自己从没写过这么大的程序,所以自己到图书馆看了有关的大型程序,然后自己从简单开始写,先让程序完成最简单的初始化操作,然后在附加增加商品操作,删除商品操作,修改商品信息操作,数据存盘操作,数据装入操作。

不知不觉的就将程序给写完了。

感觉不是挺难的,但是如果一下把程序给写了,出现了很多的错误,自己不知从哪改起,以后写程序时先从大的方面写,然后在逐步细化。

附录:

源程序

#include

#include

#include

#include

intID;

classgoods

{

protected:

intnum;

charname[20];

charaddress[20];

doubleprice;

doublecount;

goods*next;

public:

goods(intnum,char*name,char*address,doubleprice,doublecount)

{

this->num=ID;

this->num=num;

strcpy(this->name,name);

strcpy(this->address,address);

this->price=price;

this->count=count;

}

voidoutput()

{

cout<<"ID:

"<

"<

<<"产地:

"<

"

<

"<

}

friendclasscomplay;

};

classcomplay

{

private:

goods*gla;

voidclear();

public:

complay()

{

gla=0;

}

~complay()

{

goods*p;

p=gla;

while(p)

{

p=p->next;

deletegla;

gla=p;

}

gla=0;

}

voidAdd();

voidDelete();

voidModify();

voidQuery();

voidlist();

voidSave();

voidLoad();

};

voidcomplay:

:

clear()

{

goods*p=gla;

while(p)

{

gla=p->next;

deletep;

p=gla;

}

}

voidcomplay:

:

Add()

{

ID++;

charname[20];

charaddress[20];

doubleprice;

doublecount;

goods*p;

cout<<"\n**新增商品**\n";

cout<<"输入商品名:

";cin>>name;

cout<<"输入商品产地:

";cin>>address;

cout<<"输入单价:

";cin>>price;

cout<<"输入数量:

";cin>>count;

p=newgoods(ID,name,address,price,count);

p->next=0;

if(gla)

{

goods*p2;

p2=gla;

while(p2->next)

{

p2=p2->next;

}

p2->next=p;

}

else

{

gla=p;

}

}

voidcomplay:

:

Delete()

{

charname[20];

cout<<"\n***删除商品***\n";

cout<<"商品名称:

";

cin>>name;

goods*p1,*p2;

p1=gla;

while(p1)

{

if(!

strcmp(name,p1->name))

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!

=NULL)

{

if(p1==gla)

{

gla=p1->next;

deletep1;

}

else

{

p2->next=p1->next;

deletep1;

}

cout<<"找到并删除\n";

}

else

cout<<"未找到\n";

}

voidcomplay:

:

Modify()

{

charname[20];

charaddress[20];

doubleprice;

doublecount;

cout<<"\n修改商品\n";

cout<<"商品名字:

";

cin>>name;

goods*p1,*p2;

p1=gla;

while(p1)

{

if(!

strcmp(name,p1->name))

break;

else

{

p2=p1;

p1=p1->next;

}

}

 

if(p1!

=NULL)

{

p1->output();

cout<<"调整商品信息:

";

intc;

cout<<"修改信息(1-地址2-价钱3-数量4-return):

";cin>>c;

switch(c)

{

case1:

cout<<"修改地址:

";cin>>address;

strcpy(p1->address,address);break;

case2:

cout<<"修改价钱:

";cin>>price;p1->price=price;

break;

case3:

cout<<"修改数量:

";cin>>count;p1->count=count;

break;

case4:

cout<<"return:

";break;

}

cout<<"修改成功\n";

}

else

cout<<"未找到\n";

}

 

voidcomplay:

:

Query()

{

cout<<"查询商品总价值\n";

doublesum=0;

goods*p=gla;

while(p)

{

sum+=p->count*p->price;

p=p->next;

}

cout<<"总价值"<

}

 

voidcomplay:

:

list()

{

charname[20];

goods*p=gla;

if(!

p)

cout<<"\n没有商品\n";

else

cout<<"\n商品清单\n";

while(p)

{

cout<name<<"\t";

p=p->next;

}

cout<

}

voidcomplay:

:

Save()

{

ofstreamfgood,fbase;

charc;

cout<<"\n保存数据,是否继续?

[Y/N]";cin>>c;

if(toupper(c)!

='Y')return;

fgood.open("goods.txt",ios:

:

out);

goods*p=gla;

while(p)

{

fgood<num<<"\t"<name<<"\t"<address<<"\t"<price<<"\t"<count<<"\t";

fgood<

p=p->next;

}

fgood.close();

cout<<"\n保存商品信息已经完成...\n";

}

voidcomplay:

:

Load()

{

clear();

ifstreamfgood;

goods*p=gla;

intnum;

charname[20];

charaddress[20];

doubleprice;

doublecount;

fgood.open("goods.txt",ios:

:

in);

fgood>>num>>name>>address>>price>>count;

while(fgood.good())

{

p=newgoods(num,name,address,price,count);

p->next=0;

if(gla)

{

goods*p2;

p2=gla;

while(p2->next)

{

p2=p2->next;

}

p2->next=p;

}

else

{

gla=p;

}

fgood>>num>>name>>address>>price>>count;

}

ID=num;

fgood.close();

cout<<"\n商品信息已经读入完成...\n";

}

intmain()

{

complaya;

charc;

do

{

cout<<"\n***超市进销存管理系统***\n";

cout<<"1-增加商品\n";

cout<<"2-修改商品信息\n";

cout<<"3-删除商品\n";

cout<<"4-查询商品信息\n";

cout<<"5-商品清单\n";

cout<<"6-数据存盘\n";

cout<<"7-数据读入\n";

cout<<"8-退出\t请选择(1-8):

";

cin>>c;

switch(c)

{

case'1':

a.Add();break;

case'2':

a.Modify();break;

case'3':

a.Delete();break;

case'4':

a.Query();break;

case'5':

a.list();break;

case'6':

a.Save();break;

case'7':

a.Load();break;

}

}while(c!

='8');

return0;

}

 

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2