客户消费积分管理系统Word格式文档下载.docx
- 文档编号:22390289
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:24
- 大小:114.43KB
客户消费积分管理系统Word格式文档下载.docx
《客户消费积分管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《客户消费积分管理系统Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
三、系统的设计与实现
Getelem(cnode*head)
分析:
首先选择的添加客户的指令,然后输入客户的基本信息。
客户的姓名,客户的ID消费卡号,如果输入的不正确则需要提示重输,还有就是客户的消费金额,这样才能计算后面的积分优惠折扣。
最后就显示该添加客户的信息。
流程图如图
(2)所示。
运行结果如图(a)所示。
客户姓名
图<
(2)-1模块分析图
消费卡ID号开始消费金额S丿J>
积分折扣
图
(2)添加客户信息流程图
该模块的具体代码如下所示输入客户姓名及ID号示准的输入输出库函数动态存储分配函数字符串函数
#include<
stdio.h>
〃#include<
stdlib.h>
string.h>
〃structcnode▼{
(正确)输出客户相关信息
(错误)重新输
ar门入客2户;
相关客户姓名charID[4];
〃doubleconsupe;
//客户消费ble(正确产输出客户积分n也客^^相关信,
客户ID号
do
结束
};
doubledisplay_discount(doublepoints)〃客户积分折扣函数
{
doublediscount;
if(points==0)
{discount=0;
}
elseif(points>
0&
&
points<
=50)
{discount=9.8;
50&
=100)
{discount=9.5;
elseif(points>
100&
points<
=200)
{discount=9.0;
elseif(points>
200&
=300)
{discount=8.0;
300)
{discount=7.0;
returndiscount;
voidInitstack(cnode*&
head)
head=(cnode*)malloc(sizeof(cnode));
//malloc函数开辟内存单元,分配cnode长度字节的
存储区
head->
next=NULL;
voidGetelem(cnode*head)〃添加客户函数
{enode*p;
doubley;
p=(cnode*)malloc(sizeof(cnode));
printf("
请输入姓名:
"
);
scanf("
%s"
&
p->
name);
请输入ID(4位):
”);
ID);
while(strlen(p->
ID)!
=4)
ID有误,请重新输入(4位):
);
p->
printf("
请输入消费金额:
%lf"
consume);
integer=p->
consume/100;
y=display_discount(p->
integer);
折扣:
%llf折\n"
y);
next=head->
next;
next=p;
system("
pasue"
}voidmain(){enode*head;
intchoice;
charname[10];
Initstack(head);
do
\n"
printf(”
$
$\n"
\n”);
\n
****************************"
*
*"
<
王采单>
>
1.
添加客户
2.
查找客户
3.
修改客户
4.
删除客户
5.
显示客户
6.
统计客户
7.
退出*"
)
;
\n请输入您的选择(1,2,3,4,5,6,7):
Getelem(head);
break;
cls"
〃程序运行后自动清屏
}while(choice<
=7);
}
*C:
\Users\Administralor\Deslctop\^程设计\Debug善户港爰阳分M^t-exe'
$客户梢费和分管理系统5
图(a)
(二)修改客户Amend(cnode*head,charname[])
首先要确定该客户消费积分系统有没有客户,在有客户的条件下对所在客户的相关信息进行修改。
第一步要输入所要修改客户的姓名,第二步是选择修改客户的姓名、ID消费卡号、还是消费金额。
然而对消费金额的修改有可以选择是续加金额和覆盖原有的金额两种操作。
最后结果显示在屏幕上。
流程图如图(3)所示。
运行结果如图(b)所示。
开始
如图(3)修改客户信息流程图
该模块的具体代码如下所示:
voidAmend(cnode*head<
char有me[])//{enode*p;
doubley,z;
intchoose,x;
p=head;
修改客户函数,没有客户
修改客户的相关信
if(p->
next==NULL){printf("
\n没有
结束else
while(p->
next!
=NULL)
{p=p->
if(strcmp(name,p->
name)==0)
{printf(”姓名:
%s\n"
ID:
%s\n"
消费:
%.2lf'
积分:
%lf'
integer);
折扣:
%.llf折\n"
\n请选择您要修改的资料:
1.姓名2.ID3.消费金额\n"
%d"
choose);
switch(choose)
case1:
printf("
请输入修改后的姓名:
scanf("
name);
case2:
printf("
请输入修改后的ID:
{printf("
ID有误,请重输(4位):
}break;
case3:
请选择:
1覆盖以前的消费.2续加上现在的消费."
scanf("
x);
switch(x)
{case1:
printf(”请输入修改后的消费:
consume);
printf("
请输入续加金额:
z);
consume+=z;
姓名:
消费额:
%.2lf"
printf(”积分:
%.llf折\n"
1眄[
槨入要均改的客户姓名叨谒
消费:
351.40和分’3.514000折扣,
请输入您的选择(1.2,3,4,5,6,7):
3
请输入修改后的姓名:
王海
请选择您要修改的资料;
「姓名2-ID3•消费金额
■*C:
\Users\Admini&
tr^\Deslcto\Debugex"
单户户户户户户待蓉客客客主加找改除示计岀<
響修删显幫1234567
图(b)
(三)删除客户Delete(cnode*head,charname[])
首先也是要确定该客户消费积分系统有没有客户,在有客户的条件下对所在客户的相关信息进行删除。
第一步要输入所要删除的客户的姓名,第二步是就是对所选定的客户进行删除,在删除结束时,会出现是否删除成功的提示语,以便进行慎重的删除操作。
流程图如图(4)所示。
运行结果如图(c)所示。
图(4)删|除客户信息流程图
voidDelete(有客户*head,charname[])〃‘没有除户户函数
enode*p;
T
intx;
要删除的客户
y.
是否删除成功
dOuble
next==NULL)
\n没有客户!
else
{while(p->
{head=p;
p=p->
姓名:
%s\n"
确认删除?
1确认2取消请选择:
if(x==1)
{head->
next=p->
删除成功!
删除失败!
\n”);
pause"
-*C:
\Users\Administrator\DesktopY,^握设计\Debug\氢亠渭査取分■慝^fc.exe"
$客户消费积分管理系统5
ZAMWA/ZZZZZZZZZAfrfWA/ZfWA/ZZZZZZZZEZ
-Rpl.户户户户户
-S-MB各客客客主加找改除示计岀
显蠻■■•■■•■1234567
请输入您的选择(1,2,3,4,5,6.7)z4
除的客户姓名二米兰
ID;
569S
消4563.00积分:
45,630000折扣;
10折
认删除?
丄确认2取消请选择:
1
图(c)
(四)显示客户voidShowall(cnode*head)
首先还是要确定该客户消费积分系统有没有客户,在有客户的条
件下对所有客户的相关信息进行显示。
最终将所有客户的相关信息显示在屏
幕上。
流程图如图(5)所示。
运行结果如图(d)所示。
图(5)显示客
voidShowall(cnode*head)〃{enode*p;
next==NULL){printf(”没有客户!
=NULL){p=p->
printf(”printf("
IDprintf("
:
l
%.2lf"
p
%lf"
%.llf折\n”,y);
}system("
*C:
\Users\Administraior\Desktop\课程设汁Ebug'
客户消議用分秦统,exe
fWWWWVWFWWfWVWWWWWWVYWWfWWWWVWWWWWVW
s客户消费和分管理系统5
户户户户户艺蓉客宀各客客客主加找改除示计岀<
星嗑毘嚅
1234567
请输入您的选择(1.2-3-4-5,6,7),5
名:
技Ik局
;
9876
8000-00积分:
S0.000000折扣’1时斤
€:
李虎
5874
费:
564.00和分:
5.640000折扣]10折
图(d)
四、系统测试
(一)测试voidnain()函数
测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。
首先,通过编译,运行两步的操作,排除了该程序中的基本语法错误,链接进一步的检查了程序的正确性与合法性,完全排除了程序中的逻辑错误,使得程序可以正确的运行出来。
然后检验程序的可实用性,通过操作者自己输入一些对客户操作要求,来完成检验这一步。
最后,还要看显示的结果是否正确可靠。
这样,一个客户消费积分系统的程序就完成了。
所以,下图(6)就是主函数测试的结果。
'
C:
\Users\Admin^trdtor\De5ldo穴昱腫没计\Debug悟户1洛鹫环分杲乾exe"
rsmjwwiwrvwinuwwrirwrvirvrinjwwrirwrwrvrinjwwrirwrwrvrinjwirvrinj*
$客户消费积分管理系统$
fVfWiPimrtfWirKirfVfWiFVWtfWrWVfWiFVNtfWrWVfWiFVYVtfWrWVrtalWYVtfW
“户户户户户
-a-脅客客容客客主加找改除示计岀<
灌痛甩囉123456?
请输入您的选择(1,2.3,4,5,6,?
图(6)主函数测试结果
(二)部分调用函数的测试
如图(4)是查找函数的测试,如图
5)是统计函数的测试。
\User5'
Adniinistrat<
k\pe$ktopY髓帥Pebug'
^翩制毬無exe"
I\!
\U$er$\Adfninistrjtor\Deiklop\^fi^t\Dcbd习分谿,诳
rk-rjPsAjrjri.rjrvmzzzrvtvnmrrur%wmvrurv他mnvruww
fi.WMUi'
vA.VaMUi'
vA.VUiVAWMUftrtW
AMvnrnnYWWAMvrvTVNWftMvnnwiwwnifvrvinmwMvrv
J)
#
单户户户口,户户
、王加我改滕一
(.is.t_.f-H.fi^^
12345&
7
i青瞒入您的选择(1.2,33,5,6,7)■6
位
2■
ass-
iiilrtLFE思ftt专芍.也=冃
进蹲》》»
修籍户Bi報户
如图(4)查找函数的测试结果
如图(5)是统计函数的测试结果
五、总结
系统完成了对一个消费商店内部,进行的一次优惠打折活动,根据顾
客在本商店所进行的消费情况,对相关消费客户的信息进行了增加、删除和修改等的操作。
并且运用switch语句完成用户自行选择的要求,使得程序变得更加友善和谐,让用户根据每一步的提示来完成所需的操作,进而达到对有关消费客户的操作,并且与此次活动的优惠积分规定相一致,来计算顾客所得的积分及其相应的折扣。
并且完成了对消费客户信息的增加,删除,添改功能。
此外充分利用C语言的语法结构(顺序机构、循环结构及其选择机构),对整个程序进行了合理编写与调试。
尽量做到程序的简单、合理明白,加一些适当的注释说明部分。
系统不足:
这个系统的不足在于他不能的将客户的信息资料存储于磁
盘中,只能在完整的一次操作中,不退出此界面一直能有效正确的执行命
令。
但是退出一次之后,重新操作时,以前的客户信息就不再存在了。
因此,
这是还有待于我不断改进完善的地方。
我的收获:
在此次的C++课程设计中,通过设计掌握了C++课程及其数
据结构在以后学习C课程中的重要性。
数据机构中的基本理论和算法的综合应用是解决实际问题的重要手段。
在做这次课程设计中最让我得到提高的是自己的独立思考及实践能力,在完成此项设计的过程中,我利用各种和C有
关的工具书、相关的网络信息完成了一个关于客户消费积分管理系统的程序,
让我从中更多的了解了C这门语言及其有关知识,更让我对最初学C态度有了一个强烈转变——C中的奥秒就在于自己的不断探索与积累。
六、附件(代码)
charname[20];
〃客户姓名charID[4];
〃客户ID号doubleconsume;
//客户消费
doubleinteger;
//客户积分
enode*next;
voidCount(cnode*head)〃统计客户函数
{cnode*p;
inti=0;
\n没有客户r);
i++;
\n现有客户数量为%4位\门"
i);
客户积分折扣函数
doubledisplay_discount(doublepoints)//{
if(points==0)
}elseif(points>
{discount=9.8;
50&
=200){discount=9.0;
{discount=8.0;
head-〉next=NULL;
printf(”请输入姓名:
voidSearch(cnode*head,charname[])〃查找客户函数
{en
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客户 消费 积分 管理 系统