版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上南京信息工程大学计算机与软件学院 网络工程(2)班实验内容客户消费积分管理系统问题描述:针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。基本要求:1. 采用一定的存储结构进行客户信息的存储;2. 对客户的信息可以进行修改、删除、添加;3. 能够根据消费情况进行客户积分的计算;4. 根据积分情况实行不同程度的打折优惠;实验分析1、概要设计 本系统用到的主要数据结构为数组和文件。 一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和消费情况。然后将数组写入文件,查询时读取文件,提取相应信息。2功能模块详细设计 程序总流程4
2、. 详细设计思想本程序运用链表对客户信息进行存储,首先对结点进行定义,结点中的数据域分别定义了消费者的消费号、身份证、消费价格、积分,其中身份证和消费价格用了字符型数组进行定义,然后定义了客户消费信息链表,每添加一个客户,先分配内存,再添加消费者的信息,之后将链表中最后一个指针指向该新的消费者,删除时,需先找到该消费者前面的消费者,直接将其指针指向删除消费者的下一个消费者,修改信息时,先找到该消费者,选择修改的内容,再进行修改,添加消费价格时,先找到该消费者,根据情况对增加或减少消费价格,并根据价格计算积分,打折时,根据消费者打折的要求,进行打折。详细设计和代码4.2 源代码#include&
3、lt;stdio.h>#include<malloc.h>#include<string.h>#include<stdlib.h>typedef struct Dataytpeint m; char Identity18;char Name20;float Price,Integral;Datatype;/链表结点的定义typedef struct ListnodeDatatype customer; struct Listnode *next;Listnode,*Linklist;int i=1;/消费者编号/创建链表void create(Link
4、list &h)float money;Linklist s,t;int j=1;char x;h=(Listnode *)malloc(sizeof(Listnode);h->next=NULL;t=h;while(j)s=(Listnode*)malloc(sizeof(Listnode);printf("消费号为%dn",i);s->customer.m=i;printf("请输入身份证号码:");scanf("%c",&x);scanf("%s",s->customer.I
5、dentity);printf("n");printf("请输入姓名:");scanf("%c",&x); scanf("%s",s->customer.Name);printf("n");printf("请输入价格:");scanf("%f",&money);printf("n");s->customer.Price=money;s->next=NULL;t->next=s;t=s;printf
6、("全部输完,请输入0,否则输入1.n");scanf("%d",&j);printf("n");i+;t->next=NULL;/插入void ListInsert(Linklist&h)int j=1;float money;char x; Linklist s,t; s=(Listnode *)malloc(sizeof(Listnode);printf("消费号为%dn",i+);printf("请输入身份证号码:");scanf("%c",&a
7、mp;x);scanf("%s",s->customer.Identity);scanf("%c",&x);printf("n");printf("Please enter the name:");scanf("%s",s->customer.Name);printf("n");printf("Please enter the Price:");scanf("%f",&money);printf("
8、n");s->customer.Price=money; t=h;while(t->next)t=t->next;t->next=s;t=s;s->next=NULL;printf("插入成功!n");/删除void Listdelete(Linklist&h,int m)int j=1; Linklist q=h,t; if(m=1) t=h; h=h->next; else while(j<m-1&&q->next!=NULL) q=q->next; j+; if(q->nex
9、t!=NULL&&j=m-1) t=q->next; q->next=t->next; else printf("位置参数不正确!n"); i-; free(t);printf("删除成功!n");/修改void change(Linklist&h,int m)int a,j=1;char s18;float n;Linklist t=h;printf("Change customer's Identity:1;Name:2;Price:3;Integral:4n");scanf(&q
10、uot;%d",&a);printf("n");while(j<m&&t->next!=NULL) t=t->next; j+; printf("OK!n");switch(a)case 1:printf("Please enter the Identity!");scanf("%s",t->customer.Identity);break;case 2:printf("Please enter the Name!");scanf(&qu
11、ot;%s",t->customer.Name);break;case 3:printf("Please enter the Price!n");scanf("%f",&n);t->customer.Price=n;break;case 4:printf("Please enter the Integra!n");scanf("%f",&n);t->customer.Integral=n;break;printf("修改成功!n");/计算价格,计算积
12、分void increase(Linklist &h,int m)int n=1,j;float money;Linklist p=h->next;printf("Money is increased?Yes,please enter1;No,please enter0.");scanf("%d",&j);printf("n");while(n<m&&p->next!=NULL) p=p->next; n+; printf("Please enter the money
13、:");scanf("%f",&money);printf("n"); if(j) p->customer.Price=p->customer.Price+money;else p->customer.Price=p->customer.Price-money;p->customer.Integral=p->customer.Price;printf("消费号为%dn",m);printf("身份证为%sn",p->customer.Identity);p
14、rintf("消费者姓名为%sn",p->customer.Name);printf("实际价格为%fn",p->customer.Price);printf("积分为%fn",p->customer.Integral);/计算打折之后的价格(积分在500至1000之间,免费1/100;1000至5000之间,免费3/100;大于5000,免费1/20)void discountsum(Linklist &h,int m)int j=1;Linklist p;p=h; while(j<=m&&a
15、mp;p->next!=NULL) p=p->next; j+; p->customer.Integral=p->customer.Price;if(p->customer.Integral>=500&&p->customer.Integral<=1000)p->customer.Price=p->customer.Price/100*99;elseif(p->customer.Integral>1000&&p->customer.Integral<=5000)p->cus
16、tomer.Price=p->customer.Price/100*97;elsep->customer.Price=p->customer.Price/20*19;printf("消费号为%dn",m);printf("身份证为%sn",p->customer.Identity);printf("消费者姓名为%sn",p->customer.Name);printf("实际价格为%fn",p->customer.Price);printf("积分为%fn",
17、p->customer.Integral);printf("打折之后价格:%fn",p->customer.Price);int main()int j=1;Linklist h;while(j)printf("创立消费者消费信息,请选择1n");printf("增添消费者信息,请选择2n");printf("删除消费者信息,请选择3n");printf("修改消费者信息,请选择4n");printf("增添消费价格并计算总消费,请选择5n");printf(&q
18、uot;根据积分计算打折后消费总价格,请选择6n");printf("退出,请选择0n");scanf("%d",&j);switch(j)case 0:break;case 1:create(h);break;case 2:ListInsert(h);break;case 3:printf("请输入删除的位置:");scanf("%d",&j);Listdelete(h,j);break;case 4:printf("请输入修改的位置:");scanf("%d",&j);change(h,j);break;case 5:printf("请输入消费者的消费号:");scanf("%d",&j);increase(h,j);break;case 6:printf("请输入消费者的消费号:");scanf("%d",&j);discountsum(h,j);break;default:printf(&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院老人入住接待制度
- 养老院环境卫生与绿化制度
- 《个性设计模板》课件
- 《目标市场定位分析》课件
- 2024年度外聘讲师知识产权保护与收益分配合同3篇
- 2024年生态修复项目育林施工协议模板版B版
- 脑卒中康复治疗方案
- 2024年版:戴悦与周日的特许经营合同
- 2025年莆田货运考试
- 2025年焦作货运资格证模拟考试题
- XX市XX医院无痛医院建设方案
- 新能源材料与器件PPT完整全套教学课件
- 张艺谋电影《活着》影评分析与课件展示
- 考后心态调整主题班会
- 东北育才中学2024年高二上数学期末经典试题含解析
- 2023年公需科目考试试题及答案
- 年产1w吨生物柴油工厂设计-毕业(论文)设计
- 谈谈青年大学生在中国式现代化征程上的使命与担当范文(6篇)
- DB13-T 5660-2023 水文水井分层抽水技术规范
- 二年级上册综合实践测试卷
- 互联网金融外文文献翻译
评论
0/150
提交评论