超市会员管理系统详细代码

合集下载

(完整word版)c语言程序设计超市管理系统

(完整word版)c语言程序设计超市管理系统

实验题目:超市管理系统一、实验目的1.熟悉 c 语言的编译连接和运行过程。

2.掌握 c 语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。

3.掌握if 语句及switch 语句的运用方法及嵌套应用方法。

4.掌握实现循环结构的三种语句while 、do-while. 、for 的使用。

5.掌握函数的定义方法和调用方法。

6.能够采用模块化思想调试程序。

二.实验内容1.编写程序并进行调试运行。

2.输入商品资料,并保存于文件。

每件商品包含信息如:商品号、商品名、商品类别、商品总量、商品上限和下限、商品价格、进货日期、生产日期、保质期等。

3.对已存入的商品信息进行更新操作,包括添加一件商品信息、删除某件商品信息和修改商品信息。

4.通过按商品名、商品种类、商品进货量的方式查询商品信息。

5.输入某商品号后对其利润进行统计、对进货价格相同的商品进行统计。

6 对商品的库存量和利润进行排序。

7.最后输出商品信息,供需要时打印。

二、需求分析1.该程序可用于对商品的基本信息的存储、更新、查询、输出、统计、排序等操作,以实现管理者对商品的管理和消费者对商品的了解。

2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多件商品信息,也可对个别商品信息进行适当的删除或修改。

以便随时更新商品信息。

3.程序中设计的查询功能可根据需要从若干数据中查询某件商品信息,并且可根据三种不同的方法查询:按商品名查询、按商品种类查询和按商品进货量查询。

以满足不同的需要。

四、概要设计1、方案设计对系统进行分析,给出结构图分析:系统要求实现许多的功能,因此遵循结构化程序设计思想来进行本系统的设计—自顶向下、逐步细化,将系统设计任务分解出许多子功能模块进行设计结构图如下:超市管理管理系统查询模块排序模块退出系统退出系统查询模块排序模块统计模块*更新模块*输出信息¥录入信息按商品名查询利润排行库存量排行退出系统第二类商品第一类商品退出系统2 •功能模块说明:对各个模块进行功能的描述(1).输入模块:录入需要管理的商品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。

超市常用的信息系统缩写

超市常用的信息系统缩写

超市常用的信息系统缩写
超市常用的信息系统缩写主要有以下几个:
1. POS:销售点终端系统(Point of Sale System)
2. ERP:企业资源计划(Enterprise Resource Planning)
3. WMS:仓库管理系统(Warehouse Management System)
4. CRM:客户关系管理(Customer Relationship Management)
5. SCM:供应链管理(Supply Chain Management)
6. OMS:订单管理系统(Order Management System)
7. PMS:采购管理系统(Purchase Management System)
8. EPOS:电子销售点终端系统(Electronic Point of Sale)
9. BI:商业智能(Business Intelligence)
10. EDI:电子数据交换(Electronic Data Interchange)
补充说明:这些缩写只是描述了一些常用的超市信息系统,并不代表所有的缩写。

如果您有具体需求,还可以提供更多信息。

超市管理系统数据字典

超市管理系统数据字典

超市管理系统数据字典一、概述超市管理系统数据字典是对超市管理系统中所涉及到的数据进行详细描述和定义的文档。

它包含了超市管理系统中使用的各种数据对象、数据属性、数据类型、数据关系以及数据操作等内容,为开发人员和系统使用者提供了清晰的数据定义和使用规范。

二、数据对象1. 商品(Product)- 商品编号(Product ID):唯一标识一个商品的编号,由系统自动生成。

- 商品名称(Product Name):商品的名称,用于标识商品的名称。

- 商品价格(Product Price):商品的销售价格,以货币单位表示。

- 商品库存(Product Stock):商品的当前库存数量。

- 商品描述(Product Description):对商品的详细描述信息。

2. 顾客(Customer)- 顾客编号(Customer ID):唯一标识一个顾客的编号,由系统自动生成。

- 顾客姓名(Customer Name):顾客的姓名,用于标识顾客的姓名。

- 顾客电话(Customer Phone):顾客的联系电话,用于与顾客进行沟通。

- 顾客地址(Customer Address):顾客的联系地址,用于配送商品或寄送账单。

3. 订单(Order)- 订单编号(Order ID):唯一标识一个订单的编号,由系统自动生成。

- 下单时间(Order Time):订单的下单时间,记录订单生成的时间。

- 订单状态(Order Status):订单的当前状态,如待付款、待发货、已完成等。

- 订单金额(Order Amount):订单的总金额,包括商品价格、运费等。

- 顾客编号(Customer ID):关联到下单顾客的顾客编号。

4. 供应商(Supplier)- 供应商编号(Supplier ID):唯一标识一个供应商的编号,由系统自动生成。

- 供应商名称(Supplier Name):供应商的名称,用于标识供应商的名称。

- 供应商联系人(Supplier Contact):供应商的联系人姓名。

C语言 超市收银系统

C语言 超市收银系统

/*—-——-———-—-—-———-——--——--—--———-—--—-——时间:2015—7—1 16:44:21吴俊龙C语言专周设计超市收银系统--————--——-—---—-——-———-————---—--—-—--*/#include 〈stdio.h>#include <windows。

h〉#include 〈string。

h>int menu1(void);//主页面int menu2(void);//商品管理页面int menu3(void);//退出页面int menu4(void);//添加商品信息int menu5(void);//商品信息浏览int menu6(void);//商品信息修改int menu7(void);//商品信息查询int menu8(void);//商品信息删除int menu9(void);//结账页面int sign(void);//欢迎页面struct ima{int id;//商品编号char name[20];//商品的名称char produce[30]; //商品的产地int number; //商品的数量int money; //商品的价格};int len = 0;struct ima thing[50];struct ima *p;int menu1(void)//主页面{int n;system("cls");printf(”\n\n\n");printf(”\t\t —--—-------——-—-—-—--————--—-———-—-—---—— \n");printf(”\t\t| 欢迎使用结账管理系统|\n”);printf("\t\t|---—-—-—--—-—---—————------—--—----———---|\n");printf(”\t\t| |\n");printf("\t\t| 1。

超市管理系统数据字典

超市管理系统数据字典

超市管理系统数据字典1. 概述超市管理系统是一个用于管理超市日常运营的软件系统。

该系统涵盖了超市各个部门的功能和业务流程,包括商品管理、库存管理、销售管理、会员管理等。

本文将详细介绍超市管理系统中涉及的数据字典,包括各个数据表的字段、数据类型、约束条件等信息。

2. 数据字典2.1 商品表(Product)字段名数据类型约束条件说明--------------------------------------------------------------商品ID int 主键,自增商品唯一标识符商品名称 varchar(50) 非空商品的名称商品分类 varchar(50) 非空商品所属的分类商品价格 decimal(8,2) 非空,大于0 商品的销售价格商品库存 int 非空,大于等于0 商品的当前库存量2.2 供应商表(Supplier)字段名数据类型约束条件说明--------------------------------------------------------------供应商ID int 主键,自增供应商唯一标识符供应商名称 varchar(50) 非空供应商的名称联系人 varchar(50) 非空供应商联系人姓名联系电话 varchar(20) 非空供应商联系人电话地址 varchar(100) 非空供应商地址2.3 库存表(Inventory)字段名数据类型约束条件说明--------------------------------------------------------------库存ID int 主键,自增库存唯一标识符商品ID int 外键,非空库存所属商品的ID库存数量 int 非空,大于等于0 库存中该商品的数量入库时间 datetime 非空商品入库的时间供应商ID int 外键,非空供应商的ID2.4 销售表(Sales)字段名数据类型约束条件说明--------------------------------------------------------------销售ID int 主键,自增销售记录的唯一标识符商品ID int 外键,非空销售商品的ID销售数量 int 非空,大于0 销售的商品数量销售时间 datetime 非空销售的时间销售金额 decimal(8,2) 非空,大于0 销售的总金额会员ID int 外键,可空购买商品的会员ID2.5 会员表(Member)字段名数据类型约束条件说明--------------------------------------------------------------会员ID int 主键,自增会员唯一标识符会员姓名 varchar(50) 非空会员姓名联系电话 varchar(20) 非空会员联系电话注册日期 date 非空会员注册的日期积分 int 非空,大于等于0 会员的积分3. 数据字典的作用数据字典是超市管理系统中的重要文档,它对系统中涉及的数据进行了详细的描述和定义,有助于开发人员理解和使用系统中的数据。

超市管理系统设计代码

超市管理系统设计代码

import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import javax.swing.event.*;import javax.swing.*;import java.sql.*;import java.util.*;import java.io.*;class Myframe1 extends JFrame //设置主界面{JFrame f=new JFrame();JLabel L1,L2;JButton btn1,btn2,btn3,btn4;public Myframe1(){f=new JFrame("主界面");L1=new JLabel("超市商品管理系统欢迎您");L1.setFont(new Font("TimesRoman",Font.BOLD,18));L2=new JLabel("您辛苦了~~~~");L2.setFont(new Font("TimesRoman",Font.BOLD,18));btn1=new JButton("进货管理系统");btn2=new JButton("售货管理系统");btn3=new JButton("商品信息管理");btn4=new JButton("管理系统帮助");Container container=this.getContentPane();container.setLayout(new GridLayout(9,3,0,50));for(int i=0;i<3;i++)container.add(new JLabel());container.add(new JLabel()); container.add(L1);container.add(new JLabel());container.add(new JLabel()); container.add(btn1);container.add(new JLabel());container.add(new JLabel()); container.add(btn2);container.add(new JLabel());container.add(new JLabel()); container.add(btn3);container.add(new JLabel());container.add(new JLabel()); container.add(btn4);container.add(new JLabel());container.add(new JLabel()); container.add(L2);container.add(new JLabel());container.setBackground(Color.cyan);f.add(container);f.setLocation(60,60);f.setSize(750,650);f.setVisible(true);Montior bn=new Montior();btn1.addActionListener(bn);btn2.addActionListener(bn);btn3.addActionListener(bn);btn4.addActionListener(bn);}class Montior implements ActionListener{public void actionPerformed(ActionEvent e1) {if(e1.getSource()==btn1){new Myframe2();}if(e1.getSource()==btn2){new Myframe3();}if(e1.getSource()==btn3){new Myframe4();}if(e1.getSource()==btn4){new bangzhu();}}}}class bangzhu extends JFrame{JTextPane ta=new JTextPane();JScrollPane sp=new JScrollPane(ta);public bangzhu(){super("管理系统帮助");ta.setFont(new Font("TimesRoaman",Font.BOLD+Font.PLAIN,20));ta.setText(" 1.初次进入登录系统,系统中没有售货员信息,可以进入系统但是为了以后能够使用方便\n"+" 还是增加售货员信息,以便下次登录。

超市管理系统数据字典

超市管理系统数据字典

超市管理系统数据字典1. 介绍超市管理系统是一种用于管理超市日常运营的软件系统。

它帮助超市管理人员更好地管理商品库存、销售数据、员工信息等各项数据,以提高超市的运营效率和管理水平。

本文将详细介绍超市管理系统中的数据字典,包括各个数据表的字段、数据类型、约束条件等信息。

2. 数据字典2.1 商品表(Product)字段名数据类型约束条件说明product_id int 主键,自增商品IDproduct_name varchar(50) 非空商品名称category_id int 外键商品分类IDprice decimal(8,2) 非空,大于0 商品价格stock int 非空,大于等于0 商品库存量2.2 商品分类表(Category)字段名数据类型约束条件说明category_id int 主键,自增分类IDcategory_name varchar(50) 非空分类名称2.3 销售记录表(SalesRecord)字段名数据类型约束条件说明product_id int 外键商品IDquantity int 非空,大于0 销售数量sale_date date 非空销售日期customer_name varchar(50) 非空客户姓名2.4 员工表(Employee)字段名数据类型约束条件说明employee_id int 主键,自增员工ID employee_name varchar(50) 非空员工姓名position varchar(50) 非空员工职位salary decimal(8,2) 非空,大于0 员工薪资2.5 供应商表(Supplier)字段名数据类型约束条件说明supplier_id int 主键,自增供应商ID supplier_name varchar(50) 非空供应商名称contact_info varchar(50) 非空供应商联系信息2.6 采购记录表(PurchaseRecord)字段名数据类型约束条件说明record_id int 主键,自增记录IDsupplier_id int 外键供应商IDquantity int 非空,大于0 采购数量purchase_date date 非空采购日期3. 数据字典说明3.1 商品表(Product)商品表用于存储超市中的商品信息,包括商品ID、商品名称、商品分类ID、商品价格和商品库存量等字段。

(店铺管理)超市管理系统完整+源代码最全版

(店铺管理)超市管理系统完整+源代码最全版

(店铺管理)超市管理系统完整+源代码有壹个小型超市,出售N(N>=10)种商品,设计且实现壹个系统,完成下列功能:1.保存及输出。

超市中的各种商品信息保存在指定文件中,能够把它们输出显示。

2.计算且排序。

计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出壹位小数),将每类商品按平均价从大到小的顺序排序打印出来。

3.统计。

统计输出库存量低于100的货号及类别。

统计输出有俩种之上(含俩种)商品库存量低于100的商品类别。

1.2总体结构本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

1)主模块:通过调用各分模块实现功能;2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立壹个新结构体,为链表存信息用,且且将信息保存在指定的文件中;4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格和库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别;8)统计模块2:统计商品库存量有2种之上(含2种)低于100的商品类别。

附录(程序清单)#include"stdio.h"/*输入,输出头文件*/#include"stdlib.h"/*申请空间头文件*/#include"string.h"/*对字符串加工头文件*/#include"conio.h"/*清屏头文件*/FILE*fp;intn=0;/*定义文件指针类型*/inti,j,a[4],m;/*定义整数类型*/floataver[4],sum[4],g[4],h;/*定义浮点类型*/charc[5]="elec";/*定义字符数组类型*/chard[5]="comm";/*定义字符数组类型*/chare[5]="food";/*定义字符数组类型*/charf[5]="offi";/*定义字符数组类型*/structgood/*定义结构体*/{intnum;/*商品编号*/charname[20];/*商品名称*/charkind[40];/*商品类型*/floatprice;/*商品价格*/charunit[10];/*商品单位*/intquantity;/*商品数量*/structgood*next;/*定义结构体指针类型*/}*head,*p1,*p2;structgood*createlist()/*创建链表函数*/{structgood*head1,*p1,*p2;/*定义结构体指针类型*/if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}head1=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/ p1=head1;p2=head1;printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf("(以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d%s%s%f%s%d",&p1->num,p1->name,p1->kind,&p1->price,p 1->unit,&p1->quantity);/*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d%s%s%f%s%d",p1->num,p1->name,p1->kind,p1->price,p 1->unit,p1->quantity);/*将商品信息写入文件*/while(1){p1=(structgood*)malloc(sizeof(structgood));/*申请新空间*/printf("*********************************************\n");printf("请输入信息:编号,名称,类型,价格,单位,数目\n");printf("(以输入“-1”表示结束输入)\n");printf("*********************************************\n");printf("____________________\n");scanf("%d",&p1->num);if(p1->num==-1)/*申请空间结束条件*/{printf("____________________\n\n");fprintf(fp,"%d",-1);fclose(fp);returnhead1;/*返回头指针*/}scanf("%s%s%f%s%d",p1->name,p1->kind,&p1->price,p1->unit,&p1-> quantity);/*输入商品信息*/printf("________________\n");fprintf(fp,"%d%s%s%f%s%d",p1->num,p1->name,p1->kind,p1->price,p 1->unit,p1->quantity);/*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}structgood*paixu(structgood*head2)/*链表排序函数*/ {structgood*p6,*p7,*r,*s;/*定义结构体指针类型*/for(i=0;i<=3;i++)/*赋初值值*/{a[i]=0;sum[i]=0;aver[i]=0;}p6=(structgood*)malloc(sizeof(structgood));/*申请新空间*/ p6->next=head2;head2=p6;while(p6->next!=NULL)/*判断循环结束条件*/{p7=p6->next;r=p6;while(p7->next!=NULL)/*判断循环结束条件*/{if((p7->next->price)>(r->next->price))/*判断是否调换*/ r=p7;p7=p7->next;}if(p6!=r)/*判断循环结束条件*/{s=r->next;/*指针调换*/r->next=s->next;s->next=p6->next;p6->next=s;}p6=p6->next;}p6=head2;head2=head2->next;free(p6);/*释放第壹个无效空间*/returnhead2;}voidjisuan(){p1=head;do{if(strcmp(p1->kind,c)==0)/*判断是否为电器类型*/{sum[0]=sum[0]+(p1->price)*(p1->quantity);/*求电器总价*/a[0]=a[0]+p1->quantity;/*求电器总件数*/}if(strcmp(p1->kind,d)==0)/*判断是否为日用品类型*/{sum[1]=sum[1]+(p1->price)*(p1->quantity);/*求日用品总价*/ a[1]=a[1]+p1->quantity;/*求日用品总件数*/}if(strcmp(p1->kind,e)==0)/*判断是否为办公用品类型*/{sum[2]=sum[2]+(p1->price)*(p1->quantity);/*求办公用品总价*/a[2]=a[2]+p1->quantity;/*求办公用品总件数*/}if(strcmp(p1->kind,f)==0)/*判断是否为食品类型*/{sum[3]=sum[3]+(p1->price)*(p1->quantity);/*求食品总价*/ a[3]=a[3]+p1->quantity;/*求食品总件数*/}p1=p1->next;}while(p1!=NULL);/*遍历链表结束条件*/for(i=0;i<4;i++)aver[i]=sum[i]/a[i];/*求每类商品平均价*/printf("****************************************************\n"); printf("商品类型\t平均价\t总库存量\n");printf("****************************************************\n"); printf("____________________________________________________\n"); printf("电器总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[0],aver[0],a[0]);printf("____________________________________________________\n");printf("日用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[1],aver[1],a[1]);printf("____________________________________________________\n"); printf("食品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[2],aver[2],a[2]);printf("____________________________________________________\n"); printf("办公用品总价值:%0.1f\t平均价:%0.1f\t总库存量:%d\n",sum[3],aver[3],a[3]);printf("____________________________________________________\n"); }voidshuchu()/*输出商品信息函数*/{do{structgood*p3,*p4,*p5;/*定义结构体指针类型*/intn=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goodsmessage.txt","rb+"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}head=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/p3=head;fscanf(fp,"%d%s%s%f%s%d",&p3->num,p3->name,p3->kind,&p3->pric e,p3->unit,&p3->quantity);/*从文件中写到链表*/while(1){p4=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/fscanf(fp,"%d",&p4->num);if(p4->num!=-1)/*判断循环结束条件*/{fscanf(fp,"%s%s%f%s%d",p4->name,p4->kind,&p4->price,p4->unit,&p4 ->quantity);/*从文件中写到链表*/p4->next=NULL;p3->next=p4;p3=p4;}else{p3->next=NULL;break;}}fclose(fp);/*关闭文件*/p3=head;while(p3!=NULL){printf("%d%s%s%0.1f%s%d\n\n",p3->num,p3->name,p3->kind,p3->pric e,p3->unit,p3->quantity);printf("__________________________________\n");p3=p3->next;}printf("**********************************\n");printf("//////////////////////////////////\n");while(n!=4){p3=head;printf("**********************************\n");printf("1添加商品信息\n");printf("2删除某商品信息\n");printf("3修改某商品信息\n");printf("4返回(当你完成了对某壹商品的添加、删除或者修改后请按4返回)\n"); printf("**********************************\n");scanf("%d",&n);if(n==1)/*添加商品信息*/{printf("请输入商品编号名称类型价格单位数目\n");printf("**********************************\n");p4=(structgood*)malloc(sizeof(structgood));/*申请空间*/scanf("%d%s%s%f%s%d",&p4->num,p4->name,p4->kind,&p4->price,p 4->unit,&p4->quantity);/*输入商品信息*/p4->next=NULL;while(p3->next!=NULL)/*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}while(p3!=NULL){fprintf(fp,"%d%s%s%f%s%d",p3->num,p3->name,p3->kind,p3->price,p 3->unit,p3->quantity)/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp);/*关闭文件*/printf("**********************************\n"); printf("__________________________________\n"); printf("------------请按4返回-------------\n"); printf("__________________________________\n"); printf("**********************************\n"); }if(n==2)/*删除商品*/{printf("**********************************\n"); printf("请输入需要删除的商品编号\n");printf("**********************************\n"); scanf("%d",&p);printf("**********\n");printf("1确认删除\n2取消删除\n");printf("**********\n");scanf("%d",&r);if(r==1){if((head->num)==p){head=head->next;free(p3);/*释放空间*/}else{p4=head;p3=p4->next;while(p3!=NULL)/*判断循环结束条件*/ {if((p3->num)==p){p5=p3->next;free(p3);/*释放空间*/p4->next=p5;break;}p3=p3->next;p4=p4->next;}}if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}p3=head;while(p3!=NULL)/*判断循环结束条件*/{fprintf(fp,"%d%s%s%f%s%d",p3->num,p3->name,p3->kind,p3->price,p 3->unit,p3->quantity);/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp);/*关闭文件*/}if(r==2)continue;/*继续循环*/printf("**********************************\n"); printf("__________________________________\n"); printf("------------请按4返回-------------\n"); printf("__________________________________\n"); printf("**********************************\n"); }if(n==3)/*修改某商品信息*/{printf("请输入需要修改的商品编号\n");scanf("%d",&q);while(p3!=NULL)/*判断循环结束条件*/{if((p3->num)==q)/*判断是否为所需要修改的商品*/{printf("请输入商品单价和库存量(如果单价不变请输入原来的单价)\n"); scanf("%f%d",&p3->price,&p3->quantity);/*输入商品价格和库存量*/}p3=p3->next;}if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {printf("cannotopenthefile");exit(0);/*结束程序*/}p3=head;while(p3!=NULL)/*判断循环结束条件*/{fprintf(fp,"%d%s%s%f%s%d",p3->num,p3->name,p3->kind,p3->price,p 3->unit,p3->quantity);/*将商品信息写入文件*/p3=p3->next;}fprintf(fp,"%d",-1);fclose(fp);/*关闭文件*/printf("**********************************\n"); printf("__________________________________\n"); printf("------------请按4返回-------------\n"); printf("__________________________________\n"); printf("**********************************\n"); }if(n==4)/*退出*/break;}printf("**********\n");printf("1继续修改\n---------\n2返回\n"); printf("**********\n");scanf("%d",&p);if(p==1)continue;/*继续循环*/if(p==2)break;/*跳出循环*/}while(n!=2);fclose(fp);/*关闭文件*/}voidprintf0(structgood*p)/*遍历链表且打印电器类商品函数*/{structgood*p3;/*定义结构体指针类型*/p3=p;while(p3!=NULL)/*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,c)==0)/*判断商品类型是否为电器类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3 ->price,p3->unit,p3->quantity);/*输出电器类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}voidprintf1(structgood*p)/*遍历链表且打印日用品类商品函数*/{structgood*p3;/*定义结构体指针类型*/p3=p;while(p3!=NULL)/*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,d)==0)/*判断商品类型是否为日用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3 ->price,p3->unit,p3->quantity);/*输出日用品类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}voidprintf2(structgood*p)/*遍历链表且打印办公用品类商品函数*/{structgood*p3;/*定义结构体指针类型*/p3=p;while(p3!=NULL)/*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,e)==0)/*判断商品类型是否为办公用品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3 ->price,p3->unit,p3->quantity);/*输出办公用品类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}voidprintf3(structgood*p)/*遍历链表且打印食品类商品函数*/{structgood*p3;/*定义结构体指针类型*/p3=p;while(p3!=NULL)/*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,f)==0)/*判断商品类型是否为食品类型*/{printf("%d\t%s\t%s\t%0.1f\t%s\t%d\n",p3->num,p3->name,p3->kind,p3 ->price,p3->unit,p3->quantity);/*输出食品类商品信息*/printf("________________________________________________\n");}p3=p3->next;}return;}voidshunxudayin(){g[i]=aver[i];/*将平均价赋给新数组*/for(j=0;j<3;j++)/*将新数组用冒泡排序法排序*/for(i=j+1;i<4;i++){if(g[j]<g[i]){h=g[j];g[j]=g[i];g[i]=h;}}printf("\n****************************\n");printf("商品平均价格排序表(从高到低)\n");printf("****************************\n");printf("________________________________________________\n"); printf("编号\t名称\t类别\t单价\t单位\t数量\n");printf("________________________________________________\n");for(i=0;i<4;i++){if(aver[i]==g[j])/*判断每类商品平均价格的先后顺序*/ switch(i){case0:printf0(head);/*调用遍历链表且打印电器类商品函数*/ break;case1:printf1(head);/*调用遍历链表且打印日用品类商品函数*/ break;case2:printf2(head);/*调用遍历链表且打印办公用品类商品函数*/ break;case3:printf3(head);/*调用遍历链表且打印食品类商品函数*/ break;}}voidtongji1(){p1=head;printf("\n************************\n");printf("库存量低于100的货名及类别\n");printf("************************\n");printf("________________________\n");printf("商品名称\t商品类型\n");printf("________________________\n");while(p1!=NULL)/*判断遍历链表循环结束条件*/{if(p1->quantity<100)/*判断库存量是否小于100*/{printf("%s\t%s\n",p1->name,p1->kind);/*输出商品名称及类别*/ printf("________________________\n");p1=p1->next;}}voidtongji2(){printf("\n**********************************************\n");printf("商品库存量有2种之上(含2种)低于100的商品类别:\n");printf("**********************************************\n");printf("________\n");if((a[0]<100)&&(a[0]>=2))/*判断电器类库存量是否为2种之上(含2种)低于100*/{printf("电器\n");printf("________\n");}if((a[1]<100)&&(a[1]>=2))/*判断日用品类库存量是否为2种之上(含2种)低于100*/printf("日用品\n");printf("________\n");}if((a[2]<100)&&(a[2]>=2))/*判断食品类库存量是否为2种之上(含2种)低于100*/{printf("食品\n");printf("________\n");}if((a[3]<100)&&(a[3]>=2))/*判断办公用品类库存量是否为2种之上(含2种)低于100*/{printf("办公用品\n");printf("________\n");}}intmain(intargc,char*argv[]){structgood*p1,*p2;/*定义结构体指针类型*/while(1){printf("***********************************************\n"); printf("1----------输出查见或者修改已存信息-----------\n"); printf("-----------------------------------------------\n"); printf("2-----重新输入新信息(且且删除原有信息)------\n"); printf("-----------------------------------------------\n"); printf("3统计商品信息(如果您仍没有查见过信息请先按1)\n"); printf("-----------------------------------------------\n"); printf("4-------------------退出---------------------\n");printf("***********************************************\n"); scanf("%d",&m);if(m==1)shuchu();/*调用输出信息函数*/if(m==2){system("cls");head=createlist();/*调用建立链表函数*/}if(m==3){printf("统计结果如下\n");head=paixu(head);/*调用链表排序函数*/ jisuan();/*调用计算函数*/shunxudayin();/*调用顺序打印函数*/ tongji1();/*调用统计1函数*/tongji2();/*调用统计2函数*/}if(m==4){p1=head;while(p1!=NULL)/*判断遍历链表结束条件*/ {p2=p1->next;free(p1);/*释放空间*/ p1=p2;}break;}}return0;/*结束程序*/ }。

会员管理系统开发与实现

会员管理系统开发与实现

2010 届本科(专科)毕业设计(论文)题目:会员管理系统开发与实现班级:学号:************姓名: XXX指导教师: XXX2012年3月会员管理系统开发与实现学生姓名: XXX学号:************所在函授站:班级:指导教师: XXX完成日期:2012年 4 月目录摘要 (3)第一章、绪论 (4)1.1开发背景与现状 (4)1.2开发设计的意义 (4)第二章、系统分析 (4)2.1可行性分析 (4)2.2系统需求分析 (5)2.3系统功能图 (6)第三章、详细设计 (6)3.1数据库设计 (6)3.1.1 数据库表格设计 (7)3.2模块设计 (7)3.2.1 管理员模块设计 (7)3.2.2 几个主要模块 (8)第四章、编码、实现与测试 (12)4.1数据库连接 (12)4.2系统实现 (13)4.3系统测试 (19)第五章、总结 (20)参考文献 (21)致谢 (22)摘要:管理信息系统已深入现代社会的各行各业,由于计算机技术的迅速发展和普及,信息管理系统MIS事实上已成为计算机管理信息系统,超市会员管理系统就是一个典型的管理信息系统,它可以让超市管理工作变的更轻松。

本毕业设计的任务就是设计一个超市管理系统。

其开发过程主要包括前端应用程序的开发和后台数据库的建立和维护两个方面。

主要任务就是建立基本数据,后台程序主要负责的都是管理上的功能。

经过分析,本系统运用了Microsoft SQL Access 2003为后台数据库,以Visual 2008为前端开发工具,系统实现了系统维护、会员管理、消费管理、商品管理、信息查询等必需的功能,其操作简单,界面友好,运行比较稳定,适用于中、小型超市会员管理。

关键词:会员管理系统;数据库管理系统;Access;Visual Studio 2008会员管理系统开发与实现第一章绪论1.1 开发背景与现状随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。

超市商品管理系统源代码

超市商品管理系统源代码
button2.addActionListener(this);
sM.add(label1);
sM.add(label2);
sM.add(field1);
sM.add(field2);
sM.add(button1);
sM.add(button2);
for(int i=0;i<4;i++)
dispose();
}
if(p.getSource()==pS[3])
{
View3 frame=new View3();
dispose();
}
if (p.getSource()==button2)
{
String numb=field2.getText();
}
}
if(p.getSource()==pS[0])
{
View2 frame=new View2();
dispose();
}
if(p.getSource()==pS[2])
{
Frm_Main frame=new Frm_Main();
private JButton[] pS={new JButton("销售界面"),
new JButton("销售管理"),
new JButton("商品管理"),
new JButton("用户管理")}; //personty 按钮
rs=sql.executeQuery("SELECT count(goodsnum) FROM information where goodsnum='"+num+"'");

超市会员管理系统详细代码

超市会员管理系统详细代码

数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。

具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。

数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。

根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:(1). 用户登录信息数据表(Login):(用户账号,密码,登录身份);(2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址);(3). 职员基本信息数据表(Employee):(职员号,职员姓名,职员职位);(4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣);2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

各种实体具体的描述E-R图如下。

1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。

如图3-11所示,用户登录信息实体E-R图。

图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图。

图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图。

图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图。

超市会员管理系统

超市会员管理系统

超市会员管理系统超市会员管理系统要求建立起数据一致性和完整性强、数据安全性好的库;本系统主要是对超市会员和职员的基本信息进行有序管理,主要包括的功能模块有:会员信息管理、积分信息管理、基本信息管理、统计、系统信息等;该系统是在Microsoft Visual C++ 的开发工具前提下进行的,运用Visual C++语言,连接了Microsoft Access 2003数据库,进行数据库的管理;简单目录:一.可行性研究1.技术可行性2.经济可行性3.操作可行性二.功能需求1.会员信息2.积分信息3.基本信息管理4.统计5.系统信息6.退出系统7.系统工具栏三.环境需求四.总体设计1.系统登录权限2.系统结构图3.各具体功能模块图4.基本信息管理模块5.统计6.系统信息五.数据库设计1.系统数据库分析2.数据库概念结构设计3.系统数据库的设计4.表之间的关系六.详细设计与实现1.系统首页2.登录页面3.会员信息模块4.积分信息模块5.基本信息管理模块6.统计7.系统信息8.退出系统9.数据库连接设计与实现可行性研究可行性研究并不是解决问题,而是确定问题是否值得去解决,就是用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究最根本的任务是对以后的行动方针提出建议;以下进行对超市会员管理系统的可行性分析:1. 技术可行性:系统使用VC++作为开发工具,数据库使用Microsoft Access;支持的操作系统有Windows XPSP2/Windows 2000SP4/Windows Server 2003SP1等;2. 经济可行性:开发本系统为会员,职员和管理员带来了极大的方便,节省了人力、物力、技术、资金等方面的花费,所以今后获得的经济效益一定会大于开发成本;3. 操作可行性:超市会员管理系统简单易用,对用户的计算机水平要求不高,对于一般用户很容易学会;同时用计算机的高速度和自动化来替代手工的巨大工量,用计算机的高准确性来避免手工的错误和误差;功能需求功能模块的划分需要遵循低耦合、高内聚的原则,根据这一原则对该超市会员管理系统进行功能模块划分,下面详细叙述;本系统针对三种层次的权限的用户:管理员、普通职员、会员;对于想使用超市会员管理系统的用户,可以利用自己的登录账号,密码,用户权限登录该系统;进入系统后跟据自己权限执行相应权限的操作;1. 会员信息单击子菜单中的查看基本信息,可以查看会员的基本信息;单击子菜单中的修改会员密码,可以修改会员的登录密码;2. 积分信息单击子菜单中的积分查询,可以查看该用户的会员积分;单击子菜单中的积分兑换,可以进行积分兑换;单击子菜单中的消费加分,可以根据会员的消费金额增加其积分;此操作只能由超市职员或管理员进行;对于会员,其权限不允许对该模块操作;单击子菜单中的优惠讯息,可以查看超市的积分优惠政策;3. 基本信息管理本模块的功能:职员信息管理和会员信息管理;该模块功能只允许超市职员和管理员进行操作;1职员信息管理:超市职员只能使用职员信息子菜单中的查询和修改密码功能;管理员可对职员信息管理的全部功能进行操作:查询职员信息、修改职员信息、添加、删除职员信息;2会员信息管理:该模块可对会员信息进行查询、添加、修改、删除;有超市职员或管理员执行,不允许会员操作;4. 统计超市职员或管理员成功登录后,可以通过此模块对会员的积分情况进行统计分析,得到分析结果;5. 系统信息用户成功登录后,可以点击系统信息下的帮助和关于子菜单;该模块功能可以帮助用户了解该系统的使用;单击子菜单中的用户帮助,系统弹出帮助文件,用户可以通过阅读帮助文件使用该系统;单击子菜单中的关于,用户可以了解该系统版本及版权;6. 退出系统用户登录成功后,操作进行完毕即可点击退出菜单将退出系统,同时关闭数据库;7. 系统工具栏用户登录成功后,点击工具栏按钮可以快捷进入积分查询、会员查询、会员密码修改、关于系统及退出系统模块;此外,在开发过程中,为工具栏按钮添加了鼠标提示功能;这样能使用户更方便的获取工具栏信息;环境需求系统开发平台:Microsoft Visual C++系统开发语言:VC++数据库系统:Microsoft Access 2003运行平台:Windows XPSP2/Windows 2000SP4/Windows Server 2003SP1 运行环境:Microsoft Visual C++开发工具简介:C++是一种使用非常广泛的计算机编程语言;C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言;它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格;C++ 是C语言的一个高级版本,支持中文,界面高级,不需要启动母文件即可运行程序;Visual C++所使用的编程语言是C/C++;Visual C++继承了C/C++语言的简单、高效、易用的优点,代码结构清晰,可读性好,并且融入了面向对象、过程可视化、事件驱动等软件开发的最新技术,是C/C++语言编程技术发展到一个新的高度;Visual C++是Microsoft 公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境;Visual C++ 是在以往版本不断更新的基础上形成的,由于其功能强大、灵活性好、完全可扩展,以及具有强有力的Internet支持,在各种C++语言开发工具中脱颖而出,成为目前最为流行的C++语言集成环境;Visual C++ 分为标准版、专业版和企业板三种,但其基本功能是相同的;数据库是一种数据管理技术,是计算机科学的重要分支;它具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,许多较大的系统都是建立在数据库设计的基础上的;数据库的管理系统主要有Access数据库管理系统、SQL Server数据库管理系统、Oracle数据库管理系统等;SQL是Structured Query Language结构化查询语言的缩写;SQL已经成为了最流行的关系查询语言;用户如果要想开发和使用数据库,就必须先掌握结构化查询语言SQL;SQL的功能十分强大,其主要特点如下;1 SQL是非结构化语言,使用SQL查询数据库时,只需告诉它做什么而不用告诉它如何去做.2 SQL本身不提供任何程序流程控制结构,而是通过PL/SQL提供SQL 语言的过程化功能;3 SQL提供相对固定的数据类型,用户一般不需要进行扩展,4 SQL本身是非常灵活的,实现同一目的,可以有很多不同的方法;SQL语句可以分为四大类① 数据定义语言DDL,用于定义数据结构;② 数据操作语言DML,用户检索和修改数据;③ 数据控制语言DCL,用于规定数据库用户的各种权限;④ 数据库事务处理,用来保证数据库的完整性;总体设计超市会员管理系统业务流程:首先由系统管理员将使用该系统的用户分为三种类型,管理员、普通职员和超市会员;普通职员拥有对超市会员的信息管理,即查、添、删、改的功能;还可对会员积分进行管理,如:将会远的消费金额转换为消费积分;同时,超市职员还可对自己的信息进行查询,并可修改自己的登录密码;超市会员只可对自己的信息进行查询,或对自己的积分进行兑换、查询;超级管理员具有所有权限;1.系统登录权限如图所示:图3-1 系统登录权限图在系统的总体设计中我采用结构化设计Structure Design,简称SD,首先将整个系统化分为几个小问题,小模块;然后,进一步细分模块,添加细节;根据前面的系统功能需求分析和超市会员管理系统实现的功能可分解成七个主要功能模块,它们分别是用户登录模块、会员信息模块、积分信息模块、基本信息管理模块、统计模块、系统信息模块、退出系统模块;这七个主要功能模块分别可以分为多个具体模块,下面介绍各个具体模块;2.系统结构图如下图所示:图3-2 超市会员管理系统总体结构图3. 各具体功能模块图1 .用户登录模块登录界面实现的程序流程图为:图3-3 用户登录程序流程图2. 会员信息模块1.会员基本信息查询用户登录成功后,可以根据用户账号或身份证号查询会员的基本信息,还可以进行全表查询;流程图如下:图3-4 会员信息查询流程图2.会员密码修改此模块用于修改会员的登录密码;流程图如下:图3-5 会员密码修改流程图3 积分信息模块1.积分查询实现原理如会员信息模块中的会员查询;2.积分兑换该模块实现会员的积分兑换;程序流程图如下:图3-6 积分兑换流程图3.消费加分该模块功能将会员的消费金额换为消费积分;流程图如下:图3-7 消费加分模块流程图4.优惠讯息该模块为静态功能;超市职员可将点击优惠讯息菜单即出现超市积分的优惠政策及兑换政策的对话框;4 基本信息管理模块1. 职员信息管理查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述; 修改职员信息该模块功能修改超市职员的基本信息,其实现流程图如下:图3-8职员信息修改流程图修改密码职员修改密码模块与会员密码修改类似,此处不再赘述;添加职员信息管理员进入系统后可以按照需求添加职员信息,下面是添加职员程序流程图:图3-9 添加职员信息流程图删除职员信息该模块由管理员进行操作,填入职工号后,系统检查是否存在于数据库中,若存在则按照职员号删除该职员记录信息,流程图如下:图3-10 删除职员信息流程图会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员注销四个模块,功能实现同职员信息管理模块中响应功能;5 统计统计模块用于统计会员积分等级;1 打开记录集,获得各等级人数;2绘制柱形图图3-11 统计分析柱形图实现流程图6 系统信息1.用户帮助系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用;2.关于本系统本功能调用系统关于对话框,为用户提供系统版本及版权情况;数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术;具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求信息要求和处理要求;数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响;根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:1. 用户登录信息数据表Login:用户账号,密码,登录身份;2. 会员基本信息数据表Member:用户账号,用户姓名,身份证号,联系方式,联系地址;3. 职员基本信息数据表Employee:职员号,职员姓名,职员职位;4. 会员积分信息数据表Score:会员账号,会员积分,会员等级,会员折扣;2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动;各种实体具体的描述E-R图如下;1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份;如图3-11所示,用户登录信息实体E-R图;图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图;图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图;图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图;图3-15 会员积分信息实体的E-R图实体之间的关系E-R图主要描述实体间的关系;图3-16 各实体之间的关系3.系统数据库的设计根据需求分析与概念结构设计,建立数据库系统支持的数据模型,即数据库的逻辑结构;本系统利用Microsoft Access 2003创建了名为SuperMarket的数据库;本系统主要建立了以下四张表:表用户登录数据表表会员基本信息数据表表职员基本信息数据表表会员积分信息数据表4. 表之间的关系表之间存在的关系如下:1.在会员基本信息表Member中添加信息的同时,把信息添加到用户登录信息表Login中,同时将信息添加到积分信息表Score中;2.在会员基本信息表Member中删除会员信息的同时,把用户登录信息表Login和用户积分信息Score中该会员信息删除;3.在职员基本信息表Member中添加信息的同时,将志愿的基本信息添加到用户登录信息表Login中;4.在职员基本信息表Member中删除职员信息的同时,把用户登录信息表Login中该职员信息删除;详细设计与实现1. 系统首页图4-1 超市会员管理系统首页自定义工具栏按钮及鼠标提示信息的设计与实现:图4-2 主页面工具栏在对话框的OnInitDialog方法中常见工具栏窗口和图像列表窗口,关联图像列表,设置工具栏按钮文本,启动工具栏的EnableToolTip方法激活提示功能;鼠标提示信息的实现,处理TTN_NEEDTEXT消息的响应函数OnToolTipText,通过函数的参数获得工具栏按钮的ID,从而根据ID获取提示信息文本;1.添加消息映射最好写在AFX_MSG_MAP宏外,否则可能出现编译错误ON_NOTIFY_EX_RANGETTN_NEEDTEXTW,0,0xFFFF,OnToolTipTextON_NOTIFY_EX_RANGETTN_NEEDTEXTA,0,0xFFFF,OnToolTipText2.添加事件声明最好写在AFX_MSG宏外,否则可能出现编译错误afx_msg BOOL OnToolTipTextUINT nID, NMHDR pNMHDR, LRESULT pResult;2 登录页面系统运行后,首先展现给用户的是用户登录界面,用户登录成功后进入到主页面,用户登录界面如下图所示:图4-3 用户登录界面用户登录有三种身份,管理员、普通职员、会员;管理员登录成功后,可以对系统各模块进行操作;普通职员登录成功后,除对职员的添加、删除外,均可实现操作;会员,则只能对自己的一些基本信息进行操作;登录界面由函数void CLoginDlg::OnOK实现处理,具体代码如下:....","提示",64;CDialog::OnOK;4.3.2积分信息模块1 积分查询该功能实现界面如下:图4-7 积分查询界面输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输出该会员积分信息;若不存在,输出提示信息;实现原理如会员信息模块中的会员查询;实现函数为:void CJQueryDlg::OnOK;在编辑框中的显示实现为:var = m_pRs->GetCollect"MScore";if = VT_NULLstr1 = LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Jifen->SetWindowTextstr1;var = m_pRs->GetCollect"MGrade";if =VT_NULLstr2=LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Grade->SetWindowTextstr2;var = m_pRs->GetCollect"MDiscount";if =VT_NULLstr3=LPCSTR_bstr_tvar;GetDlgItemIDC_EDIT_Discout->SetWindowTextstr3;2 积分兑换积分兑换功能的实现界面如下:图4-8 积分兑换功能实现界面用户输入账号和密码后,点击兑换按钮,该按钮的实现中,首先检查用户合法性;若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分不够;若兑换成功后,则显示用户等级和优惠折扣;该模块实现单击事件函数处理为:void CEXchangeDlg::OnOK,具体实现如下:员信息管理1. 查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述;实现该功能的函数为:void CEmployeeDlg::OnOK;实现该功能的SQL语句为:sql="select from Employee where EID='"+EmpID+"'";2. 修改职员信息该模块功能修改超市职员的基本信息;函数实现:void CMIMDlg::OnOK;其实现如下:GetDlgItemIDC_EDIT1_EmpName->GetWindowTextEXm;GetDlgItemIDC_COMBO_EmpSta->GetWindowTextEZw;ifEZw=="管理员" EZw="0";else ifEZw=="普通职员" EZw="1";sql="Update Employee set EName='"+EXm+"',EStatus='"+EZw+"' where EID='"+EMId+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"修改成功";3. 修改密码职员修改密码模块与会员密码修改类似,实现函数为:void CMModifyDlg::OnOK,此处不再赘述;具体SQL语句实现为:sql="Update Login set DCode='"+NewCode+"' where DNO='"+Name+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}4. 添加职员信息管理员进入系统后可以按照需求添加职员信息,该模块首先检验输入是否为空,若不为空,则可以进行添加,此功能同时将信息添加到Login表和Employee表中,界面实现如图:图4-10 添加职工信息实现该事件的函数为:void CEAddEmplyeeDlg::OnOK,下面是添加职员信息的具体实现:sql="Insert into EmployeeEID,EName,EStatus values'"+Eno+"','"+Ename+"','"+Esta+"'";SQL="Insert into LoginDNO,DCode,DUserSta values'"+Eno+"','"+Ecode+"','"+Esta+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"添加成功";5. 删除职员信息该模块只能由管理员进行操作,管理员成功登录后,可以按照职员号删除职员信息,如图所示:图4-11 删除职工信息图在删除前,系统会给出提示,提醒用户是否确定要删除;点击是,则将该记录从数据库中删除;点击否,则撤销删除行为;实现函数为void CDelEmpDlg::OnOK,代码如下:ifMessageBox"确定要删除该记录吗","提示",MB_YESNO==IDYES{sql="delete from Employee where EID='"+EmpNO+"'";SQL="delete from Login where DNO='"+EmpNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"删除成功";}2 会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员删除四个模块,功能实现同职员信息管理模块中响应功能;实现函数分别为:void CMemberDlg::OnOK、void CModifyMemDlg::OnBUTTONModify、void CMemAddDlg::OnOK、void CModifyMemDlg::OnBUTTONDel;此处以会员信息修改和删除为例,其他功能实现略写;图4-12 会员信息修改图中,灰色编辑框表示不可改;如果要修改信息则填入要修改的值,点击“确定修改”,即可修改成功;如果要删除该条记录,则点击“确定删除”,系统会提示,是否真的删除,若是,则从数据库表中将该记录删除,若否,则退出删除;此处实现的相关的SQL语句为://修改sql="Update Member set MName='"+UserName+"',MTel='"+UserTel+"',MAdd='"+UserAdd+"' where MNO='"+UserNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"修改成功";//删除ifMessageBox"确定要删除该记录吗","提示",MB_YESNO==IDYES {sql="delete from Member where MNO='"+UserNO+"'";SQL="delete from Login where DNO='"+UserNO+"'";try{>Execute_bstr_tsql,NULL,adCmdText;>Execute_bstr_tSQL,NULL,adCmdText;}catch_com_error &e{AfxMessageBox;}AfxMessageBox"删除成功";6 统计统计模块是对超市会员积分进行统计,可以统计出各登记人数及所占百分比,并以柱形图的形式显示出来;图4-13 统计分析功能实现图实现该功能的函数为:void CStatDlg::OnOK具体实现:1 打开记录集,获得各等级人数;2 绘制柱形图//获取静态图片空间大小CWnd pWnd=this->GetDlgItemIDC_DRAW;pWnd->GetClientRect&rectPic;// 获取设备环境指针CDC pDC=pWnd->GetDC;// 重新填充静态图片区域CBrush NewBrush;RGB238,238,237;CBrush pOldBrush=pDC->SelectObject&NewBrush;pDC->Rectangle&rectPic;pDC->SelectObjectpOldBrush;// 确定每个柱形条的宽度int nLength= 定义五种颜色,用来填充柱形图COLORREF RGBArray6={RGB0,255,0,RGB128,0,255,RGB0,0,255, RGB255,255,0, RGB255,0,0,RGB0,128,255};// 定义一个矩形,表示柱形条CRect rect;for int i=0; i<6; i++{// 确定柱形条的位置=+inLength;= si/num;= + i+1nLength;=;// 创建画刷,填充图形CBrush NewBrush;RGBArrayi;CBrush pOldBrush=pDC->SelectObject&NewBrush;pDC->Rectangle&rect;pDC->SelectObjectpOldBrush;}// 释放设备环境this->ReleaseDCpDC;7 系统信息1 用户帮助系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用;点击用户帮助菜单或帮助工具栏按钮后,即打开帮助文件,如图所示:图4-14 用户帮助功能实现图具体实现为:void CCMarketDlg::OnMENUHelp{char bufMAX_PATH;::GetCurrentDirectoryMAX_PATH,buf; //获取程序根目录路径::ShellExecuteNULL, "open", "", "", "", SW_SHOW;}2 关于本系统具体实现:void CCMarketDlg::OnMENUAbout{CDialog aboutIDD_ABOUTBOX;;}8 退出系统具体实现:void CCMarketDlg::OnMENUQuit{>Close;//关闭数据库EndDialog0;}9 数据库连接设计与实现1 初始化COM库,引入ADO库定义文件首先在中用import指令引入ADO类型库import "c:\program files\common files\system\ado\"no_namespace\rename"EOF","adoEOF"然后使用AfxOleInit来初始化COM库;2 用Connection对象连接数据库conn->Open_bstr_tstrConn,"","",adModeUnknown; //打开数据库3 利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;_RecordsetPtr m_pRs;__uuidofRecordset;>Execute_bstr_tsql,NULL,adCmdText;//执行sql 4使用完毕后关闭连接释放对象;m_pRs->Close;//关闭记录集conn->Close;//关闭连接。

(店铺管理)超市进销存系统最全版

(店铺管理)超市进销存系统最全版

(店铺管理)超市进销存系统壹、进销存系统概述(壹)进销存管理信息系统简介进销存管理是商业企业运营管理中的核心环节,也是壹个企业能否取得效益的关键。

如果能做到合理生产、及时销售、库存量最小,减少积压,那么企业就能取得最佳的效益。

由此可见,进销存管理决策的正确和否直接影响了企业的经济效益。

在手工管理的情况下,销售人员很难对客户做出正确的供货承诺,同时企业的采购部也缺少壹份准确的采购计划,目前的库存及市场需求很难反应到采购中去,部门之间的通讯也经常不通畅,这在激烈竞争的市场中是非常不利的。

企业的进销存管理信息系统就是在这种情况下应运而生的。

它利用计算机技术,使得企业采购,库存和销售能够有利结合起来,供销衔接,提高企业的效率和效益。

(二)X公司简介及项目开发背景大连大兴商贸X公司是壹家以销售计算机及周边配件为主的中小型高科技贸易X公司,凭着其良好的销售业绩及雄厚的技术实力,X公司成为了多家国际知名品牌计算机的二级代理商。

该X公司货源主要来自其产业链上游的全国总代理或地区总代理,其客户主要是大连本地或本地周边的商业用户。

因此该X公司的货物吞吐量较大,而X公司目前进销存环节的操作均以人工作业为主,X公司的销售人员不清楚库存的数量,而采购员则又不能及时了解目前产品的销量,所有货品的出库、配送及入库均采用人工开单,办事效率低下,随着X公司业务的日益增长,整个物流环节的办事效率正逐渐成为X公司发展的瓶径。

因此,为了满足日益增长的业务需求,X公司决定开发壹套进销存管理信息系统,以提高办事效率,理顺物流环节。

X公司的组织机构图如图壹所示:图1X公司组织结构图(三)开发设计思想1.尽可能利用X公司现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用X公司现有资源,提高系统开发水平和应用效果的目的。

2.系统应符合采购、销售、库存的规定,满足X公司日常工作需要,且达到操作工程中的直观、方便、实用、安全等要求。

3.系统采用先进的俩层体系结构,客户端负责提供表达逻辑、显示用户界面信息,基本操作;服务器端负责实现数据服务。

超市管理系统数据字典

超市管理系统数据字典

超市管理系统数据字典1. 顾客表(Customer)- 字段:- 顾客ID(CustomerID):顾客的唯一标识符,数据类型为整数。

- 姓名(Name):顾客的姓名,数据类型为字符串。

- 性别(Gender):顾客的性别,数据类型为字符串。

- 年龄(Age):顾客的年龄,数据类型为整数。

- 手机号码(PhoneNumber):顾客的联系电话,数据类型为字符串。

- 地址(Address):顾客的地址,数据类型为字符串。

2. 商品表(Product)- 字段:- 商品ID(ProductID):商品的唯一标识符,数据类型为整数。

- 商品名称(ProductName):商品的名称,数据类型为字符串。

- 商品价格(Price):商品的价格,数据类型为浮点数。

- 商品库存(Stock):商品的库存数量,数据类型为整数。

3. 订单表(Order)- 字段:- 订单ID(OrderID):订单的唯一标识符,数据类型为整数。

- 顾客ID(CustomerID):下单顾客的ID,数据类型为整数。

- 订单日期(OrderDate):订单的日期,数据类型为日期。

- 订单总金额(TotalAmount):订单的总金额,数据类型为浮点数。

4. 订单详情表(OrderDetail)- 字段:- 订单详情ID(OrderDetailID):订单详情的唯一标识符,数据类型为整数。

- 订单ID(OrderID):所属订单的ID,数据类型为整数。

- 商品ID(ProductID):所购商品的ID,数据类型为整数。

- 商品单价(UnitPrice):商品的单价,数据类型为浮点数。

- 商品数量(Quantity):所购商品的数量,数据类型为整数。

- 商品小计(Subtotal):商品的小计金额,数据类型为浮点数。

5. 员工表(Employee)- 字段:- 员工ID(EmployeeID):员工的唯一标识符,数据类型为整数。

- 姓名(Name):员工的姓名,数据类型为字符串。

小超市管理系统可运行代码

小超市管理系统可运行代码
{
case 1:Add();break;
case 2:Delet();break;
}
getchar();
return;
}
void Add()
{
printf("\t请输入所添加商品的商品编号:");
scanf("%ld",goods[n].num);
strcpy(goods[i].name,goods[i+1].name);
strcpy(goods[i+1].name,p1);
temp=goods[i].num;
goods[i].num=goods[i+1].num;
goods[i+1].num=temp;
printf("\n\t请输入所添加商品的名称:");
scanf("%s",goods[n].name);
printf("\n\t请输入所添加商品的类别:");
scanf("%s",goods[n].sort);
printf("\n\t请输入所添加商品的数量:");
scanf("%d",goods[n].count);
printf("\t 7→查询商品信息\n");
printf("\t 8→浏览商品信息\n");
printf("\t 9→保存商品信息\n");
printf("\t请选择您所需要的操作(或选择(0)退出)\n");
scanf("%d",&m);

#超市管理系统参考界面(2)

#超市管理系统参考界面(2)

521职工信息表职工信息表(StaffBill)用于存储职工信息,职工编号为主键是唯一标识表中各字段功能定义如表5-1所示522用户登录表用户登录表(Users」nfo)用于存储用户的基本登录信息。

表中各字段功能定义如表5-2所示表5-2用户信息表(Users」nfo)5.2.3商品信息表商品信息表(Goods」nfo)用于存储商品的信息。

表中各字段功能定义如表5-3所示表5-3商品信息表(Goods」nfo)524供货商信息表供货商信息表(Sup」nfo)用于存储供货商的信息。

表中各字段功能定义如表5-4所示5.2.5进货信息表进货信息表(Buy)存储进货信息。

表中各字段功能定义如表5-5所示5.2.6销售信息表销售信息表(Sell)用于存储销售信息。

表中各字段功能定义如表5-6527库存信息表库存信息表(Stock)存储库存信息。

表中各字段定义如表5-7所示5.3创建数据库(1)使用T —SQL语句创建超市商品管理系统数据库。

CREATE DATABASE db_SMMS ON PRIMARY(NAME = N'db_SMMS', FILENAME = F:\SMMS\SMMSWDataBase \db_SMMS.mdf , SIZE = 3072KB , FILEGROWTH = 1024KB )LOG ON(NAME = N'db_SMMS_log', FILENAME = N'F:\SMMS\SMMS\DataBase\ db_SMMS_log」df , SIZE = 1024KB , FILEGROWTH = 10%)(2)使用T —SQL语句创建库存表。

CREATE TABLE Stock(GoodsID varchar (10) COLLATE Chi nese_PRC_CI_AS NOT NULL,Amou nt int NOT NULL,PRIMARY KEY (StockID),FOREIGN KEY (GoodsID) REFERENCES tb_Goods(GoodslD));(3)使用T —SQL语句创建库存视图。

C语言实现超市管理系统

C语言实现超市管理系统

C语⾔实现超市管理系统本⽂实例为⼤家分享了C语⾔实现超市管理系统的具体代码,供⼤家参考,具体内容如下超市管理系统1.包括管理员和顾客2.管理员有登⼊,录⼊商品信息,显⽰所有商品信息功能3.顾客有购物车和结算功能4.购物车具有显⽰商品列表,显⽰购物车商品,往购物车添加商品的功能函数void UpdateKu();//更新购物车信息函数void calculate();//计算所购商品价格并修改保存int menu1();//打印主菜单函数int menu2();//打印管理员菜单函数int menu3();//打印顾客函数void CreateGoods();//录⼊商品信息函数void ShowGoods();//显⽰库存信息函数void ShopCart();//对购物车进⾏操作int ShopCartMenu();//打印购物车菜单void ShowCart();//显⽰购物列表void add();//在购物车⾥添加商品建⽴库存函数void CreateGoods(){//⼿动建⽴库存信息FILE *fp;//定义⽂件指针int i;printf("请输⼊需要录⼊的商品个数:\n");scanf("%d",&n);//输⼊数量printf("请依次输⼊货物信息:\n");printf("--------------------------------------------\n");for(i=0;i<n;i++){//向⽂件中写⼊信息printf("第%d个商品:\n",i+1);printf("货号:");fflush(stdin);//清空输⼊流gets(goods[i].ID);//输⼊货号printf("品名:");fflush(stdin);//清空输⼊流gets(goods[i].brand);//输⼊品名printf("进价: ");fflush(stdin);//清空输⼊流scanf("%lf",&goods[i].inprice);//输⼊进价printf("售价:");fflush(stdin);//清空输⼊流scanf("%lf",&goods[i].outprice);//输⼊售价printf("数量:");fflush(stdin);//清空输⼊流scanf("%d",&goods[i].storage);//输⼊数量printf("保质期:");fflush(stdin);//清空输⼊流gets(goods[i].date);//输⼊货号printf("\n");}if((fp=fopen("kucun.txt","w"))==NULL){//判断⽂件是否创建失败printf("创建⽂件失败。

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

数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。

具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。

数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。

根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:(1). 用户登录信息数据表(Login):(用户账号,密码,登录身份);(2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址);(3). 职员基本信息数据表(Employee):(职员号,职员姓名,职员职位);(4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣);2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

各种实体具体的描述E-R图如下。

1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。

如图3-11所示,用户登录信息实体E-R图。

图3-12 用户登录实体的E-R图2. 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图。

图3-13 会员基本信息实体的E-R图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体E-R图。

图3-14 职员基本信息实体的E-R图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会员折扣,得出如图3-14所示会员积分信息实体E-R图。

图3-15 会员积分信息实体的E-R图实体之间的关系E-R图主要描述实体间的关系。

图3-16 各实体之间的关系3.系统数据库的设计根据需求分析与概念结构设计,建立数据库系统支持的数据模型,即数据库的逻辑结构。

本系统利用Microsoft Access 2003创建了名为SuperMarket的数据库。

本系统主要建立了以下四张表:表3.1 用户登录数据表表3.2 会员基本信息数据表表3.3 职员基本信息数据表表3.4 会员积分信息数据表4. 表之间的关系表之间存在的关系如下:1.在会员基本信息表(Member)中添加信息的同时,把信息添加到用户登录信息表(Login)中,同时将信息添加到积分信息表(Score)中。

2.在会员基本信息表(Member)中删除会员信息的同时,把用户登录信息表(Login)和用户积分信息(Score)中该会员信息删除。

3.在职员基本信息表(Member)中添加信息的同时,将志愿的基本信息添加到用户登录信息表(Login)中。

4.在职员基本信息表(Member)中删除职员信息的同时,把用户登录信息表(Login)中该职员信息删除。

详细设计与实现1. 系统首页图4-1 超市会员管理系统首页自定义工具栏按钮及鼠标提示信息的设计与实现:图4-2 主页面工具栏在对话框的OnInitDialog方法中常见工具栏窗口和图像列表窗口,关联图像列表,设置工具栏按钮文本,启动工具栏的EnableToolTip方法激活提示功能。

鼠标提示信息的实现,处理TTN_NEEDTEXT消息的响应函数OnToolTipText(),通过函数的参数获得工具栏按钮的ID,从而根据ID获取提示信息文本。

1.添加消息映射(最好写在AFX_MSG_MAP宏外,否则可能出现编译错误)ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW,0,0xFFFF,OnToolTip Text)ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA,0,0xFFFF,OnToolTip Text)2.添加事件声明(最好写在AFX_MSG宏外,否则可能出现编译错误)afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult);2 登录页面系统运行后,首先展现给用户的是用户登录界面,用户登录成功后进入到主页面,用户登录界面如下图所示:图4-3 用户登录界面用户登录有三种身份,管理员、普通职员、会员。

管理员登录成功后,可以对系统各模块进行操作;普通职员登录成功后,除对职员的添加、删除外,均可实现操作;会员,则只能对自己的一些基本信息进行操作。

登录界面由函数void CLoginDlg::OnOK()实现处理,具体代码如下://实现该功能的SQL语句sql="select * from Login where DNO='"+Name+"' and DCode='"+ECode+"' and DUserSta='"+EStatus+"'";m_pRs->Open((_bstr_t)sql,theApp.conn.GetInterfacePtr(),adOpenKeyset,adLock Optimistic,adCmdText);//登录成功与否、登录次数判断if ( m_pRs->GetRecordCount()<=0 ){if ( m_LoginNum<=3 ) // 登录次数小于3次{MessageBox("用户名或密码、身份错误!","提示",64);}if ( m_LoginNum==3) // 3次登录不成功{MessageBox("用户登录3次不成功!即将关闭程序......","提示",64); CDialog::OnOK();// 向应用程序发送WM_QUIT消息,请求退出::PostQuitMessage(0);}}else{// 如果登录成功,则关闭数据库CDialog::OnOK();CCMarketDlg dlg;dlg.m_LoginSta=EStatus;dlg.DoModal();}3 会员信息模块(1) 会员基本信息查询会员基本信息查询如下图:图4-4 会员信息查询界面用户登录成功后,可以根据用户账号或身份证号查询会员的基本信息,还可以进行全表查询。

查询前,首先要选择及填写查询条件,若未填写,则出现系统提示。

查询条件填写正确后,点击查询即可会员详细信息。

查询和显示全部单击事件实现分别由函数void CMemberDlg::OnOK()和void CMemberDlg::OnBUTTONListAll()实现,具体代码如下:记录集打开同上。

在列表框中显示的实现:while (!m_pRs->adoEOF){CString temp;m_EList.InsertItem(1000,"");for(int i=0;i<3;i++){temp=(TCHAR*)(_bstr_t)m_pRs->GetFields()->GetItem((long)i)->Value;m_EList.SetItemText(row,i,temp);}m_pRs->MoveNext();row+=1;}4.3.2 会员密码修改此模块用于修改会员的登录密码。

图4-5 会员密码修改界面填入用户账号和旧密码后,系统检查数据库中是否有该记录,如果存在该记录,则可填写新密码进行修改;若不存在,则系统给出提示信息。

如下图:图4-6 会员密码修改提示信息界面该模块单击事件由函数void CECodeModifyDlg::OnOK()实现,具体代码如下:sql="Update Login set DCode='"+NewCode+"' where DNO='"+Name+"'";try{theApp.conn->Execute((_bstr_t)sql,NULL,adCmdText);}catch(_com_error &e){AfxMessageBox(e.Description());}AfxMessageBox("修改成功");4. 积分信息模块(1) 积分查询该功能实现界面如下:图4-7 积分查询界面输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输出该会员积分信息;若不存在,输出提示信息。

实现原理如会员信息模块中的会员查询。

实现函数为:void CJQueryDlg::OnOK()。

在编辑框中的显示实现为:var = m_pRs->GetCollect("MScore");if(var.vt != VT_NULL)str1 = (LPCSTR)_bstr_t(var);GetDlgItem(IDC_EDIT_Jifen)->SetWindowText(str1);var = m_pRs->GetCollect("MGrade");if(var.vt !=VT_NULL)str2=(LPCSTR)_bstr_t(var);GetDlgItem(IDC_EDIT_Grade)->SetWindowText(str2);var = m_pRs->GetCollect("MDiscount");if(var.vt !=VT_NULL)str3=(LPCSTR)_bstr_t(var);GetDlgItem(IDC_EDIT_Discout)->SetWindowText(str3);(2) 积分兑换积分兑换功能的实现界面如下:图4-8 积分兑换功能实现界面用户输入账号和密码后,点击兑换按钮,该按钮的实现中,首先检查用户合法性。

若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分不够;若兑换成功后,则显示用户等级和优惠折扣。

该模块实现单击事件函数处理为:void CEXchangeDlg::OnOK(),具体实现如下://修改数据库中积分sql="Update Score set MGrade=1,MDiscount=0.1 where MNO='"+mzh+"'";try{theApp.conn->Execute((_bstr_t)sql,NULL,adCmdText);}catch(_com_error &e){AfxMessageBox(e.Description());}AfxMessageBox("兑换成功");(3) 消费加分该模块功能将会员的消费金额换为消费积分,如下图:图4-9 消费加分模块界面实现图输入用户账号和消费金额后,首先检查数据库中是否存在该记录,如果存在,则将该用户积分增加其消费金额数目,如不存在,系统弹出提示信息。

相关文档
最新文档