客户消费积分管理系统 课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中北大学

数据结构

课程设计说明书

学生姓名:郭世杰学号: 1021011743学院: 软件学院

专业: 软件开发与测试

题目: 客户消费积分管理系统

指导教师李瑞红

2011年12月20日

1. 设计任务概述(包括系统总体框图及功能描述)

功能描述:

针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。 1.采用数组和文件存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、添加; 3.能够根据消费情况进行客户积分的计算; 根据积分情况实行不同程度的打折优惠。

2. 本设计所采用的数据结构(如:链表、栈、树、图等)

本系统用到的主要数据结构为数组和文件。

一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和消费情况。 然后将数组写入文件,查询时读取文件,提取相应信息。

3.功能模块详细设计

3.1 详细设计思想

在数组中定义3个字符串number 、name 、xiaofei ,分别存储客户的顾客号、

积分打折操作系统

插 入

修 改

存 入 文 件

改 信 息

取 文 件

文件

姓名、消费额。通过录入函数对3个字符串循环进行赋值,然后根据消费额使用if语句判断其折扣区间,复制完毕后存入文件s_score.txt。修改函数首先按照用户输入的客户号找到相应存储文件,然后输出相应信息供客户阅览,最后提供修改命令,修改完毕后删除原文件,用新文件替代原文件。查找函数首先读取文件,然后根据用户输入客户号找到相应文件输出客户信息(顾客号、姓名、消费额、积分、折扣)。删除函数根据用户输入客户号找到相应文件进行删除。主函数为用户界面,1-4分别对应录入、修改、查找、删除函数,5为退出。

3.2 核心代码

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#include "conio.h"

#include "mem.h"

#include "ctype.h"

#include "alloc.h"

struct score

{

char number[8]; /*定义3个存储客户信息的字符串*/

char name[10];

float score[6];

float discount[8];

}data,info[100]; /*定义数组*/

int i,j,k=0;

char temp[20],temp1[20],ch;

FILE *fp,*fp1;

void luru()

{

if((fp=fopen("s_score.txt","ab+"))==NULL)

{

printf("cannot open this file.\n");

getch();

exit(0);

}

for(i=0;i>=0;i++) /*无限循环直到用户选择停止*/

{

printf("Please input number:");

gets(data.number);

printf("please input name:");

gets();

printf("Please input xiaofei:");

gets(temp);

data.score[0]=atof(temp); /*不能直接赋值,采用转换函数*/ if(data.score[0]<=5000) /*判断折扣区间*/

data.discount[0]=1;

else if(data.score[0]<=10000&&data.score[0]>5000)

data.discount[0]=0.9;

else

data.discount[0]=0.8;

fwrite(&data,sizeof(data),1,fp); /*写入文件*/

printf("another?(input n to main/anykey to continue)\n"); /*循环停止判断*/

ch=getch();

if(ch=='n'||ch=='N')

break;

} fclose(fp);

}

void xiugai()

{

if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+" ))==NULL)

{

printf("Cannot open this file.\n");

exit(0);

}

printf("\nPlease input shuru xiugai number:");

scanf("%d",&i); getchar();

while((fread(&data,sizeof(data),1,fp))==1) /*读取文件*/

{

j=atoi(data.number);

if(j==i) /*根据输入数值确定客户号*/

{

printf("number:%s\nname:%s\n",data.number,);

printf("Please input name:");

gets();

printf("Please input xiaofei:");

gets(temp1);

data.score[0]=atof(temp1);

相关文档
最新文档