C商品销售统计课程设计Word格式文档下载.docx

上传人:b****3 文档编号:16790162 上传时间:2022-11-26 格式:DOCX 页数:18 大小:40.05KB
下载 相关 举报
C商品销售统计课程设计Word格式文档下载.docx_第1页
第1页 / 共18页
C商品销售统计课程设计Word格式文档下载.docx_第2页
第2页 / 共18页
C商品销售统计课程设计Word格式文档下载.docx_第3页
第3页 / 共18页
C商品销售统计课程设计Word格式文档下载.docx_第4页
第4页 / 共18页
C商品销售统计课程设计Word格式文档下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C商品销售统计课程设计Word格式文档下载.docx

《C商品销售统计课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C商品销售统计课程设计Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。

C商品销售统计课程设计Word格式文档下载.docx

本程序的商品信息管理可采用与课程设计题目二类似的数据结构,既定义一个商品类,每种商品作为商品类的实例(对象)存储在链表节点中。

二、问题分析:

按照要求这个程序的编写要求,由于包含多种实现要求,所以在编写时需要多个实现函数,这样就要定义一个类或机构体来统筹各个函数以及用链表或指针数组来储存输入的常量数据,并且在各个转换点设置相应的提示语句使整个程序便于操作。

在修改数据的函数实现时,由于一个商品包含多个变量,要想在修改某一个数据后而不影响其他的数据,所以就必须要有一个switch语句;

在商品信息显示函数的实现时,由于中间要有一个购买函数的实现,所以商品数量会随着商品的购买而减少,所以要将购买的数量另外定义一个变量。

关于switch语句的运用在这个程序这可能要多次使用,主要在一个函数拥有多个变量或变量函数。

三、算法的设计

这个程序我是采用类以及函数的调用来写的。

先写一个tong类,在tong类中声明所需要的函数,classtong{

tong();

tong(charco[20],charn[20],chardw[20],doublepr,intqu);

~tong();

voidSet();

//商品信息录入

voidAlter();

//商品信息修改

voiddelete();

//商品信息删除

voidlist();

//商品信息显示

voidDisplay();

floatCheckout(intquantity);

//单个商品小结

voidTotal();

//总计

voidbuy();

//商品买入

在写了两个操作函数。

在主函数中分别调用所需要的函数。

在存储数据方面,我声明了一个指针数组*S[i],将输入的商品信息数据按照一一对应方式存储的。

在tong类中一共包括十一个函数,分别为构造函数、析构函数以及各种功能函数。

1、在Set函数中通过输出语句的提示输入各种数据,并将输入的数据储存到定义的指针数组中,等一种商品数据信息输入完毕后,会弹出一个提示语句询问是否继续输入商品信息,可根据个人意愿输入Y(或y表示继续输入)N(或n表示中断输入),若输入Y(或y)则调用本函数,进行数据输入;

若输入N(或n)弹出一个提示语句询问是否进行其他操作,在根据个人意愿输入正确的字符来进行相应的操作。

2、Delete函数是进行对原始数据(即商品信息)进行删除。

先根据输出语句的提示输入您要删除的商品名称,商品名称输入后通过if语句判断是否存在这种商品:

若不存在则会出现这种商品不存在的提示语句,并同时出现一个提示是否进行其他操作提示语句;

若存在则会进行对该商品删除的操作并提示删除成功。

3、Alter函数是对输入的商品信息进行修改的。

函数运行时,会首先出现一个提示语句,提示管理者输入所要修改的商品名称,再通过一个for语句将该商品的所有信息调出,同时出现另一个提示语句,供管理者选择所要修改商品项,再通过switch语句供管理者输入所要修改的具体的商品信息,并将管理者修改的信息存入相应的商品信息库中(即该商品在原始输入数据时分配的储存空间中),一个商品信息修改完成后同样会出现一个询问是否继续修改的语句。

4、List函数是将输入的所有商品信息显示在屏幕上,根据提示语句将所有的输入或是修改的商品信息显示在操作屏幕上。

5、buy函数是消费者对屏幕上显示的商品进行购买的函数。

该函数在运行时,会首先出现一个提示语句,提示消费者输入需要购买的商品名称和购买数量,输入完毕后会调用Checkout、Display、Total,进行相应的操作。

6、Checkout函数是一个小记函数,主要将消费者购买的每一种商品进行一个初步计费并显示在屏幕上,这个函数主要是为total函数服务的。

7、Total函数则是总计函数,是将消费者购买的所有商品进行计费,并将消费者需要支付的费计算出来显示在屏幕上。

8、Display函数是将Checkout函数中各种商品费用进行累加,在将累加的结果返回给Total函数。

9、在主函数的运行过程中会出现一个提示语句将整个程序分成两个部分,分别为商品信息管理和商品销售管理。

在商品信息管理部分,主要运行Set、Alter三个函数(这三个函数是通过switchy语句封装在caozuoa这个子函数中的),而在商品销售统计部分,则运行list、buy两个函数(这两个函数是通过switch语句封装在caozuob这个子函数中的)。

四、UML图

五、测试结果及其分析

测试用的输入输出数据以及运行结果的截屏图如下:

请选择您的操作:

商品信息管理系统(M)商品销售系统(S)

m

商品信息录入(请输入0)删除信息(请输入1)修改信息(请输入2):

请输入商品代码及名称:

qqw

请输入计量单位:

jin

请输入商品单价:

1.2

请输入商品数量:

100

信息录入成功!

是否继续录入?

(yorn)

aas

12

120

您想继续进行其他操作吗?

(y/n)

y

*---------------------菜单选项--------------------

商品信息录入(请输入0)修改信息(请输入1)删除信息(请输入2)

1

请输入您所修改的商品名称:

as

你想要修改:

代码及名称(请按1)、计量单位(请按2)、单价(请按3)、数量(请按4)

3

请输入单价:

2.2(※将输入的原始数据:

单价为12修改为2.2)

数据修改成功!

是否继续修改?

s

*---------------------菜单选项--------------------*

*-------------------------------------------------*

显示商品信息(请输入0)商品买入(请输入1)

===================所有商品信息清单========================

货品代码=======货品名称======货品价格======货品数量======计量单位

qqw1.2100jin

aas2.2120jin

请输入你想购买的商品的代码及名称:

请输入您想购买的商品的数量:

货品代码=======货品名称======货品价格======购买数量======计量单位=====小计(元)==

qqw1.212jin14.4

要结束商品买入请按'

N/n'

其继续买入请按'

Y/y'

:

n

你应该付14.4元!

你实际付(元):

20

应该找回你5.6元!

其截屏图如下:

调试分析:

在起始阶段,出现提示语句,询问进入哪部分操作,输入字符m,进入商品信息管理部分,再根据提示,输入字符0,进入商品信息输入部分,按照提示输入的数据被储存在指针数组中,一个完整的商品信息录入后,就会出现一个询问是否继续输入的语句,按此方法输入几种商品信息后,终止商品信息的输入,在按照提示语句进入商品信息修改部分,在此部分修改部分商品信息后,退出,再在提示语句的提示下输入字符s进入商品销售管理部分,在此部分,输入字符0进入商品信息显示部分,将显示在第一部分输入以及修改后的所有商品信息,以供消费者选择,退出后再进入商品买入部分,根据提示输入正确的字符或字符串,购买您所需的商品,结束购买后会出现商品消费总计,输出消费者所需付的费用并根据实际付的费用计算出找零。

在测试与调试过程中,我是按照屏幕提示进行操作,输入符合程序编排的数据,一步一步进行调试的。

六、总结

经过了这次商品销售统计的课程设计我从中学到了很多,同时明白了做一个小型软件的步骤和流程.如何让自己设计的软件运用到具体的实际工作中,这是一个关键的环节.还有就是程序设计和运行测试中遇到的问题该如何解决,从解决问题中我也学到了许多平时课本上所没有的知识.当然,能够完成这个商品销售统计我自己也感觉很有成就感.

运用到的开发工具和软件技术:

此系统结合商品销售统计的要求,对C++、C语言的学习和应用,主要完成商品销售统计的分析,设计和实现,系统的设计,主控程序设计,并由此设计了类结构和应用程序。

系统运行结果证明,设计的商品销售统计可以满足商品管理者完成管理的日常工作,包括商品销售以及商品信息的管理等

软件还需要哪些改进:

在编写源程序代码的过程中对语言的运用还需要提高,应使写出来的程序更加简洁,易读懂,更加满足实际工作的需要.要想使做出来的程序更好的利用还需根据实际需要在今后的运用中不断的改进和完善.

七、代码附录

#include<

stdio.h>

stdlib.h>

conio.h>

#definenull0

#include<

iostream>

iomanip>

string>

//控制字符串的头文件

usingnamespacestd;

classtong

{

public:

tong();

voiddelete1();

//商品买入

private:

charcode[20];

charname[20];

chardanwei[20];

doubleprice;

intquantity;

};

tong:

tong(){}

tong(charco[20],charn[20],chardw[20],doublepr,intqu){

strcpy(code,co);

strcpy(name,n);

strcpy(danwei,dw);

price=pr;

quantity=qu;

}

~tong(){}

tong*s[50];

inti=0;

intj=0;

charcode[20];

intquantity;

voidtong:

Set()//商品信息录入

cout<

<

"

endl;

cin>

>

code>

name;

danwei;

price;

quantity;

j++;

s[i]=newtong(code,name,danwei,price,quantity);

i++;

(yorn)"

if(getch()=='

y'

Set();

elsereturn;

Alter()//商品信息修改

{

cin>

for(inth=0;

h<

i;

h++){

if(strcmp(name,s[h]->

name)==0){

charnewcode,newname,newdanwei;

doublenewprice;

intnewquantity;

intn;

cout<

代码及名称(请按1)、计量单位(请按2)、单价(请按3)、数量(请按4)"

n;

switch(n)

case1:

{cout<

newcode>

newname;

s[h]->

code[20]=newcode;

name[20]=newname;

cout<

;

}break;

case2:

{

请输入计量单位:

newdanwei;

s[h]->

danwei[20]=newdanwei;

case3:

newprice;

s[h]->

price=newprice;

}break;

case4:

请输入数量:

newquantity;

s[h]->

quantity=newquantity;

}break;

}

}

else

cout<

你所要修改的商品的信息不存在,请修正后再更改!

}

(y/n)"

Alter();

elsereturn;

delete1()//商品信息删除

请输入您所删除的商品名称:

你想要删除:

数据删除成功!

你所要删除的商品的信息不存在,请修正后再更改!

是否继续删除?

delete1();

voidtong:

list()//商品信息显示

cout<

=========================================================="

===================所有商品信息==================="

货品代码=======货品名称======货品价格======货品数量======计量单位"

if(i==0)

系统中没有录入商品信息或该商品信息已被删除!

for(intk=0;

k<

k++){

setw(15)<

left<

s[k]->

code<

name<

price<

quantity<

danwei<

}

buy()//商品买入

Checkout(quantity);

Display();

Total();

Display()

{

货品代码=======货品名称======货品价格======购买数量======计量单位=====小计(元)=="

this->

code

<

quantity

name

<

price

danwei

floattong:

Checkout(intquantity)//单个商品小结

intk=0;

floatsum(0.0);

sum=s[k]->

price*quantity;

returnsum;

Total()//总结帐

floatsum=0;

floatreal;

charGoOn;

while

(1)

"

GoOn;

if(GoOn=='

Y'

||GoOn=='

){

请输入商品代码:

请输入商品数量:

sum+=Checkout(quantity);

你购买的商品为:

}

elseif(GoOn=='

N'

n'

break;

}

----------------------------------------------------"

sum+=Checkout(quantity);

你应该付"

sum<

元!

real;

应该找回你"

real-sum<

//找零。

voidcaozuo1(intp){

tongt;

switch(p){

case0:

t.Set();

break;

case1:

t.Alter();

t.delete1();

case8:

exit(0);

voidcaozuo2(intp){

t.list();

ca

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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