版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象技术课程设计题 目: 客户消费积分管理系统 专 业: 计算机科学与技术 学 号: 121006427 姓 名: 王文静 _ 指导老师: 宋涛 _ 完成日期: 2013/6/01 目 录1 前言22 需求分析22.1要求22.2任务22.3运行环境22.4开发工具23 概要设计与详细设计33.1系统流程图34 编码与实现34.1分析44.2具体代码实现75 课程设计总结20参考文献201 前言 设计一个程序用于管理客户的消费情况,从而根据客户的消费积分对客户实行不同程度的打折优惠。对于客户消费积分管理系统利用线性表的链表存储方式,使用结构体指针将每一个用户联系起来。程序中设计了添加用户查
2、找用户修改用户删除用户统计客户数量的功能,充分满足对于管理系统的要求。2 需求分析2.1要求(1)用C+语言实现程序设计;(2)利用线性表的链表存储方式进行相关信息处理;(3)根据系统的功能要求设计函数。(4)画出功能模块的设计图;(5)系统的各个功能模块要求用函数的形式实现;(6)良好的人机互交环境,程序要有注释。2.2任务(1)设计添加用户函数,采用结构体将每个用户的信息封装,其中包括用户姓名name、用户省份证号ID、用户消费金额consume、积分integer的信息。输入一个客户信息后再开辟新的节点连接。(2)设计各个功能函数,实现对于客户,消费金额,消费积分的管理。(3)画出功能模
3、块的设计图;(4)编写代码;(5)程序分析与调试。2.3运行环境(1)WINDOWS2000/XP/7系统(2)TurboC2.0编译环境2.4开发工具C+语言3 概要设计与详细设计3.1系统流程图如图3.1所示。客户消费积分打折操作系统 添加 显示客户信息函数统计客户数量函数删除客户函数修改客户函数查找客户函数添加客户函数修改删除统计客户数量显示客户信息查找 图3.1 系统流程图4 编码与实现4.1分析(1)添加用户。函数void Getelem (cnode *head);采用类将每个用户的信息封装,其中包括用户姓名name、用户省份证号ID、用户消费金额consume、积分integer
4、的信息。输入一个客户信息后再开辟新的节点连接。如添加一个客户:定义指针p,用于申请空的结点空间,p=(cnode*)malloc(sizeof(cnode),利用函数输入姓名,身份证号,并保证身份证号的正确。(2)void Search(cnode *head,char ID);查找用户利用指针一个一个用户比对信息知道,直到找到正确信息并显示。(3)void Amend(cnode *head,char ID);查找并显示然后修改。(4)void Delete(cnode *head,char ID);查找显示并删除。(5)void Showall(cnode *head);遍历链表并显示客户
5、。(6)void count(cnode *head);遍历统计客户数量显示(7)double display_discount(double integer);计算客户折扣,每次显示用户信息调用一次保证客户为最新打折信息。4.2具体代码实现#include "iostream.h"#include "stdlib.h"#include "string.h"class C /定义一个C类public:char name20;char ID20;double consume;double integer;C *next;void Ini
6、tstack(C * &head)/*初始化链表*/head= (C*)malloc(sizeof(C); /开辟节点空间head->next=NULL;class A /定义一个A类,封装功能函数public:void Getelem (C *head);void Search(C *head,char ID);void Amend(C *head,char ID);void Delete(C *head,char ID);void Showall(C *head);void count(C *head);double display_discount(double integ
7、er);int main()A a; C *head; int choice;char y20;Initstack(head); do cout<<endl; cout<< " 客户消费 积分管理系统 "<<endl; cout<< " *"<<endl; cout<< " * *"<<endl; cout<< " * 主菜单 *"<<endl; cout<< " * 1 添加客户 *&
8、quot;<<endl; cout<< " * 2 查找客户 *"<<endl; cout<< " * 3 修改客户 *"<<endl; cout<< " * 4 删除客户 *"<<endl; cout<< " * 5 显示客户 *"<<endl; cout<< " * 6 统计客户 *"<<endl; cout<< " * 7 退出 *&qu
9、ot;<<endl; cout<< " * *"<<endl; cout<< " *"<<endl; cout<< "请输入您的选择(1,2,3,4,5,6):"<<endl; cin>>choice; if(choice=1) a.Getelem(head); /添加 else if(choice=2) cout<< "请输入您查找客户的身份证号:" cin>>y;while(strlen(y)
10、!=18)cout<<"身份证号码位数有误请重新输入(18位):"cin>>y; a.Search(head,y); /查找 else if(choice=3) cout<<" 请输入您想修改客户的身份证号:" cin>>y;while(strlen(y)!=18)cout<<"身份证号码位数有误请重新输入(18位):"cin>>y; a.Amend(head,y); /修改 else if(choice=4) cout<<endl; cout<
11、< "请输入你想要删除的客户的身份证号:" cin>>y; a.Delete(head,y); /删除 else if(choice=5) cout<<endl; a.Showall(head); /显示 else if(choice=6) cout<<endl; a.count(head); /统计 else if(choice=7) exit(1);while(choice<=7);return 0;void A:Getelem (C *head) C *p;double y;p=(C*)malloc(sizeof(C);
12、/*申请空的节点空间*/cout<<"请输入姓名:"cin>>p->name;cout<<"请输入身份证号(18位):"cin>>p->ID;while(strlen(p->ID)!=18)cout<<"身份证号码位数有误请重新输入(18位):"cin>> p->ID;cout<<"请输入消费金额:"cin>>p->consume;p->integer=p->consume;y=
13、display_discount(p->integer); /调用函数计算折扣cout<<"折扣:"<<y<<"折" p->next=head->next;head->next=p;void A: Search(C *head,char ID)C *p;double y;p=head;if(p->next=NULL)cout<<"没有客户!"elsewhile(p->next!=NULL)p=p->next;if(strcmp(ID,p->
14、ID)=0) /判断身份证号是否相同 cout<<"姓名:"<<p->name;cout<<"身份证号:"<<p->ID;cout<<"消费:"<<p->consume;cout<<"积分:"<<p->integer;y=display_discount(p->integer);cout<<"折扣:"<<y<<"折"
15、void A: Amend(C *head,char ID) /修改客户函数 C *p;double y,z;int choose,x;p=head;if(p->next=NULL)cout<<"没有客户!"elsewhile(p->next!=NULL)p=p->next;if(strcmp(ID,p->ID)=0) /判断身份证号是否相同 cout<<"姓名:"<<p->name;cout<<"身份证号:"<<p->ID;cout<
16、;<"消费:"<<p->consume;cout<<"积分:"<<p->integer;y=display_discount(p->integer);cout<<"折扣:"<<y<<"折"cout<<"请选择你要修改的1、姓名。2、身份证号。3、消费金额。"cin>>choose;if(choose=1)cout<<"请输入修改后姓名;"cin&
17、gt;>p->name;if(choose=2)cout<<"请输入修改后的身份证号:"cin>>p->ID;while(strlen(p->ID)!=18)cout<<"身份证号码位数有误请重新输入(18位):"cin>>p->ID;if(choose=3)cout<<"1.覆盖以前消费、2.续加上现在费用!请选择:"cin>>x;if(x=1)cout<<"请输入修改后的消费:"cin>>
18、;p->consume;elsecout<<"请输入续加金额:"cin>>z;p->consume+=z;cout<<"姓名:"<<p->name;cout<<"身份证号:"<<p->ID;cout<<"消费:"<<p->consume;cout<<"积分:"<<p->integer;y=display_discount(p->inte
19、ger);cout<<"折扣:"<<y<<"折"void A: Delete(C *head,char ID) /删除客户函数 C *p;int x;double y;p=head;if(p->next=NULL)cout<<"没有客户!"elsewhile(p->next!=NULL)head=p;p=p->next;if(strcmp(ID,p->ID)=0) /判断身份证号是否相同 cout<<"姓名:"<<p-&
20、gt;name;cout<<"身份证号:"<<p->ID;cout<<"消费:"<<p->consume;cout<<"积分:"<<p->integer;y=display_discount(p->integer);cout<<"折扣:"<<y<<"折"cout<<"你确认删除?1、确定。2、取消。请选择:"cin>>x;
21、if(x=1)head->next=p->next;cout<<"删除成功!"elsecout<<"删除失败!"void A: Showall(C *head) /显示所有客户函数 C *p;double y;p=head;if(p->next=NULL)cout<<"没有客户!"elsewhile(p->next!=NULL)p=p->next;cout<<"姓名:"<<p->name;cout<<&quo
22、t;身份证号:"<<p->ID;cout<<"消费:"<<p->consume;cout<<"积分:"<<p->integer;y=display_discount(p->integer);cout<<"折扣:"<<y<<"折"void A: count(C *head) /显示所有客户函数 C *p;int i=0;p=head;if(p->next=NULL)cout<<"没有客户!"elsewhile(p->next!=NULL)p=p->next;i+; cout&l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024专业版代理操盘合同
- 2024装修协议合同范本
- 2024设备转让合同范本设备购买合同范本2
- 南京银行学生贷款合同
- 城市轨道工程施工借款合同
- 2024苏州市全日制劳动合同
- 2024小卖部承包合同
- 2024自费养老合同范文
- 货物采购国内竞争性招标合同范例
- 2024不可撤销担保合同
- 2024年二手物品寄售合同
- 2023年辽阳宏伟区龙鼎山社区卫生服务中心招聘工作人员考试真题
- 三年级数学(上)计算题专项练习附答案集锦
- 高一期中家长会班级基本情况打算和措施模板
- 2024秋期国家开放大学专科《高等数学基础》一平台在线形考(形考任务一至四)试题及答案
- (完整版)PD、QC有限快充的知识讲解
- 习惯一积极主动
- 张矿集团人才发展规划
- 初中美术板报设计1ppt课件
- 浅谈智能化工程总包管理及智能化工程深化设计
- TPO26听力题目及答案
评论
0/150
提交评论