客户消费积分管理系统.docx
- 文档编号:23585930
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:8
- 大小:16.36KB
客户消费积分管理系统.docx
《客户消费积分管理系统.docx》由会员分享,可在线阅读,更多相关《客户消费积分管理系统.docx(8页珍藏版)》请在冰豆网上搜索。
客户消费积分管理系统
中北大学
数据结构
课程设计说明书
学生姓
名:
学号:
学
院:
电子与计算机科学技术学院
专
业:
软件工程?
?
题
目:
客户消费积分管理系统
成
绩:
指导教
师:
秦品乐、梁志剑
2010年6月24~日
1.设计目的
数据结构课程设计的目的是,通过设计掌握数据结构课程中学到的基本理论
和算法并综合运用于解决实际问题中,它是理论与实践相结合的重要过程。
设计
要求学会如何对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯。
2.设计内容和要求
问题描述:
针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实
行不同程度的打折优惠。
基本要求:
1.采用一定的存储结构进行客户信息的存储;
2.对客户的信息可以进行修改、删除、添加;
3.能够根据消费情况进行客户积分的计算;
4.根据积分情况实行不同程度的打折优惠。
3•本设计所采用的数据结构
本系统用到的主要数据结构为数组和文件。
一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和消
费情况。
然后将数组写入文件,查询时读取文件,提取相应信息
4.功能模块详细设计
删
除
除
分别存储客户的顾客号、
积分打折操作
详细设计思想
改
在数组中定义3个字符串gukehao、xingbingxiaofei
姓名、消费额。
通过录入函数对3个字符串循环进行赋值,然后根据消费额使用if语句判断其折扣区间,复制完毕后存入文件
修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。
查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息客号、姓名、消费额、积分、折扣)。
删除函数根据用户输入客户号找到相应文件进行删除。
主函数为用户界面,1-4分别对应录入、修改、查找、删除函数,5为退出
源代码
/*定义3个存储客户信息的字符串*/
/*定义数组*/
#include""#include""#include""#include""#include""#include""#include""structscore{chargukehao[8];charmingzi[20];floatscore[6];}data,info[1000];inti,j,k=0;
/*无限循环知道用户选择停止*/
/*不能直接赋值,采用转换函数*/
/*判断折扣区间*/
chartemp[20],ch;
FILE*fp,*fp1;
voidluru()
{
if((fp=fopen("","ab+"))==NULL)
{
printf("cannotopenthisfile.\n");
getch();exit(0);
}
for(i=0;i>=0;i++)
{
printf("Pleaseinputgukehao:
");
gets;
printf("pleaseinputmingzi:
");
gets;
printf("Pleaseinputxiaofei:
");
gets(temp);[0]=atof(temp);
if[0]<=5000)
n=1;
else
if[0]<=10000&&[0]>5000)
n=;
else
n=;
fwrite(&data,sizeof(data),1,fp);/*写入文件*/printf("another?
(inputntomain/anykeytocontinue)\n");
止判断*/
ch=getch();
if(ch=='n'||ch=='N')
break;
}fclose(fp);
}
voidxiugai()
{
if((fp=fopen("","rb+"))==NULL||(fp1=fopen("","wb+"))==NULL)
{
printf("Cannotopenthisfile.\n");
exit(0);
}
printf("\nPleaseinputshuruxiugaigukehao:
");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)/*读取文件{
/*循环停
*/
j=atoi;
if(j==i)
/*根据输入数值确定客户号*/
{printf("gukehao:
%s\nmingzi:
%s\n",,;
printf("Pleaseinputmingzi:
");
gets;
printf("Pleaseinputxiaofei:
");
gets(temp);[0]=atof(temp);
}fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);/*0位移*/fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);/*取代原文件*/
}
fclose(fp);
fclose(fp1);
}
voidchazhao()
{
if((fp=fopen("","rb"))==NULL)
printf("\nCannotopenthisfile.\n");
exit(0);
}
printf("\nPleaseinputgukehaochakan:
");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1){
j=atoi;
if(i==j)
{
printf("gukehao:
%s\nmingzi:
%s\nxiaofei:
%f\njifen:
%f\nzhekou:
%f\n",,,[0],[0],n);
}
}getch();
}
voidshanchu()
{
if((fp=fopen("","rb+"))==NULL||(fp1=fopen("","wb+"))==NULL)
{
printf("\nopenwasfailed!
");
exit(0);
printf("\nPleaseinputgukehaowhichyouwanttodel:
");scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi;
if(j==i)
{
printf("Anykeywilldeletit.\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("");/*删除文件*/rename("","");
printf("Datadeletwassuccesful!
\n");
printf("Anykeywillreturntomain.");
main()
{
while
(1)
{
clrscr();/*清屏*/
printf("*========================================\n");
2>xiugai
4>chazhao
5>exit
printf("*1>luru
*\n");
printf("*3>shanchu
*\n");
printf("*
*\n");
printf("*
*\n");
printf("*
*\n");
printf("Pleaseinputwhichyouwant(1-5):
\n");ch=getch();
switch(ch)
case'1':
luru();break;
case'2':
xiugai();break;
case'3':
shanchu();break;
case'4':
chazhao();break;
case'5':
exit(0);
default:
continue;
}
}
}
5.结论
通过对系统的设计,发现文件相对于其他数据结构更便于修改和删除。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客户 消费 积分 管理 系统