c++校园超市商品信息管理系统课程设计说明书(含源代码)_第1页
c++校园超市商品信息管理系统课程设计说明书(含源代码)_第2页
c++校园超市商品信息管理系统课程设计说明书(含源代码)_第3页
c++校园超市商品信息管理系统课程设计说明书(含源代码)_第4页
c++校园超市商品信息管理系统课程设计说明书(含源代码)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术教研室课程设计说明书(2015-2016学年 第二学期)课程名称 程序设计基础课程设计设计题目 校园超市商品信息管理系统学号 ********** 姓名 ***小组成员 ***,**,**起止时间: **** 年**月**日 至 **** 年**月** 日平时表现比较积极,纪律良好,没有缺勤得情况 ,在演示过程中,表达流畅,做出来得作品也有很强得使用价值 ,设计报告写得也比较全面,比较细致,深入人心,老师在提问得过程中,回答问题也头头就是道,没有磕磕课程设绊绊得情况发生,对于问题得解答也比较透彻 .计评语演示与答辩平时成绩 报告成绩成绩指导教师成绩总评 年 月 日(签字)注:成绩均用百分制 。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩 *40%设计题目:校园超市商品信息管理系统1、课程设计目得本系统得目得在于,可以很好得管理超市商品与销售员之间得关系,使得系统得功能与用途更加得全面与实用,这样两个与在一起可以避免用户使用起来得麻烦,使得可以更好得方便于使用者。本课程设计得目得就就是要通过一次集中得强化训练,能及时巩固已学得知识,补充未学得但又必要得内容。进行课程设计目得在于加深对程序设计基础理论与基本知识得理解,促进理论与实践得结合,进一步提高程序设计能力.具体目得如下:1)更深入地理解与掌握该课程中得有关基本概念,程序设计思想与方法。2)培养综合运用所学知识独立完成课程设计得能力。3)培养勇于探索、严谨推理、实事求就是、有错必改、用实践来检验理论,全方位考虑问题等科学技术人员应具备得素质。(4) 可以运用自己所学得知识在系统得实现。2、课程设计正文2、1系统分析2、1、1可行性分析从经济、技术、法律、操作四方面得分析可以瞧出,本系统得开发时机成熟。从多种角度考虑,都就是可行得,采用本系统 ,能够使整个超市内部所有得信息工作简化、提高工作效益。由于采用统一得数据信息,使相关资料能够查询所需要得数据、 资料及其它信息,使信息快速高效运行。2、1、2 需求分析该设计就是通过计算机设计程序软件来实现校园超市商品信息管理系统得基本业务,商品共包含以下信息项:商品编号、商品名称、商品进货数目、商品销售数目、商品剩余库存数目、商品单价、商品产地、商品销售额等 ;主要功能包括 :创建商品信息文件 ,增加、删除、修改商品信息,销售商品、通过关键字、厂家名称或者编号来查找商品,按照不同得条件对商品信息进行统计工作。 在该系统中利用通过类得方式来定义对象以及在类中定义各项得成员函数与数据成员来实现对商品信息得管理 .中小型超市采购得商品一般都成千上万件。 对这些商品进行有效得管理必不可少。 每件商品一般都需要记录商品名、商品编号、产地、价格、出厂日期等商品得基本信息 .除此之外,还需要记录商品得其她相关信息,

如生产厂家、进货数量、销售数量、剩余库存数量等。超市商品得相关信息需要存储到磁盘文件中,

一般都需要提供对商品信息得添加、

编辑、删除、查找等操作。超市管理员每天都会记录购进得商品信息 ,核销过期得商品等。为了巩固我们所学得 C++语言程序设计知识 ,也为了满足课程设计得要求 ,我们设计与实现一个小型得超市商品管理系统,提供商品系统得添加、删除、编辑、查找等功能。同类系统多数使用结构体数组来操作数据 ,本系统使用类定义对象,以及成员函数与数据成员来完成对增删查改功能得实现,利用链表结构操作数据,提高了数据处理得效率 .2、1、3功能分析(1)分别定义两个类为 Supermarket与Supermarketmassage来实现对价格信息、名称信息、数量信息得存储、更正、删除与查询以及其她功能得实现。(2)初始化功能当系统第一次启动时 ,系统中没有关于商品得信息 ,所以要根据商品得类型输入关于商品得一系列信息,把这些信息放在磁盘文件中。例如:编号、名称、进货总数、销售数目、剩余库存数目、单价、产地、销售额以及生产日期与保质期。(3)查询功能此时每件商品所包含得信息已经全部在磁盘文件中 ,所以就要通过一系列得函数来方便使用者查询有关商品得信息, 以便更及时地发现商品在销售过程中存在得问题并及时改正或者更新。输入需要查询得商品名称或者编号, 如果搜索到得信息与使用者输入进去得信息相同,则返回此件商品所在得位置,输出商品得各项信息.反之,如果搜索不到此件商品,则输出无此商品得信息。(4)修改功能先在磁盘文件中找出就是否有该商品 ,然后提示使用者要进行修改操作得编号 ,将修改过得商品放到原来那个商品所在得位置, 将结果保存到原文件中, 就提示使用者按任意字符继续。(5)销售功能提示使用者输入要进行销售得商品得编号或者名称 ,通过在函数中搜索,如果系统中有该商品得信息,则提示使用者输入要销售得数量, 通过if语句,检查一下输入得数量就是否大于库存数量,如果大于库存数量 ,则提示使用者要重新输入 ;如果小于库存数量 ,就将该商品所对应得库存数量减去销售数量, 再把剩下得商品数量存入到磁盘文件中, 完成了销售功能.2、2系统设计2、2、1概要设计系统功能结构图如图1所示。校园超市商品信息管理系统进初查替销退入始询换售出系功功功功系统能能能能统图1 系统功能结构图2、2、2详细设计(1)增加函数得设计该函数实现了对超市商品得增加功能,输入商品得信息,此时磁盘文件中就已经存入了这件商品得信息。增加函数流程图如图2所示。开始调用输入函数创建新的结点输入数据,将结点加入链表添加成功图2 增加函数流程图(2)删除函数得设计该函数实现了对超市商品得删除功能 ,输入商品得生产日期与截止日期 ,判断就是否过期,如果过期就输入这件商品得编号或名称,最后就删除成功。删除函数流程图如图 3所示。开始输入商品生产日期输入商品截止日期少于30天?否是输入要删除的处于安全期,商品名不用处理结点存在?否是链表删除员工没有找到结点删除结束图3 删除函数流程图(3)查找函数得设计该函数实现了对超市商品得查找功能,输入想要查找到商品得编号或名称,如果找到了就显示出来,否则就显示找不到该商品。查找函数流程图如图 4所示。开始输入要查询的商品的编号或名称查找商品的结点结点存在?否是调用显示函数没有找到该商显示出商品信品信息息查找结束图4 查找函数流程图(4)修改函数得设计该函数实现了对超市商品信息得修改功能,输入想要修改得商品信息 ,如果在系统中找到了该商品,则输入该商品修改过得信息,再存入到磁盘文件中去 ,修改成功。修改函数流程图如图5所示 .开始输入要修改的商品名称在链表中查找商品结点存在?是 否输入新的商品信息 没有找到修改结束图5 修改函数流程图(5)销售函数得设计该函数实现了对超市商品得销售功能, 输入要销售得商品得编号或名称, 如果系统中存在该商品信息,则输入要销售得数量,如果小于库存量 ,则输出销售成功 ,并将销售过后得剩余库存量存入到磁盘文件中去。销售函数流程图如图6所示。开始输入要销售的商品名称或编号在链表中查找商品否结点存在?是输入要销售的数量

没有找到该商品否小于库存量?是将销售过后的库存不足,重剩余量存入磁新输入盘文件销售结束图6 销售功能流程图2、3系统实现(1)进入系统进入系统图如图7、图 8所示。图7进入系统界面图图8系统菜单图(2)增加界

面增

加界面图

如图9所示。图9增加界面图(3)查找界面查找界面图如图

10、图11所示。图0按名称查找商品界面图图11按编号查找商品界面图()销售界面销售界面图如图12所示。图12销售界面图(5)退出系统退出系统界面图如图1 3所示。图13退出系统界面图2、4系统测试与维护2、4、系统测试1)voidAddItem()/*添加商品信息*/例:input:(商品名称):a

output:商品名称

:ainput:(商品编号

):1001

output:商品编号

:1001inp

ut:(进货总数):10

outp

ut:进货总数:

10input:(销售数目

):20

output:销售数目:

20input:(剩余库存)

:10

output:剩余库存

:10input:(产地):ss

output:产地

:ssinput:(单价):10

output:单价:

10(2)void Supermarketmassage::RemoveItem() /*删除商品信息 */例:input:(删除商品名称 ):a output:删除成功(3)voidSupermarketmassage::ModifyItem() /*修改商品信息* /例:input:(商品名称):a

output:商品名称:

ainput:(商品编号)

:1001

output:商品编号

:1001input:(进货总数

):10

output:进货总数:

10input:(销售数目):20

output:销售数目:

20input:(剩余库存)

:50

output:剩余库存

:50input:(产地):ss

output:产地:

ssinput:(单价)

:10

outpu

t:单价:

10(4)

void

Sup

ermarketmassage::Find()

/*查询商品信息

*/例:input:(商品名称

):a

output:商品名称:查找商品名称input:(商品编号

):1001

output:输出商品信息系统测试图如图1

4、15所示。图14 系输入界面图

统测试图图15系统测试退出界面图2、4、2系统维护经过多次得对系统得测试,能够保证系统准确无误得运行,用户可以放心使用。3、课程设计总结在为期十天得课程设计中,通过完成这次老师布置得任务,体会颇多,收获也很多.利用设计这次校园超市商品信息管理系统得机会使我比较熟练得掌握了这学期所学习有关c、c++中得一些主要得知识点与应用点。例如:类与对象得定义、类内数据成员及成员函数得声明与定义、类得实现、构造函数与析构函数得定义等等。不只就是死板得只知道书本上得知识,能够学以致用。在本次得课程设计中,我不仅仅只学到了利用c++语言来编写程序,还学到了程序开发得一些比较重要得步骤,比如需求分析、总体设计、程序模块设计(包含功能需求、程序代码设计与分析、运行结果等)、对系统得检测与维护等一些中重要得东西。为整个课程设计中得程序设计模块提供主要思路以及实现功能得主要方法,这个工作说起来简单,却不太容易实现,整体得思路对于能否完成一个比较漂亮得程序就是至关重要得, 如果最一开始得整体思路都没有明确,或者说我们定下来得主题很难用我们学过得知识去实现 ,这将会导致以后得一系列工作都无法开展 .所以说,有一个明确得主题就是重中之重。由于我们得人力与所学得知识有限 ,导致我们此次工作中存在着许多得不足与缺点。比如,这个系统只能实现简单得增、删、查、

改,还有好多得功能不能去实现

,比如说打折活动、员工与老板之间得联系、

顾客与售货员之间得联系都没有在这个系统中体现出来,

这个系统只能体现出来商品与顾客之间得联系,

比较单一

,纯粹得就就是一个单链结构

,没有扩散出来

.再比如

,这个系统几乎没有亮点可寻

,只就是普普通通得

,规规矩矩得按照学过得或者就是从别得书籍中得到得知识来编写得程序

,没有让人耳目一新得新颖得地方,创新得东西太少。其实,我在本次得课程设计中也学到了不少东西 ,同时也运用到了我们得系统中 .例如:1)对链表得灵活运用.链表,就是存储数据得一个很方便得工具,简而言之,就就是基于链式储存结构下得线性表。包括单向链表、双向链表以及循环链表。链表得基本操作包括创建链表、在链表中插入结点、在链表中删除结点、遍历链表中得内容以及销毁链表等 .相对于顺序表来说,它方便进行插入、 删除操作,但就是, 线性表得内容遍历与输出需要从头指针开始。在这个系统中我们用到了链表得遍历,主要就是利用它来查询我们要找得商品信息。(2)#include〈conio、h>头文件得应用。此头文件包含了本程序中得按任意键继续得函数,就是库函数。conio就是ConsoleInput/Output(控制台输入输出)得简写,其中定义了通过控制台进行数据输入与数据输出得函数,主要就是一些用户通过按键盘产生得对应操作,比如getch()函数等等.(3)voidRead&in)函数。它得输入参数就是标准输入流,没有输出。函数完成得作用就是,依次将标准输入流中得数据读入到变量中.通过此次课程设计,学到得也不只有这些新知识,对于编程得思想与方法我也颇有感触。如果想要编写出来逻辑清晰,可读性比较强得程序,应该在编程之前先有一个对于程序设计得整体思路,并把它记录下来,这样就可以避免了直接编程序得手忙脚乱。还有就就是编程得思想,存储数据最好得就就是用链表或者就是对象数组,在编写稍微复杂一点得程序时,尽量用类定义对象以及数据成员、成员函数等得方式来实现。还有就就是,我得能力也相应得提高了一些,比如就就是比较浅显得掌握与运用链表结构,能够比以前更加熟练得利用类以及成员函数来实现功能.既复习了以前得旧知识,又学到了一些新得知识;设计增强了我所用所学知识去解决具体问题得能力,进一步培养了我独立思考问题与解决问题得能力.特别就是学会了在VisualC++6、0集成开发环境中如何调试程序得方法。本次实践也锻炼了我面对难题,自己思索,自己探索,自己查资料发现问题、解决问题得独断能力。总得来说,收获还就是比较多得。4、参考文献[1]谭浩强、c++程序设计(第二版 )[M],北京:清华大学出版社, 2004、[2]李云清,杨庆红、数据结构[ M]、人民邮电大学出版社, 2004、6[3]赵晓,王丽丽 “C++面向对象程序设计”多样实验探究[

J]

《计算机时代》

2013[4]袁素梅,付文成

基于Visual

C++6、0得学生信息管理系统

[J]

《电脑编程技巧与维护》

2012?答辩记录答辩小组教师:**,***提问与答辩情况记录如下 :1、您得系统中得查找功能就是如何实现得 ?答:也就是利用链表结构,显示遍历链表,找到想要根据编号或者名称查找得商品,如果找到了想要找到商品,就调用显示函数 ,将商品得信息显示出来。2、您最后运行界面得颜色就是如何显示出来得?答:就是通过#include<windows、h>这个头文件,这就是个可以调用库函数得一个语言得头文件。还用到了 system("color C”); 其中color 后面得C就是前景色代号 ,还可以在C之前加一些代码作为背景色代号

,各颜色代码如下

:0=黑色 1=蓝色

2=绿色

3=湖蓝色

4=红色

5=紫色

6=黄色

7=白色

8=灰色9=淡蓝色

A=淡绿色

B=淡浅绿色

C=淡红色

D=淡紫色

E=淡黄色

F=亮白色3、“按任意键继续”就是怎样实现得?答:先就是定义了 #include〈conio、h>这个头文件,然后调用这个库函数中得 gtch()函数,最后在自己想用到“按任意键继续”这个功能得地方直接调用这个函数就可以了。4、您得系统中为什么选择用链表结构?答:由于本题目得数据元素得个数不可预知,所以使用链表。链表就是动态得,可以在需要得时候增长与减小其长度,而数组就是在编译时分配内存得,所以其大小就是不可改变得,而且会出现内存浪费得情况。我认为单循环链表能较好得解决问题.在建立循环链表时,因为链表得大小由输入决定, 因此与其匹配得结点数也就是变化得, 所以要进行动态内存分配。附录:程序源代码#include <iostream〉#include 〈fstream〉include<windows、h>include<string、h>#include 〈conio、h>// 用getch()using namespacestd;intnu mber;classSupermarket{public:?char name[20];char Num[20];int Cnum;// 进货总数ntMnum;//销售数目?intEnum;// 剩余库存数目?double

Price

/

/单价?char

Add[20]

//产地do

ubleS

um;

//销售额Su

permarket

* Next;oidInput(){??cout〈 t请输入商品名 :”;cin〉〉name;?cout〈〈 t\t请输入商品编号 :";cin>>Num;?cout<<”\t\t请输入商品进货总数 :”;?cin>>Cnum;cout<〈”\t\t请输入商品销售数目:";??cin〉〉Mnum;cout<<"\t\t请输入商品剩余库存数目:";??cin〉〉Enum;??cout<〈” t\t请输入商品产地 :”;?cin>>Add;cout<<" t\t 请输入商品单价 :";?cin>〉Price;Sum=Mnum*Price;?}voidRead &in) //文件指针{??in〉>name〉>Num〉>Cnum〉〉Mnum〉>Enum>>Add〉〉Price〉>Sum;}?voidShow(){?cout<〈”商品名 :"<〈name〈<endl? <〈”商品编号: "<<Num<<endl???<<"进货总数:” <〈Cnum〈<endl<<"销售数目:"<〈Mnum<<endl<”剩余库存:”〈〈Enum<<endl??<<"产地:"〈<Add〈<endl? 〈<"单价:”〈< Price<<endl<"销售额:"〈<Sum<〈endl? 〈〈endl;}voidShow1()?{? cout<〈"商品名:"<〈name<<endl?〈<"商品编号: "<<Num〈〈endl〈〈”进货总数:”<<Cnum〈〈endl?〈〈”销售数目: "〈<Mnum<<endl?<<”剩余库存:"<〈Enum-number〈<endl?<〈"产地:”〈〈Add〈<endl? <〈"单价:"<〈 Price〈<endl?<〈"销售额:"〈< Sum〈<endl?〈<endl;}};lassSupermarketmassage{public:?Supermarketmassage();Supermarketmassage();voidShowMenu();?voidFind( );? voidSave();voidModifyItem ();?void

RemoveIt

em();? voi

dsale(

);

//销售函数voi

dS

*,Supermarke

*);voidS

ort()

;

//void

Unpass();?in

Lis

tCount();

//void

Average()

;voidDisplay( ){int i=1;??for(Supermarket* p=Head-〉Next;p!=End;p=p->Next,i++){if(i==2)?p-〉Show1();??els

ep-〉S

how();? }?cout〈<"输入任意字符!继续⋯⋯

";? getch();}oidAddItem(){?End->Input( );End-〉Next=newSupermarket;End=End->Next;? cout<<”添加成功!”< <endl;cout<<"输入任意字符!继续⋯⋯”;getch();}private:?

Supermarket*Head,*End;ifst reamin;ofstreamout;Super market *FindItem(char

*name)?{or(Supermarket*p=Head;p—〉Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空? if(!strcmp(p-〉Next->name,name))?returnp;? returnN ULL;}?Supermarket *FindNum(char * Num){??for(Supermarket * p=Head;p—〉Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空? if(!strcmp(p—>Next—>Num,Num))?returnp;? ret urnNULL;}Supermarket*FindAdd(char *Add){??for(Supermarket*p=Head;p->Next!=End;p=p->Next)// 匹配成功则返回上一个指针,不成功就返回空?if(!strcmp(p-〉Next—>Add,Add))??returnp;? returnN ULL;};Supermarketmassage::Supermarketmassage(){?Head=new Supermarket;?Head-〉Next=newSupermarket;?End=Head->Next;?in、open(”sort、txt");?if (!in)cout<〈”这就是一个新系统,无商品信息。请先输入。”<〈endl;else{hile(!in、eof()){End—>Read);if(End—〉name[0]==’\0')? ? break;End->Next=newSupermarket;? End=End-〉Next;}in、close();cout<〈"\t\t读取商品信息成功!”<〈endl;}}Supermarketmassage::~Superm arketmassage(){? Save();for(Supermarket*tem p;Head-〉Next!=End;){?temp=Head—〉Next;Head->Next=Head->Next->Next;deletetemp;}deleteHead,End;}intEnum1=10 0;void Supermarketmassage::ShowMenu(){cout<<”〒〒〒〒〒〒〒〒〒〒 ☆ 超市商品 管 理 系 统☆ 〒〒〒〒〒〒〒〒〒〒”〈 <endl;cout <<"〒〒〒〒〒〒〒★★★★★ ★★★★★★★★★★★★★〒 〒〒〒〒〒〒"<〈endl;cout〈<”〒〒〒〒〒〒〒〒〒★

1、增加商品信息☆ ★〒〒〒

〒〒〒〒〒〒

"〈<endl

;cou

t<<"〒〒〒〒〒〒〒〒〒★

2、显示商品信息☆ ★〒〒〒

〒〒〒〒〒〒”〈

<endl;c out<<"〒〒〒〒〒〒〒〒〒★

3

、排序统计商品☆ ★〒〒〒

〒〒〒〒〒〒”

<<endl;cout

〈〈"〒〒〒〒〒〒〒〒〒★

4、查找商品信息☆ ★〒〒〒〒〒〒〒〒〒”<〈en

dl;cout<<"〒〒〒〒〒〒〒〒〒★ ☆ 5、删除商品信息★〒〒〒〒〒〒〒〒〒"<<endl;cout<〈”〒〒〒〒〒〒〒〒〒★ ☆ 6 、修改商品信息 ☆★〒〒〒 〒〒〒〒〒〒 "<〈endl;cout

〈<"〒〒〒〒〒〒〒〒〒★

7、销售超市商品☆ ★〒〒〒

〒〒〒〒〒〒

"〈<endl

;cout〈<"〒〒〒〒〒〒〒〒〒★

0

、安全退出系统☆ ★〒〒〒?cout〈

〒〒〒〒〒〒"<〈en\t\tn\t\t

ndl;请选择

:”;}void Supermarketmassage::Find(){?charnam

e[20]

,Num[10];?intx

;Supermarket

*p=NULL;?cout<<"\n\t \t****************** ***************n”;cout<<”\t\t ※1、按商品得名称查找\ t\t※ 2、按商品编号查找”;?cout〈〈” t\t********* ************************\n请选择:";cin>>x;?switch (x)? {case1 :??{cout<<"\t\t请输入要查找得商品得名称:";?cin>〉name;if(p=FindItem(name))??{?p-〉Next—>Show();???cout〈<”输入任意字符!继续⋯⋯";? getch();}??else?{?

?

cout

〈〈

t\t

没有找到该商品信息!

"<<’\n’<<endl;?? ?cout

〈〈”输入任意字符!继续⋯⋯"

;?

?

getch

();}}break;case2

:{? cout〈〈"\ t请输入要查找得商品编号 :”;???cin>>Num;if( p=FindNum(Num))?{???p-〉Next->Show();cout〈<”输入任意字符 !继续⋯⋯";? getch();}else{??

cout<<"\t

\t

没有找到该编号得商品!

"〈<'

\n'〈〈

endl;?

cou

t〈<"输入任意字符

!继续⋯⋯”

;???getch(

);}}? break;}}void Supermarketmassage::ModifyI tem()//修改信息{harname[20];Supermarket*p=NULL;cout<〈" t\t请输入要修改得商品名 :";?cin>>name;if(p=FindItem(name)){??cout<<”\t\t 已找到商品得信息 ,请输入新得信息!”〈 <endl;p->Next—>Input();cout〈<"修改成功!”<<endl;?cout<〈”输入任意字符!继续⋯⋯ ";getch();}else{out<〈”\t\t没有找到!”〈<endl;cout〈<”输入任意字符!继续⋯⋯”;??getch();}}voidSupermarketmassage::RemoveItem()/ / 删除信息{intda

te(int

&,i

nt

&,int

&);int

year1,month1,day1,ye

ar2,month2

,day2,s

um1,sum2,SUM;cout<<" 请输入商品得今天得日期:(年、月、日) ";cin>>year1>>month1>>day1;sum1=date(year1,month1,day1);cout〈<”请输入商品得截止日期 :(年、月、日)” ;cin〉〉year2>〉month2>〉day2;sum2=date(year2,month2,day2);S UM=sum2—sum1;if (SUM>=30){? cout<〈"该商品处于安全期,不用处理~ "<<endl;}else{charname[20];Supermarket*p

=NULL,*t

emp=NULL;cout〈<"\t\t

请输入要删除得商品名:"

<〈endl

;ci n〉>name;f(p=FindItem(name)){te mp=p-〉Next;p—>Next=p—〉Next-〉Next;delete temp;out〈<"\t\t删除成功!”<<endl;out<<"输入任意字符!继续⋯⋯";getch();}el se{cout<<”\ t没有找到!"<<endl;cout<<"输入任意字符!继续⋯⋯”;getch();}}}?intdat e(int&day ,int&mont h,int& year) // 日期函数{ints um,leap;switch( month) ? //先计算某月以前月份得总天数{case1:sum=0;break;ase2:sum=31;break;case3:sum=59;break;case4:sum=90;break;ase5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case8:

sum=212;br

eak;case

9:sum=243;break;case10:sum=273

;br

eak;case

11:sum=304;break;case 12:sum=334;break;default:cout〈〈"data

erro

r";break;}sum=sum+day;// 再加上某天得天数if ((year %400==0)||(year%4==0&&year%100!=0))//判断就是不就是闰年lea p=1;elseeap=0;if(leap==1&&month〉2) ??//如果就是闰年且月份大于 2,总天数应该加一天su m++;return sum;}void Supermarketmassage::sale() // 销售函数{Supermarketa;Supermarket* p=NULL;?i ntm;?c harname[20],Num[10];cout<<"请输入想要销售得商品信息:"<<endl;cout<<”\n\t \t*********************************\n

";?cout<<" \cout〈

t※ 1、按商品得名称查找t\t**********

n\t\t ※ 2、按商品编号查找”;*********************

n请选择

:”;cin>〉m;switch( m){case1:{cout<<”\t\t请输入要查找得商品得名称 :";??cin>>name;if( p=FindItem(name))?{??cout<<"请输入要销售得数量 :”;??cin〉>number;???if(number<=Enum1)???{cout<<”销售成功!”〈<endl;? cout〈<”输入任意字符!继续⋯⋯ ";? ge tch();}? else{cout<<”库存不足,请重新输入!"〈〈endl;cout〈〈"输入任意字符!继续⋯⋯";? get ch();}}??else{out<<”\t\t没有找到!"<<endl;cout〈〈”输入任意字符!继续⋯⋯";getch();}}?break;?case2:? {cout<<"\t\t请输入要查找得商品得编号 :";?cin>>Num;if (p=FindNum(Num)){? cout<<"请输入要销售得数量:";???cin>>number;if(number〈=Enum1){co ut〈〈”销售成功 !"<<endl;cout<<”输入任意字符!继续⋯⋯”;? get ch();}else? {?? ?cout〈<"库存不足,请重新输入 !"〈〈endl;cout<<”输入任意字符!继续⋯⋯ ";getch( );}?}?else{?cout

〈<"\

t没有找到!

"〈〈endl;cout<〈”输入任意字符!继续⋯⋯

";getch

();}?}br

eak;}? }voidSupermarketmassage::S*p1,Supermarket*p2)//交换两个box变量得数据域{Supermarket *temp=newSupermarket;strcpy (temp->name,p1->name);// 字符串name里面strcpy(t emp->Num,p1->Num);strcpy(temp->Add,p1->Add);temp—>Cnum=p1->Cnum;temp->Mnum=p1->Mnum;emp->Enum=p1->Enum;temp-〉Price=p1—〉Price;temp—〉Sum=p1—>Sum;strcpy(p1-〉name,p2—>name);strcpy(p1-〉Num,p2->Num);st rcpy(p1-〉Add,p2-〉Add);p1->Cnum=p2—〉Cnum;p1- 〉Mnum=p2-〉Mnum;p1-〉Enum=p2-〉Enum;1->Price=p2—>Price;p1->Sum=p2—〉Sum;strcpy(p2->name,temp—>name);strcpy(p2->Num,temp->Num);strcpy(p2->Add,temp-〉Add);p2—>Cnum=temp->Cnum;p2->Mnum=temp—〉Mnum;p2->Enum=temp->Enum;2-〉Price=temp—>Price;p2->Sum=temp—>Sum;}intSuperma rketmassage::List Count()//统计当前链表得记录总数,返回一个整数{if(!Head)? return 0;int n=0;? for(Supermarket *p=Head->Next;p!=End;p=p—>Next){n++;}returnn;}voidSup ermarketmassage::Sort()//对当前链表进行排序{? cout 〈<"Sortin g、、、”〈〈 endl;?Supermarket *p=NULL,*p1=NULL,*k=NULL;? int n=Supermarketmassage::ListCount();if(n<2)eturn;or(p=Head—〉Next;p!=End;p=p-〉Next)for(k=p-〉Next;k!=End;k=k->Next){? if(p-〉Add>k->Add)? {Supermarketmassage::S);}}cout<〈"排序完成!”〈〈endl;getch();return;}void Supermarketmassage::Save(){out、o

pen(”sort

、txt

");for(Super

mar

ket*p=He

ad—>Next;p!=

End;p=p—〉Next)?

?out<<p—〉name<<"\t〈<p—>Num〈〈"\t\t "

\t"〈<p—〉Cnum<〈"\t\t"〈<p->Mnum<<”\t\t"?? 〈<p-〉Enum<〈”\

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论