客户消费积分管理系统文档格式.docx
《客户消费积分管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《客户消费积分管理系统文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
![客户消费积分管理系统文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/1/fc82a9ed-aa86-45ff-802b-c4bff8ddef39/fc82a9ed-aa86-45ff-802b-c4bff8ddef391.gif)
问题描述:
针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。
基本要求:
1.采用一定的存储结构进行客户信息的存储;
2.对客户的信息可以进行修改、删除、添加;
3.能够根据消费情况进行客户积分的计算;
4.根据积分情况实行不同程度的打折优惠。
3.本设计所采用的数据结构
本系统用到的主要数据结构为数组和文件。
一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和消费情况。
然后将数组写入文件,查询时读取文件,提取相应信息。
4.功能模块详细设计
4.1详细设计思想
在数组中定义3个字符串gukehao、xingming、xiaofei,分别存储客户的顾客号、姓名、消费额。
通过录入函数对3个字符串循环进行赋值,然后根据消费额使用if语句判断其折扣区间,复制完毕后存入文件s_score.txt。
修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。
查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息(顾客号、姓名、消费额、积分、折扣)。
删除函数根据用户输入客户号找到相应文件进行删除。
主函数为用户界面,1-4分别对应录入、修改、查找、删除函数,5为退出。
4.2源代码
#include"
stdio.h"
stdlib.h"
string.h"
conio.h"
mem.h"
ctype.h"
alloc.h"
structscore
{
chargukehao[8];
/*定义3个存储客户信息的字符串*/
charmingzi[20];
floatscore[6];
}data,info[1000];
/*定义数组*/
inti,j,k=0;
floatn;
/*n为折扣值*/
chartemp[20],ch;
FILE*fp,*fp1;
voidluru()
if((fp=fopen("
s_score.txt"
"
ab+"
))==NULL)
{
printf("
cannotopenthisfile.\n"
);
getch();
exit(0);
}
for(i=0;
i>
=0;
i++)/*无限循环知道用户选择停止*/
Pleaseinputgukehao:
"
gets(data.gukehao);
pleaseinputmingzi:
gets(data.mingzi);
Pleaseinputxiaofei:
gets(temp);
data.score[0]=atof(temp);
/*不能直接赋值,采用转换函数*/
if(data.score[0]<
=5000)/*判断折扣区间*/
n=1;
else
=10000&
&
data.score[0]>
5000)
n=0.95;
n=0.9;
fwrite(&
data,sizeof(data),1,fp);
/*写入文件*/
another?
(inputntomain/anykeytocontinue)\n"
/*循环停止判断*/
ch=getch();
if(ch=='
n'
||ch=='
N'
)
break;
}fclose(fp);
}
voidxiugai()
rb+"
))==NULL||(fp1=fopen("
temp.txt"
wb+"
))==NULL)
Cannotopenthisfile.\n"
exit(0);
\nPleaseinputshuruxiugaigukehao:
scanf("
%d"
&
i);
getchar();
while((fread(&
data,sizeof(data),1,fp))==1)/*读取文件*/
j=atoi(data.gukehao);
if(j==i)/*根据输入数值确定客户号*/
gukehao:
%s\nmingzi:
%s\n"
data.gukehao,data.mingzi);
Pleaseinputmingzi:
}fwrite(&
data,sizeof(data),1,fp1);
fseek(fp,0L,0);
/*0位移*/
fseek(fp1,0L,0);
data,sizeof(data),1,fp1))==1)
/*取代原文件*/
fclose(fp);
fclose(fp1);
voidchazhao()
rb"
\nCannotopenthisfile.\n"
\nPleaseinputgukehaochakan:
while(fread(&
data,sizeof(data),1,fp)==1)
if(i==j)
%s\nxiaofei:
%f\njifen:
%f\nzhekou:
%f\n"
data.gukehao,data.mingzi,data.score[0],data.score[0],n);
}getch();
voidshanchu()
if((fp=fopen("
\nopenscore.txtwasfailed!
\nPleaseinputgukehaowhichyouwanttodel:
getchar();
data,sizeof(data),1,fp))==1)
if(j==i)
Anykeywilldeletit.\n"
continue;
remove("
/*删除文件*/
rename("
Datadeletwassuccesful!
\n"
Anykeywillreturntomain."
main()
while
(1)
clrscr();
/*清屏*/
*=====================================================*\n"
*1>
luru2>
xiugai*\n"
*3>
shanchu4>
chazhao*\n"
*5>
exit*\n"
**\n"
*-----------------------------------------------------------------------------------------*\n"
Pleaseinputwhichyouwant(1-5):
switch(ch)
case'
1'
:
luru();
break;
2'
xiugai();
3'
shanchu();
4'
chazhao();
5'
default:
5.结论
通过对系统的设计,发现文件相对于其他数据结构更便于修改和删除。