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

合集下载

超市管理系统源代码

超市管理系统源代码

第1章JavaBean部分1.1 数据库连接(DataBase.java)package common;import java.sql.*;import javax.naming.*;import javax.sql.*;import java.util.*;public class DataBase {private String dbUrl ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ManagermentDB";private String dbUser = "ren";private String dbPwd = "ren";//定义数据库的连接public DataBase() throws Exception{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");}//加载数据库的驱动public Connection getConnection()throws Exception{return java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);}//建立数据库的连接public void closeConnection(Connection con){try{if(con!=null) con.close();}catch(Exception e){e.printStackTrace();}}public void closePrepStmt(PreparedStatement prepStmt){try{if(prepStmt!=null) prepStmt.close();}catch(Exception e){e.printStackTrace();}}public void closeResultSet(ResultSet rs){//关闭当前记录集try{if(rs!=null) rs.close();}catch(Exception e){e.printStackTrace();}}public static void close( ResultSet rs, Statement st, Connection conn )//关闭数据库的连接{try{if( rs!=null ) rs.close();}catch( SQLException ex ) { };try{if( st!=null ) st.close();}catch( SQLException ex ) { };try{if( conn!=null ) conn.close(); }catch( SQLException ex ) { };}}1.2 人事管理部门1.2.1员工实体的定义(Employees.java)package employees;public class Employees implements Comparable{private String EmpId;private String DepId;private String EmpName;private String Sex;private String Nationality;private String Birth;private String Academic;private String Marital;private String Original;private String Id_Card;private String Mobile;private String Memo;//员工实体的属性Employees(String EmpId,String DepId,String EmpName ,String Sex,String Nationality,String Birth,String Academic,String Marital,String Original,String Id_Card,String Mobile,StringMemo){ //初始化操作this.EmpId = EmpId;this.DepId = DepId;this.EmpName = EmpName;this.Sex = Sex;this.Nationality = Nationality;this.Birth = Birth;this.Academic = Academic ;this.Marital = Marital;this.Original = Original;this.Id_Card = Id_Card;this.Mobile = Mobile ;this.Memo = Memo;}//对每一个属性赋值和取值操作public void setEmpId(String newEmpId){this.EmpId = newEmpId;}public String getEmpId(){return EmpId;}public void setDepId(String newDepId){this.DepId = newDepId;}public String getDepId(){return DepId;}public void setEmpName(String newEmpName){ this.EmpName = newEmpName;}public String getEmpName(){return EmpName;}public void setSex(String newSex){this.Sex = newSex;}public String getSex(){return Sex;}public void setNationality(String newNationality){ this.Nationality = newNationality;}public String getNationality(){return Nationality;}public void setBirth(String newBirth){this.Birth = newBirth;}public String getBirth(){return Birth;}public void setAcademic(String newAcademic){ this.Academic = newAcademic;}public String getAcademic(){return Academic;}public void setMarital(String newMarital){this.Marital = newMarital;}public String getMarital(){return Marital;}public void setOriginal(String newOriginal){this.Original = newOriginal;}public String getOriginal(){return Original;}public void setId_Card(String newId_Card){this.Id_Card = newId_Card;}public String getId_Card(){return Id_Card;}public void setMobile(String newMobile){this.Mobile = newMobile;}public String getMobile(){return Mobile;}public void setMemo(String newMemo){this.Memo = newMemo;}public String getMemo(){return Memo;}public int compareTo(Object o){Employees n = (Employees)o;int lastCmp = pareTo(n.EmpName);return(lastCmp);}}1.2.2员工实体的操作(EmployeesBean.java)package employees;import java.sql.*;import java.util.*;import javax.naming.*;import javax.sql.*;。

C++超市管理系统代码文档

C++超市管理系统代码文档

C++超市管理系统代码文档#include〈stdlib.h〉#include<time。

h〉srand((unsigned)time(NULL));while(i〈5){arr。

a[i++]=rand()%5;arr.length++;}cin〉>cn;switch(cn){case 0: exit;case 1: mpsort(int a[Max]);diaplay();break; case 2: xzsort(int a[Max]);diaplay();break; default : cout<〈"error”<<endl;}#include<iostream。

h>const int Max=5;class Array{int a[Max];int last;public:void init();void mpSort();void xzSort(); }void Array::Init(){int i=0,t;last=0;cout〈<”请输入一个数组"<〈endl;while((cin〉〉t)&&i〈Max){a[i]=t;i++;last++;}}void Swap(int &x,int &y){int z;z=x;x=y;y=z;}void Array::mpSort() {int i,j;cout<〈”您调用的是冒泡排序法"〈<endl; for(i=0;i<last-1;i++)for(j=0;j〈last—i;j++)if(a[j]〉a[j+1])swap(a[j],a[j+1]); }void Array::xzSort() {int i,j,k;cout〈<”您调用的是选择排序法"<〈endl;for(i=0;i〈last-1;i++){k=i;for(j=i+1;j〈last—1;j++)if(a[j]<a[i])k=j;Swap(a[i],a[k]);}}void Array::diaplay(){int i;cout〈<"当前数组中的元素是:”<〈endl;for(i=0;i<last;i++)cout〈〈a[i]〈〈endl;}int menu_select() {int cn;char s;cout〈<"欢迎使用趣味菜单,请选择您要处理问题的方法"<〈endl; cout<〈”0. 退出"〈〈endl;cout<<”1. 用冒泡排序法进行排序”〈〈endl;cout〈<"2. 用选择排序法进行排序”<<endl; cout<〈"请输入0,,2"<〈endl;do{s=getchar();cn=(int)s-48;}while(cn〈-1||cn>2);return cn;}void main(){Array b;b.init();b。

超市管理系统完整+源代码(总18页)

超市管理系统完整+源代码(总18页)

超市管理系统完整+源代码(总18页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除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;int n=0; /*定义文件指针类型*/int i,j,a[4],m; /*定义整数类型*/float aver[4],sum[4],g[4],h; /*定义浮点类型*/char c[5]="elec"; /*定义字符数组类型*/char d[5]="comm"; /*定义字符数组类型*/char e[5]="food"; /*定义字符数组类型*/char f[5]="offi"; /*定义字符数组类型*/struct good /*定义结构体*/int num; /*商品编号*/char name[20]; /*商品名称*/char kind[40]; /*商品类型*/float price; /*商品价格*/char unit[10]; /*商品单位*/int quantity; /*商品数量*/struct good *next; /*定义结构体指针类型*/}*head,*p1,*p2;struct good *createlist() /*创建链表函数*/{struct good *head1,*p1,*p2; /*定义结构体指针类型*/if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/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,p1->unit,&p1->quantity); /*输入商品信息*/printf("____________________\n");p1->next=NULL;fprintf(fp,"%d %s %s %f %s %d ",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity); /*将商品信息写入文件*/while(1)p1=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/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);return head1; /*返回头指针*/}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,p1->unit,p1->quantity); /*将商品信息写入文件*/p1->next=NULL;p2->next=p1;p2=p1;}}struct good *paixu(struct good*head2) /*链表排序函数*/{struct good *p6,*p7,*r,*s; /*定义结构体指针类型*/for(i=0;i<=3;i++) /*赋初值值*/{a[i]=0;sum[i]=0;aver[i]=0;p6=(struct good *)malloc(sizeof(struct good)); /*申请新空间*/ 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); /*释放第一个无效空间*/return head2;}void jisuan(){p1=head;doif(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");}void shuchu() /*输出商品信息函数*/{do{struct good *p3,*p4,*p5; /*定义结构体指针类型*/int n=0,p=0,q=0,r=0;printf("所有商品信息:\n");printf("编号,名称,类型,价格,单位,数目\n");printf("**********************************\n");if((fp=fopen("goods message.txt","rb+"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}head=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/p3=head;fscanf(fp,"%d %s %s %f %s %d ",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity); /*从文件中写到链表*/while(1){p4=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/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->price,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=(struct good *)malloc(sizeof(struct good)); /*申请空间*/scanf("%d %s %s %f %s %d",&p4->num,p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity);/*输入商品信息*/p4->next=NULL;while(p3->next!=NULL) /*判断循环结束条件*/{p3=p3->next;}p3->next=p4;p3=head;if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}while(p3!=NULL){fprintf(fp,"%d %s %s %f %s %d ",p3->num,p3->name,p3->kind,p3->price,p3->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("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d ",p3->num,p3->name,p3->kind,p3->price,p3->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("goods message.txt","w"))==NULL) /*判断能否打开文件*/{printf("can not open the file");exit(0); /*结束程序*/}p3=head;while(p3!=NULL) /*判断循环结束条件*/{fprintf(fp,"%d %s %s %f %s %d ",p3->num,p3->name,p3->kind,p3->price,p3->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); /*关闭文件*/}void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/{struct good *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;}void printf1(struct good *p) /*遍历链表并打印日用品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,d)==0) /*判断商品类型是否为日用品类型*/{}p3=p3->next;}return;}void printf2(struct good *p) /*遍历链表并打印办公用品类商品函数*/{struct good *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;}void printf3(struct good *p) /*遍历链表并打印食品类商品函数*/{struct good *p3; /*定义结构体指针类型*/p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件*/{if(strcmp(p3->kind,f)==0) /*判断商品类型是否为食品类型*/{}p3=p3->next;}return;}void shunxudayin(){for(i=0;i<4;i++)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(j=0;j<4;j++)for(i=0;i<4;i++){if (aver[i]==g[j]) /*判断每类商品平均价格的先后顺序*/switch(i){case 0:printf0(head); /*调用遍历链表并打印电器类商品函数*/break;case 1:printf1(head); /*调用遍历链表并打印日用品类商品函数*/break;case 2:printf2(head);/*调用遍历链表并打印办公用品类商品函数*/ break;case 3:printf3(head); /*调用遍历链表并打印食品类商品函数*/break;}}}void tongji1(){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;}}void tongji2(){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");}int main(int argc, char* argv[]){struct good *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;}}return 0; /*结束程序*/}。

超市管理系统设计代码

超市管理系统设计代码

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"+" 还是增加售货员信息,以便下次登录。

python代码完成超市管理系统的设计与实现

python代码完成超市管理系统的设计与实现

python代码完成超市管理系统的设计与实现超市管理系统是一个相对复杂的系统,涵盖了商品管理、库存管理、销售管理、员工管理等多个模块。

以下是一个简化的超市管理系统的Python代码示例,主要实现了商品管理和销售管理两个功能。

pythonclass Product:def __init__(self, id, name, price, quantity):self.id = id = nameself.price = priceself.quantity = quantityclass Supermarket:def __init__(self):self.products = []def add_product(self, product):self.products.append(product)def sell_product(self, product_id, quantity):for product in self.products:if product.id == product_id:if product.quantity >= quantity:product.quantity -= quantityreturn quantity * product.priceelse:return "库存不足"return "商品不存在"# 示例supermarket = Supermarket()# 添加商品product1 = Product(1, "苹果", 5, 100)product2 = Product(2, "香蕉", 3, 50)supermarket.add_product(product1)supermarket.add_product(product2)# 销售商品print(supermarket.sell_product(1, 10)) # 输出 50print(supermarket.sell_product(2, 30)) # 输出 "库存不足"在这个示例中,我们定义了两个类:Product和Supermarket。

超市运营管理系统源代码

超市运营管理系统源代码

超市运营管理系统源代码介绍超市运营管理系统是一款用于帮助超市进行日常运营管理的软件。

该系统通过自动化管理超市的销售、库存、采购等业务流程,提高运营效率,并帮助超市实时监控业务数据,做出数据驱动的经营决策。

本文将对超市运营管理系统的源代码进行详细说明,包括系统功能模块、代码架构设计、主要技术实现等方面。

功能模块超市运营管理系统包含以下主要功能模块:1.商品管理:用于管理超市的商品信息,包括商品的名称、价格、库存等。

2.销售管理:包含商品销售、退货、交易查询等功能,帮助超市实时监控销售情况。

3.采购管理:用于管理超市的采购流程,包括采购订单生成、供应商管理等功能。

4.库存管理:实时记录超市的库存情况并提供库存查询功能,帮助超市合理管理库存。

5.会员管理:管理超市的会员信息,包括会员注册、会员积分管理等功能。

6.报表统计:根据销售数据自动生成各类报表,帮助超市分析经营状况。

7.权限管理:管理系统用户的权限,包括管理员、收银员等角色的权限管理。

代码架构设计超市运营管理系统的源代码采用了三层架构设计,包括表现层、业务逻辑层和数据访问层。

1.表现层:表现层负责与用户进行交互,接收用户的请求并展示相应的界面。

在超市运营管理系统中,表现层主要包括各个功能模块的界面设计和用户交互逻辑。

2.业务逻辑层:业务逻辑层负责处理用户的请求,执行相应的业务逻辑。

在超市运营管理系统中,业务逻辑层主要包括各个功能模块的业务逻辑处理和数据校验等。

3.数据访问层:数据访问层负责与数据库进行交互,实现对数据库的数据读写操作。

在超市运营管理系统中,数据访问层使用数据库访问技术,如SQL语句、ORM框架等,与数据库进行数据交互。

技术实现超市运营管理系统的源代码使用以下主要技术实现:1.前端技术:前端界面使用HTML、CSS和JavaScript等技术实现,通过Ajax技术与后端进行数据交互,实现页面的动态更新和数据的异步加载。

2.后端技术:后端采用Java语言开发,使用Spring框架实现了各个功能模块的业务逻辑和数据访问,通过Spring MVC实现前后端的数据交互。

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

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

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载超市会员管理系统详细代码地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容数据库设计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图。

会员管理系统c语言源码

会员管理系统c语言源码

会员管理系统c语言源码#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXLEN 100#define MAXNUM 20typedef struct {char name[MAXLEN];char sex[MAXLEN];int age;char tel[MAXLEN];char address[MAXLEN];} Member;Member member[MAXNUM];int count = 0;void menu();void add();void del();void list();void search();void modify();void quit();int main() {menu();return 0;}void menu() {int choice;while(1) {printf("\t\t\t***************************\n"); printf("\t\t\t* 1.增加会员信息 *\n");printf("\t\t\t* 2.删除会员信息 *\n"); printf("\t\t\t* 3.查看会员信息 *\n"); printf("\t\t\t* 4.查询会员信息 *\n"); printf("\t\t\t* 5.修改会员信息 *\n"); printf("\t\t\t* 6.退出系统 *\n"); printf("\t\t\t***************************\n");printf("\t\t\t请输入您的选择:");scanf("%d", &choice);switch(choice) {case 1:add();break;case 2:del();break;case 3:list();break;case 4:search();break;case 5:modify();break;case 6:quit();break;default:printf("\t\t\t输入有误,请重新输入!\n"); }}}void add() {if (count >= MAXNUM) {printf("\t\t\t会员信息已满,无法添加!\n");return;}printf("\t\t\t请输入姓名:");scanf("%s", member[count].name);printf("\t\t\t请输入性别:");scanf("%s", member[count].sex);printf("\t\t\t请输入年龄:");scanf("%d", &member[count].age);printf("\t\t\t请输入电话:");scanf("%s", member[count].tel);printf("\t\t\t请输入地址:");scanf("%s", member[count].address);count++;printf("\t\t\t添加成功!\n");}void del() {if (count == 0) {printf("\t\t\t无会员信息,无法删除!\n");return;}int i, j;char name[MAXLEN];printf("\t\t\t请输入要删除的会员姓名:");scanf("%s", name);for (i = 0; i < count; i++) {if (strcmp(name, member[i].name) == 0) {for (j = i; j < count - 1; j++) {member[j] = member[j+1];}count--;printf("\t\t\t删除成功!\n");return;}}printf("\t\t\t没有找到该会员!\n");}void list() {if (count == 0) {printf("\t\t\t无会员信息!\n");return;}int i;printf("\t\t\t姓名\t性别\t年龄\t电话\t地址\n"); for (i = 0; i < count; i++) {printf("\t\t\t%s\t%s\t%d\t%s\t%s\n", member[i].name, member[i].sex, member[i].age, member[i].tel, member[i].address);}}void search() {if (count == 0) {printf("\t\t\t无会员信息!\n");return;}int i;char name[MAXLEN];printf("\t\t\t请输入要查询的会员姓名:");scanf("%s", name);for (i = 0; i < count; i++) {if (strcmp(name, member[i].name) == 0) {printf("\t\t\t姓名\t性别\t年龄\t电话\t地址\n");printf("\t\t\t%s\t%s\t%d\t%s\t%s\n", member[i].name, member[i].sex, member[i].age, member[i].tel, member[i].address);return;}}printf("\t\t\t没有找到该会员!\n");}void modify() {if (count == 0) {printf("\t\t\t无会员信息!\n");return;}int i;char name[MAXLEN];printf("\t\t\t请输入要修改的会员姓名:");scanf("%s", name);for (i = 0; i < count; i++) {if (strcmp(name, member[i].name) == 0) {printf("\t\t\t请输入新的性别:");scanf("%s", member[i].sex);printf("\t\t\t请输入新的年龄:");scanf("%d", &member[i].age);printf("\t\t\t请输入新的电话:");scanf("%s", member[i].tel);printf("\t\t\t请输入新的地址:"); scanf("%s", member[i].address);printf("\t\t\t修改成功!\n");return;}}printf("\t\t\t没有找到该会员!\n");}void quit() {printf("\t\t\t谢谢使用!\n");exit(0);}。

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

小超市管理系统可运行代码
{
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);

超市会员管理系统课程设计报告

超市会员管理系统课程设计报告

一、需求分析用java 语言写一个超市会员管理系统,实现对超市会员的增加,修改,查找,删除,浏览,商品的增加和购买情况,按类别统计,会员购买商品,通过连接数据库实现。

二、概要设计设计模块图如图1图1 设计模块图三、运行环境、开发语言运行环境:Window7,jdk1.6.0_19,hsqldb.jar 开发语言:Java四、详细设计1 程序清单表1超市会员表marketmember 超市会员表 mname varchar(120) mid int mage intpnamevarchar(120)表2 超市商品表marketproduct 超市商品表 pnamevarchar(120)超市会员管理系统添加超市会员修改会员信息删除会员信息查找会员信息浏览会员信息增加商品商品购买情况按类别统计购买商品pid intpclass varchar(20)pkucun int2 主要代码2.1 初始化超市会员表public void inittable1()throws SQLException{String sql="create table marketmember(mname varchar(120),mid int,mage int,pname varchar(120))";Statement stmt=con.createStatement();stmt.executeUpdate(sql);stmt.close();2.2 增加超市会员信息功能增加超市会员信息,输入要增加的会员的会员名称,会员号,会员年龄,最近购买的商品,增加到数据库中,该功能截图如图1所示。

具体代码如下:图1 增加超市会员信息public void addtable1()throws SQLException{System.out.println("请输入会员名称");String _name=scanner.next();System.out.println("请输入会员号");int _id=scanner.nextInt();System.out.println("请输入会员年龄");int _age=scanner.nextInt();System.out.println("请输入最近购买的商品名");String _pname=scanner.next();String sql="insert into marketmember(mname,mid,mage,pname)values(?,?,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1,_name);pstmt.setInt(2,_id);pstmt.setInt(3,_age);pstmt.setString(4,_pname);pstmt.execute();Statement stmt=con.createStatement();stmt.close();}2.3 在超市会员表中修改会员信息修改超市会员信息,输入要修改的会员号,修改后的会员姓名,修改后的会员年龄,把修改后的数据增加到数据库,该功能截图如图2所示,具体代码如下:图2 修改超市会员信息public void updatetable1(int id)throws Exception{System.out.println("请输入修改后的会员姓名");String name=scanner.next();System.out.println("请输入修改后的会员年龄");int age=scanner.nextInt();String sql="update marketmember set mage="+age+" where mid="+id;String sql1="update marketmember set mname='"+name+"' where mid="+id;Statement stmt=con.createStatement();stmt.executeUpdate(sql);stmt.executeUpdate(sql1);int r=stmt.executeUpdate(sql);if(r>0){System.out.println("修改成功!");}else{System.out.println("该会员信息不存在!");}stmt.close();}2.4在超市会员表中查找会员信息在会员表中查找会员信息,输入要查找的会员号,该功能截图如图3所示,具体代码如下:图3 查找超市会员信息public void searchtable1(int id)throws Exception{String sql="select * from marketmember where mid="+id;Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);int n=0;while(rs.next()){n=n+1;String mname=rs.getString("mname");int mid=rs.getInt("mid");int mage=rs.getInt("mage");String pname=rs.getString("pname");System.out.println(" 会员名称:"+mname+" 会员号:"+mid+" 会员年龄:"+mage+" 最近购买情况:"+pname);}if(n==0){System.out.println("该会员信息不存在!");}rs.close();stmt.close();}2.5 在超市会员表中浏览会员信息浏览会员表中会员的信息,该功能截图如图4所示,具体代码如下:图4 浏览超市会员表中会员信息public void selecttable1()throws Exception{String sql="select * from marketmember";Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);while(rs.next()){String mname=rs.getString("mname");int mid=rs.getInt("mid");int mage=rs.getInt("mage");String pname=rs.getString("pname");System.out.println(" 会员名称:"+mname+" 会员号:"+mid+" 会员年龄:"+mage+" 最近购买商品:"+pname);}rs.close();stmt.close();}2.6 在超市会员表中删除会员信息在超市会员表中删除会员的信息,输入要删除的会员信息的会员号,并更新到数据库,该功能截图如图5所示,具体代码如下:图5 超市会员表中删除会员信息public void deletetable1(int mid)throws Exception{String sql="delete from marketmember where mid="+mid;Statement stmt=con.createStatement();int r=stmt.executeUpdate(sql);if(r>0){System.out.println("删除成功!");}else{System.out.println("该会员信息不存在!");}stmt.close();}2.7 在超市商品表中增加商品信息在超市会员表中,增加商品信息,输入要增加的商品名,商品号,商品类别,现有库存,并将信息增加到数据库,该功能截图如图6所示,具体代码如下:图6 增加商品信息public void addtable2()throws SQLException{System.out.println("请输入增加的商品名");String _pname=scanner.next();System.out.println("请输入增加的商品号");int _pid=scanner.nextInt();System.out.println("请输入增加的商品类别");String _pclass=scanner.next();System.out.println("请输入现有库存");int _pkucun=scanner.nextInt();String sql="insert into marketproduct(pname ,pid ,pclass,pkucun)values(?,?,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1,_pname);pstmt.setInt(2,_pid);pstmt.setString(3,_pclass);pstmt.setInt(4,_pkucun);pstmt.execute();Statement stmt=con.createStatement();stmt.close();}2.8 商品购买情况查询商品的购买情况,输入要查询的商品的名称,该功能截图如图7所示,具体代码如下:图7 商品购买情况public void buyproduct( String name )throws SQLException{String sql="select pname ,mname,mid,pclass from marketproduct,marketmember where marketmember.pname=marketproduct.pname andmarketmember.pname='"+name+"'";Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);int n=0;while(rs.next()){n++;String pname=rs.getString("pname");String mname=rs.getString("mname");int mid=rs.getInt("mid");String pclass=rs.getString("pclass");System.out.println(" 商品名称:"+pname+" 购买会员名称:"+mname+"购买会员号:"+mid+" 商品类别:"+pclass);}if(n==0){System.out.println("该商品不存在!");}rs.close();stmt.close();}2.9 按类别统计按类别统计商品,输入要统计的商品类别,该功能截图如图8所示,具体代码如下:图8 按类别统商品public void searchclass(String class1)throws Exception{String sql="select * from marketproduct where pclass='"+class1+"'";Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);int n=0;while(rs.next()){n++;String pname=rs.getString("pname");long pid=rs.getLong("pid");int pkucun=rs.getInt("pkucun");String pclass=rs.getString("pclass");System.out.println(" 商品名称:"+pname+" 商品号:"+pid+" 商品库存量:"+pkucun+" 商品类别:"+pclass);}if(n==0){System.out.println("该商品类别不存在!");}rs.close();stmt.close();}2.10 购买商品购买商品,输入会员的会员号,购买到额商品名,购买商品数量,该功能截图如图9所示,具体代码如下:public void buy()throws SQLException{System.out.println("请输入会员号");int _id=scanner.nextInt();System.out.println("请输入购买商品名");String _pname=scanner.next();System.out.println("请输入购买商品数量");int n=scanner.nextInt();String sql="select mname,mid,pname,pid,pkucun frommarketmember,marketproduct where marketmember.pname=marketproduct.pname andmarketmember.mid="+_id+" and marketproduct.pname='"+_pname+"'";Statement stmt=con.createStatement();ResultSet rs=stmt.executeQuery(sql);while(rs.next()){String mname=rs.getString("mname");int mid=rs.getInt("mid");int pkucun=rs.getInt("pkucun");String pname=rs.getString("pname");int pid=rs.getInt("pid");if(n>pkucun){ System.out.println("库存量不够,不能购买!");break;}else {pkucun=pkucun-n;System.out.println(" 会员名称:"+mname+" 会员号:"+mid+" 购买商品名:"+pname+" 购买商品号:"+pid+" 购买数量:"+n+" 现有库存量:"+pkucun);String sql1="update marketproduct set pkucun="+pkucun+"where pname='"+pname+"'";stmt.executeUpdate (sql1);}}rs.close();stmt.close();}五、调试与分析(1)在与数据库连接的时候要先装载驱动String driver="org.hsqldb.jdbcDriver";Class.forName(driver);再进行其他操作。

超市商品管理系统源代码

超市商品管理系统源代码

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class sale2 extends JFrame implements ActionListener //销售界面{private JPanel sM=new JPanel(); //supermarket面板JLabel label1,label2;JTextField field1,field2;JButton button1,button2;String num=null,name=null,time=null,add=null,t1=null,t2=null,t3=null;int price=0,countBG,n1;// 价格/商品的卖出数量private JTextArea goodsShow=new JTextArea(); //文本区private JScrollPane jsp=new JScrollPane(goodsShow); //滚动区域设定内容为商品显示的文本区private JButton[] pS={new JButton(&quot;销售界面&quot;),new JButton(&quot;销售管理&quot;),new JButton(&quot;商品管理&quot;),new JButton(&quot;用户管理&quot;)}; //personty 按钮private JLabel[] CD={new JLabel(&quot;清单号&quot;,JLabel.CENTER),new JLabel(&quot;编号&quot;,JLabel.CENTER),new JLabel(&quot;名称&quot;,JLabel.CENTER),new JLabel(&quot;价格&quot;,JLabel.CENTER),new JLabel(&quot;生产日期&quot;,JLabel.CENTER),new JLabel(&quot;产地&quot;,JLabel.CENTER),new JLabel(&quot;数量&quot;,JLabel.CENTER)}; //帐单查询时的商品显示标签public sale2(){label1=new JLabel(&quot;按编号查询&quot;,JLabel.CENTER);label2=new JLabel(&quot;按帐单查询&quot;,JLabel.CENTER);field1=new JTextField(30);field2=new JTextField(30);button1=new JButton(&quot;查询1&quot;);button2=new JButton(&quot;查询2&quot;);sM.setLayout(null);field1.setBounds(100,120,150,22);field2.setBounds(600,120,150,22);label1.setBounds(100,90,150,30);label2.setBounds(600,90,150,30);button1.setBounds(260,120,80,22);button2.setBounds(760,120,80,22);button1.addActionListener(this);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&lt;4;i++){pS[i].setBounds(550+i*110,50,100,22);sM.add(pS[i]);pS[i].addActionListener(this);}for(int i=0;i&lt;7;i++) //6个标签的绘制{CD[i].setBounds(100+i*115,160,115,20); sM.add(CD[i]);}jsp.setBounds(100,180,800,500); goodsShow.setLineWrap(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0);}});sM.add(jsp);this.add(sM);this.setTitle(&quot;销售窗口&quot;);this.setResizable(false);this.setBounds(0,0,1024,768);this.setVisible(true);}public void actionPerformed(ActionEvent p) {Connection con,con1;Statement sql,sql1;String url = &quot;jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\supermarket.mdb&quot;;ResultSet rs,rs1;if (p.getSource()==button1){String num=field1.getText();try { Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;);}catch (ClassNotFoundException f){System.out.println(&quot;&quot;+f);}try{con=DriverManager.getConnection(url);sql=con.createStatement();rs=sql.executeQuery(&quot;SELECT count(goodsnum) FROM information where goodsnum=&#39;&quot;+num+&quot;&#39;&quot;);while(rs.next()){countBG=rs.getInt(1);System.out.println(countBG);}rs=sql.executeQuery(&quot;SELECT * FROM goods where num=&#39;&quot;+num+&quot;&#39;&quot;);while(rs.next()){name=rs.getString(2);price=rs.getInt(3);time=rs.getString(4);add=rs.getString(5);n1=1;}con.close();}catch (SQLException g){System.out.println(g);}if (n1==1){ goodsShow.append(&quot; (物品销售量查询) &quot;+num+&quot; &quot;+name+&quot; &quot;+price+&quot; &quot;+time+&quot; &quot;+add+&quot; &quot;+countBG+&quot;\n&quot;);n1=0;}else{//goodsShow.setText(&quot; &quot;);num=null;name=null;price=0;time=null;add=null;JOptionPane.showMessageDialog(this,&quot; 输入错误\n 请重新输入&quot;,&quot;提示&quot;,JOptionPane.WARNING_MESSAGE);}}if(p.getSource()==pS[0]){View2 frame=new View2();dispose();}if(p.getSource()==pS[2]){Frm_Main frame=new Frm_Main();dispose();}if(p.getSource()==pS[3]){View3 frame=new View3();dispose();}if (p.getSource()==button2){String numb=field2.getText();int num=Integer.parseInt(numb);try { Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;);}catch (ClassNotFoundException f)System.out.println(&quot;&quot;+f);}try{con=DriverManager.getConnection(url);sql=con.createStatement();rs=sql.executeQuery(&quot;SELECT goodsnum,count(goodsnum) FROM information wherelistnum=&quot;+num+&quot; group by goodsnum&quot;);while(rs.next()){ con1=DriverManager.getConnection(url);sql1=con1.createStatement();String number=rs.getString(1);countBG=rs.getInt(2);System.out.println(countBG+number+name+time+price+add);rs1=sql1.executeQuery(&quot;SELECT * FROM goods wherenum=&#39;&quot;+number+&quot;&#39;&quot;);while (rs1.next()){name=rs1.getString(2);price=rs1.getint(3);time=rs1.getString(4);add=rs1.getString(5);goodsShow.append(&quot; &quot;+num+&quot; &quot;+number+&quot; &quot;+name+&quot; &quot;+price+&quot; &quot;+time+&quot; &quot;+add+&quot;&quot;+countBG+&quot;\n&quot;);}con1.close();}con.close();}catch (SQLException g){System.out.println(g);}//{// goodsShow.setText(&quot; &quot;);// num=null;name=null;price=0;time=null;add=null;// JOptionPane.showMessageDialog(this,&quot;输入错误\n 请重新输入&quot;,&quot;提示&quot;,JOptionPane.WARNING_MESSAGE);// }}}}public class View2 extends JFrame implements ActionListener //销售界面{String num=null,name=null,time=null,add=null,t1=null,t2=null,t3=null;int price=0;int n1,n2,ap,n3;private JPanel sM=new JPanel(); //supermarket面板private JButton[] pS={new JButton(&quot;销售界面&quot;),new JButton(&quot;销售管理&quot;),new JButton(&quot;商品管理&quot;),new JButton(&quot;权限管理&quot;)};//personty按钮private JTextArea goodsShow=new JTextArea(), searchShow=new JTextArea(); //文本区private JScrollPane jsp=new JScrollPane(goodsShow); //滚动区域设定内容为商品显示的文本区private JTextField numSearch=new JTextField(),showGoods=new JTextField(); //商品查询/显示商品private JButton searchGoods=new JButton(&quot;搜索&quot;),buyGoods=new JButton(&quot;购买&quot;),clean=new JButton(&quot;清空&quot;), ok=new JButton(&quot;提交&quot;),print=new JButton(&quot;打印并提交&quot;); //查询按钮private JLabel[] goodsInformation={new JLabel(&quot;商品编码&quot;,JLabel.CENTER),new JLabel(&quot;商品名称&quot;,JLabel.CENTER),new JLabel(&quot;商品价格&quot;,JLabel.CENTER),new JLabel(&quot;生产日期&quot;,JLabel.CENTER),new JLabel(&quot;生产地&quot;,JLabel.CENTER) };private JLabel[] goodsI={new JLabel(&quot;商品编码&quot;,JLabel.CENTER),new JLabel(&quot;商品名称&quot;,JLabel.CENTER),new JLabel(&quot;商品价格&quot;,JLabel.CENTER),new JLabel(&quot;生产日期&quot;,JLabel.CENTER),new JLabel(&quot;生产地&quot;,JLabel.CENTER) } ; private JLabel allPrice=new JLabel(&quot;商品总价:\n&quot;,JLabel.LEFT),label1=new JLabel(&quot;商品信息&quot;,JLabel.RIGHT),label2=new JLabel(&quot;购物信息 &quot;,JLabel.RIGHT); public View2(){sM.setLayout(null);for(int i=0;i&lt;4;i++){pS[i].setBounds(550+i*110,50,100,22);sM.add(pS[i]);pS[i].addActionListener(this);}jsp.setBounds(100,180,800,500);goodsShow.setLineWrap(true);numSearch.setBounds(100,50,150,22);searchGoods.setBounds(260,50,60,22);searchGoods.addActionListener(this);buyGoods.setBounds(330,50,60,22);buyGoods.addActionListener(this);showGoods.setBounds(100,120,800,22);for (int b=0;b&lt;5 ;b++ ){goodsInformation[b].setBounds(100+160*b,87,160,30);sM.add(goodsInformation[b]);}for (int b=0;b&lt;5 ;b++ ){goodsI[b].setBounds(100+160*b,150,160,30);sM.add(goodsI[b]);}clean.setBounds(100,690,100,22);clean.addActionListener(this);ok.setBounds(690,690,100,22);ok.addActionListener(this);print.setBounds(800,690,100,22);print.addActionListener(this);allPrice.setBounds(900,480,100,50);label1.setBounds(20,120,80,22);label2.setBounds(20,180,80,22);sM.add(label1);sM.add(label2);sM.add(allPrice);sM.add(print);sM.add(ok);sM.add(showGoods);sM.add(clean);sM.add(numSearch);sM.add(searchGoods);sM.add(buyGoods);sM.add(jsp);addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {Connection con;Statement sql;ResultSet rs;try{if (n3!=0){int a1=0;con=DriverManager.getConnection(&quot;jdbc:odbc:q&quot;,&quot;&quot;,&quot;&quot ;);sql=con.createStatement();rs=sql.executeQuery(&quot;SELECT MAX(编号) from information&quot;);while(rs.next()){a1=rs.getInt(1);}for (int i=0;i&lt;n3 ;i++ ){sql.executeUpdate(&quot;delete from information where 编号=&quot;+(a1-i));}con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);}}catch (SQLException g){System.out.println(g);}System.exit(0);}});this.add(sM);this.setTitle(&quot;销售窗口&quot;);this.setResizable(false);this.setBounds(0,0,1024,768);this.setVisible(true);validate(); }if(p.getSource()==buyGoods) //购买按键{try{if (num!=null){con=DriverManager.getConnection(&quot;jdbc:odbc:q&quot;,&quot;&quot;,&quot;&quot;);sql=con.createStatement();sql.executeUpdate(&quot;insert into information(listnum,goodsnum)values(&#39;&quot;+n2+&quot;&#39;,&#39;&quot;+num+&quot;&#39;)&quot;);rs=sql.executeQuery(&quot;SELECT * FROM information where listnum=&quot;+n2);n3++;//记录购买商品个数con.close();goodsShow.append(&quot; &quot;+num+&quot; &quot;+name+&quot;&quot;+price+&quot; &quot;+time+&quot; &quot;+add+&quot;\n&quot;); }else{JOptionPane.showMessageDialog(this,&quot;请选择商品&quot;,&quot;提示&quot;,JOptionPane.WARNING_MESSAGE);}ap=ap+price;//总价allPrice.setText(&quot;商品总价:\n&quot;+ap);}catch (SQLException g){System.out.println(g);}}if(p.getSource()==ok){try{if (n3!=0){con=DriverManager.getConnection(&quot;jdbc:odbc:q&quot;,&quot;&quot;,&quot;&quot;);sql=con.createStatement();sql.executeUpdate(&quot;insert into information(listnum,allprice)values(&#39;&quot;+n2+&quot;&#39;,&#39;&quot;+ap+&quot;&#39;)&quot;);rs=sql.executeQuery(&quot;SELECT * FROM information where listnum=&quot;+n2);con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);n2++;//帐单号}else{JOptionPane.showMessageDialog(this,&quot;请购买商品&quot;,&quot;提示&quot;,JOptionPane.WARNING_MESSAGE);}}catch (SQLException g){System.out.println(g);}}if(p.getSource()==print){try{if (n3!=0){con=DriverManager.getConnection(&quot;jdbc:odbc:q&quot;,&quot;&quot;,&quot;&quot ;);sql=con.createStatement();sql.executeUpdate(&quot;insert into information(listnum,allprice) values(&#39;&quot;+n2+&quot;&#39;,&#39;&quot;+ap+&quot;&#39;)&quot;);rs=sql.executeQuery(&quot;SELECT * FROM informationwhere listnum=&quot;+n2);con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);n2++;//帐单号}else{JOptionPane.showMessageDialog(this,&quot;请购买商品&quot;,&quot;提示&quot;,JOptionPane.WARNING_MESSAGE);}}catch (SQLException g){System.out.println(g);}}if(p.getSource()==clean){ try{ if (n3!=0){ int a1=0;con=DriverManager.getConnection(&quot;jdbc:odbc:q&quot;,&quot;&quot;,&quot;&quot ;);sql=con.createStatement();rs=sql.executeQuery(&quot;SELECT MAX(编号) from information&quot;);while(rs.next()) {a1=rs.getInt(1);}for (int i=0;i&lt;n3 ;i++ ){ sql.executeUpdate(&quot;delete from information where 编号=&quot;+(a1-i)); } con.close();ap=0;num=null;name=null;price=0;time=null;add=null;n3=0;goodsShow.setText(null);} }catch (SQLException g){System.out.println(g);} }public class Login extends Frame implements ActionListener,WindowListener //登陆界面{public int screanWidth,screanHeight;String idin=null;String keyin=null;String passwordD=null;public static String persontyD=null;MenuBar menubar;Menu menu;MenuItem quet,help;Label id,key;TextField idtf,keytf;Box boxV1,boxV2,boxV3,baseBox,boxx;Button enterB;Login(){ setTitle(&quot;超市管理系统登陆界面&quot;);Toolkit tool=getToolkit();Dimension dim=tool.getScreenSize();screanWidth=dim.width;screanHeight=dim.height;setBounds(dim.width/3,dim.height/3,320,215);menubar=new MenuBar();menu=new Menu(&quot;功能&quot;);help=new MenuItem(&quot;帮助&quot;);quet=new MenuItem(&quot;退出&quot;);quet.setShortcut(new MenuShortcut(KeyEvent.VK_E));quet.addActionListener(new ActionListener() //匿名类实例控制{public void actionPerformed(ActionEvent p){System.exit(0);}} );menu.add(help);menu.add(quet);menubar.add(menu);setMenuBar(menubar);id=new Label(&quot;请输入帐号:&quot;,Label.RIGHT);key=new Label(&quot;请输入密码:&quot;,Label.RIGHT);idtf=new TextField(10);keytf=new TextField(10);keytf.setEchoChar(&#39;*&#39;);enterB=new Button(&quot;登陆&quot;);boxV1=Box.createVerticalBox();boxV1.add(Box.createVerticalStrut(35));boxV1.add(id);boxV1.add(Box.createVerticalStrut(15));boxV1.add(key);boxV1.add(Box.createVerticalStrut(15));boxV2=Box.createVerticalBox();boxV2.add(Box.createVerticalStrut(35));boxV2.add(idtf);boxV2.add(Box.createVerticalStrut(15));boxV2.add(keytf);boxV2.add(Box.createVerticalStrut(15));baseBox=Box.createHorizontalBox();baseBox.add(Box.createHorizontalStrut(25));baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(5));baseBox.add(boxV2);baseBox.add(Box.createHorizontalStrut(70));boxV3=Box.createHorizontalBox();boxV3.add(Box.createHorizontalStrut(125));boxV3.add(enterB);boxV3.add(Box.createHorizontalStrut(125));boxx=Box.createVerticalBox();boxx.add(baseBox);boxx.add(Box.createVerticalStrut(15));boxx.add(boxV3);boxx.add(Box.createVerticalStrut(70));add(boxx);enterB.addActionListener(this);addWindowListener(this);setResizable(false);setVisible(true);}public void actionPerformed(ActionEvent e){ Connection con;Statement sql;ResultSet rs;if (e.getSource()==enterB){ idin=idtf.getText();keyin=keytf.getText();try { Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;); }catch (ClassNotFoundException f){System.out.println(&quot;&quot;+f);}try{con=DriverManager.getConnection(&quot;jdbc:odbc:q&quot;,&quot;&quot;,&quot;&quot;);sql=con.createStatement();rs=sql.executeQuery(&quot;SELECT * FROM password whereID=&#39;&quot;+idin+&quot;&#39;&quot;);while(rs.next()){passwordD=rs.getString(2);persontyD=rs.getString(3);}con.close();}catch (SQLException g){System.out.println(g);}if (keyin.equals(passwordD)){View2 frame=new View2();this.setVisible(false); }else {JOptionPane.showMessageDialog(this,&quot; 帐户或密码错误\n 请重新输入&quot;,&quot;提示&quot;,JOptionPane.WARNING_MESSAGE); } } }public void windowActivated(WindowEvent o){validate();}public void windowDeactivated(WindowEvent o){setBounds(screanWidth/3,screanHeight/3,320,215);validate();}public void windowClosing(WindowEvent o) {dispose();}public void windowClosed(WindowEvent o) {System.exit(0);}public void windowIconified(WindowEvent o){}public void windowDeiconified(WindowEvent o) {setBounds(screanWidth/3,screanHeight/3,320,215); validate();}public void windowOpened(WindowEvent o){}}。

(店铺管理)超市管理系统代码最全版

(店铺管理)超市管理系统代码最全版

(店铺管理)超市管理系统代码usingSystem;usingSystem.Collections.Generic;ponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.T ext;usingSystem.Windows.Forms;namespace超市管理信息系统{publicpartialclassf_供应商基本信息:Form{//公有变量记录选定数据publicstringstrOldNO="";publicstringstrOldName="";publicstringstrOldAdd="";publicf_供应商基本信息(){InitializeComponent();}privatevoidf_供应商基本信息_Load(objectsender,EventArgse){//TODO:这行代码将数据加载到表“连锁超市管理信息数据库DataSet.供应商”中。

您能够根据需要移动或移除它。

this.供应商T ableAdapter.Fill(this.连锁超市管理信息数据库DataSet.供应商); }//新增数据单击事件privatevoidbtnInsert_Click(objectsender,EventArgse){//获取前台数据stringstrName=txtName.T ext;stringstrAdd=txtAdd.T ext;stringstrNO=txtNO.T ext;intiNO=0;intiErrCode=0;//对前台编号数据的格式审核try{iNO=Convert.ToInt32(txtNO.T ext.Trim());}catch(ExceptioneINO){iErrCode=1;}//对前台名称数据的格式审核if(strName.Length>20)iErrCode=2;}if(strAdd.Length>30){iErrCode=3;}if(iErrCode!=0){MessageBox.Show("你所输入的数据有误,请核查!");}else{try{//新增写入数据库this.供应商T ableAdapter.Insert(iNO,strName,strAdd);}catch(ExceptionexInsert){MessageBox.Show("新增数据发生错误,请和管理员联系!"); }//刷新数据列数this.供应商T ableAdapter.Fill(this.连锁超市管理信息数据库DataSet.供应商);}//单击数据表单元格触发事件privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse) {//获取对应行的各个单元格数据stringstrNO=this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); stringstrName=this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); stringstrAdd=this.dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); //填充回对应的文本框txtNO.T ext=strNO;txtName.T ext=strName;txtAdd.T ext=strAdd;//将原数据值赋予公有变量strOldNO=strNO;strOldName=strName;strOldAdd=strAdd;}//删除按钮事件privatevoidbtnDelete_Click(objectsender,EventArgse)//获取前台数据stringstrName=txtName.T ext; stringstrAdd=txtAdd.T ext; stringstrNO=txtNO.T ext;intiNO=0;intiErrCode=0;//对前台编号数据的格式审核try{iNO=Convert.ToInt32(txtNO.T ext.Trim()); }catch(ExceptioneINO){iErrCode=1;}//对前台名称数据的格式审核if(strName.Length>20){iErrCode=2;}if(strAdd.Length>30)iErrCode=3;}if(iErrCode!=0){MessageBox.Show("你所输入的数据有误,请核查!");}else{try{//新增写入数据库this.供应商T ableAdapter.Delete(iNO,strName,strAdd);}catch(ExceptionexInsert){MessageBox.Show("删除数据发生错误,请和管理员联系!");}}//刷新数据列数this.供应商T ableAdapter.Fill(this.连锁超市管理信息数据库DataSet.供应商); }//修改按钮事件privatevoidbtnUpdate_Click(objectsender,EventArgse) {//获取前台数据stringstrName=txtName.T ext;stringstrAdd=txtAdd.T ext;stringstrNO=txtNO.T ext;intiNO=0;intiErrCode=0;//对前台编号数据的格式审核try{iNO=Convert.ToInt32(txtNO.T ext.Trim());}catch(ExceptioneINO){iErrCode=1;}//对前台名称数据的格式审核if(strName.Length>20){iErrCode=2;}if(strAdd.Length>30){iErrCode=3;}if(iErrCode!=0){MessageBox.Show("你所输入的数据有误,请核查!");}else{try{this.供应商TableAdapter.Update(iNO,strName,strAdd,Convert.ToInt32(strOldNO),strOldName,s trOldAdd);}catch(ExceptionexUpdate){MessageBox.Show("修改数据发生错误,请和管理员联系!");}}//刷新数据列数this.供应商T ableAdapter.Fill(this.连锁超市管理信息数据库DataSet.供应商); }}}usingSystem;usingSystem.Collections.Generic;ponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.T ext;usingSystem.Windows.Forms;namespace超市管理信息系统{publicpartialclassf_供应商基本信息:Form{//公有变量记录选定数据publicstringstrOldNO="";publicstringstrOldName="";publicstringstrOldAdd="";publicf_供应商基本信息(){InitializeComponent();privatevoidf_供应商基本信息_Load(objectsender,EventArgse){//TODO:这行代码将数据加载到表“连锁超市管理信息数据库DataSet.供应商”中。

超市系统的源代码

超市系统的源代码

}//获得指定商品信息publicstaticString[]getRowStock(Stringid){String[]s=newString[6];1.DBUtil_SM.class自定义了各种对数据操作的静态方法,包括对各个数据库的增删改查,其中关于user表中的删除仅能由权限2以上的治理人员执行,代码如下(手工编写)packagepaim;importjava.sql.*;importjava.util.*;importjava.io.*;publicclassDBUtil_SM{//猎取用户信息publicstaticList<String[]>getVIPList(){ArrayList<String[]>vl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="selectid,name,age,sex,workuntil,tel,lvl,totalfromVIP_IM";ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[8];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}vl.add(s);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnvl;}//猎取库存信息publicstaticList<String[]>getStockList(){ArrayList<String[]>sl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selectid,name,price,count,vprice,typefromstockorderbytype"; ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[6];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}sl.add(s);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnsl;}//添加用户信息publicstaticvoidtoInsertID(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="insertintoVIP_IMvalues('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"','"+s[4]+"','"+s[5]+"','"+s[6]+"','"+s[7] +"')";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//删除用户信息publicstaticvoidtoDelID(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();st.executeUpdate("deletefromVIP_IMwhereid='"+id+"'");st.executeUpdate("deletefromuserwhereid='"+id+"'");st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//更新用户数据publicstaticvoidtoUpdateID(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="updateVIP_IMsetname='"+s[1]+"',age="+s[2]+",sex='"+s[3]+"',workuntil='"+s[4]+"',tel='"+s[5]+"',lvl= '"+s[6]+"',total="+s[7]+"whereid='"+s[0]+"'";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//提取一个用户信息publicstaticString[]getRowID(Stringid){String[]s=newString[8];try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectid,name,age,sex,workuntil,tel,lvl,totalfromVIP_IMwhereid='"+id+"'");if(rs.next()){for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returns;}//删除库存信息publicstaticvoidtoDelStock(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();st.executeUpdate("deletefromstockwhereid='"+id+"'");st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//添加库存信息publicstaticvoidtoInsertStock(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="insertintostockvalues('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"','"+s[4]+"','"+s[5]+"')"; st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//更新物品信息publicstaticvoidtoUpdateStock(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="updatestocksetname='"+s[1]+"',price="+s[2]+",count="+s[3]+",vprice="+s[4]+",type='"+s[5]+"'wherei d='"+s[0]+"'";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectid,name,price,count,vprice,typefromstockwhereid='"+id+"'");if(rs.next()){for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returns;}//用户登录publicstaticintgetUser(String[]k){String[]s=newString[4];inti=0;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();ResultSetrs=st.executeQuery("selectid,name,lit,pswfromuserwhereid='"+k[0]+"'"); if(rs.next()){for(intj=0;j<s.length;j++){s[j]=rs.getString(j+1);}i=5;}else{returni;}if(k[1].equals(s[3])){if(s[2].equals("1")){i=1;}else{i=2;}}else{i=3;}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returni;}//修改密码publicstaticvoidtoUpdatePsw(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="updateusersetpsw='"+s[1]+"'whereid='"+s[0]+"'";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//猎取积分列表publicstaticList<String[]>getTotalList(){ArrayList<String[]>sl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selectid,name,totalfromtotalorderbytotal";ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[3];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnsl;}//猎取商品积分publicstaticintgetTotalS(Stringid){intt=0;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selecttotalfromtotalwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);if(rs.next()){t=rs.getInt(1);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnt;}//猎取用户积分publicstaticintgetTotalV(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selecttotalfromVIP_IMwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);if(rs.next()){t=rs.getInt(1);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnt;}//猎取积分商品名称publicstaticStringgetTotalName(Stringid){Stringt="";try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="selectnamefromtotalwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);if(rs.next()){t=rs.getString(1);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnt;}//积分兑换表publicstaticvoidaddList(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="insertintototallist(id,name,ltotal,tname,ttotal)values('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"','"+s[4]+"') ";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//用户消费记录publicstaticList<String[]>getIDTotal(Stringid){ArrayList<String[]>sl=newArrayList<String[]>();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="selectid,name,ltotal,tname,ttotalfromtotallistwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);while(rs.next()){String[]s=newString[5];for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}sl.add(s);}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returnsl;}//用户账户插进publicstaticvoidtoInsertUser(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="insertintouservalues('"+s[0]+"','"+s[1]+"','"+s[2]+"','"+s[3]+"')"; st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//积分物品添加publicstaticvoidaddTotal(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="insertintototalvalues('"+s[0]+"','"+s[1]+"','"+s[2]+"')";st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//更新积分物品信息publicstaticvoidtoUpdateTotal(String[]s){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();Stringsql="updatetotalsetname='"+s[1]+"',total='"+s[2]+"'whereid='"+s[0]+"'"; st.executeUpdate(sql);st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//删除积分物品信息publicstaticvoidtoDelTotal(Stringid){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","",""); Statementst=con.createStatement();st.executeUpdate("deletefromtotalwhereid='"+id+"'");st.close();con.close();}catch(Exceptione){e.printStackTrace();}}//猎取积分列表publicstaticString[]getTotalListS(Stringid){String[]s=newString[3];try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:dbsm","","");Statementst=con.createStatement();Stringsql="selectid,name,totalfromtotalwhereid='"+id+"'";ResultSetrs=st.executeQuery(sql);while(rs.next()){for(inti=0;i<s.length;i++){s[i]=rs.getString(i+1);}}rs.close();st.close();con.close();}catch(Exceptione){e.printStackTrace();}returns;}}2.SMServlet.class用于响应jsp请求依据情况调用DBUtil_SM中的方法,返回结果,代码如下(手工编写)packagepaim;importjavax.servlet.*;importjavax.servlet..*;importjava.io.*;publicclassSMServletextendsServlet{@OverridepublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException {doPost(request,response);}@OverridepublicvoiddoPost(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException {Stringaction=request.getParameter("action");if(action.equals("del_id"))//删除用户{Stringid=request.getParameter("id");DBUtil_SM.toDelID(id);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("add_id"))//添加用户{String[]s=newString[9];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("age")!=null){s[2]=newString(request.getParameter("age").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("sex")!=null){s[3]=newString(request.getParameter("sex").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("workuntil")!=null){s[4]=newString(request.getParameter("workuntil").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("tel")!=null){s[5]=newString(request.getParameter("tel").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("lvl")!=null){s[6]=newString(request.getParameter("lvl").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("total")!=null){s[7]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");}s[8]=newString(request.getParameter("psw").getBytes("ISO8859_1"),"GB2312");} String[]g=newString[2];g[0]=s[0];g[1]=s[8];if(DBUtil_SM.getUser(g)!=0)//返回0即不存在用户{request.getRequestDispatcher("/useradd.jsp?str=1").include(request,response);}else{String[]user=newString[4];user[0]=s[0];user[1]=s[1];user[2]="1";user[3]=s[8];DBUtil_SM.toInsertID(s);DBUtil_SM.toInsertUser(user);request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("update_id"))//修改用户信息{Stringlit=request.getParameter("lim");String[]s=newString[8];s[0]=request.getParameter("id");if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("age")!=null){s[2]=newString(request.getParameter("age").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("sex")!=null){s[3]=newString(request.getParameter("sex").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("workuntil")!=null){s[4]=newString(request.getParameter("workuntil").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("tel")!=null){s[5]=newString(request.getParameter("tel").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("lvl")!=null){s[6]=newString(request.getParameter("lvl").getBytes("ISO8859_1"),"GB2312");}s[7]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.toUpdateID(s);if(lit.equals("use"))//依据用户权限显示页面{request.getRequestDispatcher("/userlist.jsp?id="+s[0]).include(request,response);}else{request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("del_stock"))//删除物品{Stringid=request.getParameter("id");DBUtil_SM.toDelStock(id);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("add_stock"))//添加物品信息{String[]s=newString[6];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("price")!=null){s[2]=newString(request.getParameter("price").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("count")!=null){s[3]=newString(request.getParameter("count").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("vprice")!=null){s[4]=newString(request.getParameter("vprice").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("type")!=null){s[5]=newString(request.getParameter("type").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.toInsertStock(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("update_stock"))//修改物品信息{if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("price")!=null){s[2]=newString(request.getParameter("price").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("count")!=null){s[3]=newString(request.getParameter("count").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("vprice")!=null){s[4]=newString(request.getParameter("vprice").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("type")!=null){s[5]=newString(request.getParameter("type").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.toUpdateStock(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("login"))//登陆验证{String[]k=newString[2];k[0]=request.getParameter("id");k[1]=request.getParameter("psw");inti=DBUtil_SM.getUser(k);if(i==1)//判定是否为用户{request.getRequestDispatcher("/userlist.jsp?id="+k[0]+"&&lim=use").forward(request,response); }if(i==0||i==5||i==3)//用户名不存在密码错误{request.getRequestDispatcher("/login.jsp?str=9").include(request,response);}if(i==2)//治理员跳转{request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("password"))//密码修改{k[0]=request.getParameter("id");k[1]=request.getParameter("opsw");String[]s=newString[2];s[0]=k[0];s[1]=request.getParameter("npsw1");inti=DBUtil_SM.getUser(k);if(i==1){DBUtil_SM.toUpdatePsw(s);request.getRequestDispatcher("/userlist.jsp?id="+s[0]+"&&lim=use").forward(request,response); }if(i==0||i==5||i==3){request.getRequestDispatcher("/update.jsp?id="+s[0]+"&&str=9").include(request,response);}if(i==2){DBUtil_SM.toUpdatePsw(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}}if(action.equals("total"))//兑换积分积分余额积分消费判定操作{String[]id=newString[2];id[0]=request.getParameter("id");id[1]=request.getParameter("tid");int[]t=newint[5];t[0]=DBUtil_SM.getTotalV(id[0]);t[1]=DBUtil_SM.getTotalS(id[1]);t[3]=t[0]-t[1];Stringtname=DBUtil_SM.getTotalName(id[1]);String[]sl=DBUtil_SM.getRowID(id[0]);String[]ll=newString[6];if(t[3]<0){request.getRequestDispatcher("/total.jsp?id="+id[0]+"&&str=1").forward(request,response);}else{sl[7]=Integer.toString(t[3]);ll[0]=sl[0];ll[1]=sl[1];ll[2]=Integer.toString(t[3]);ll[3]=DBUtil_SM.getTotalName(id[1]);ll[4]=Integer.toString(t[1]);DBUtil_SM.addList(ll);DBUtil_SM.toUpdateID(sl);request.getRequestDispatcher("/total.jsp?id="+id[0]).forward(request,response);}}if(action.equals("addtotal"))//添加积分物品{String[]s=newString[3];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");} if(request.getParameter("total")!=null){s[2]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");} DBUtil_SM.addTotal(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("del_total"))//删除积分物品{Stringid=request.getParameter("id");DBUtil_SM.toDelTotal(id);request.getRequestDispatcher("/admin.jsp").include(request,response);}if(action.equals("totalupdate"))//积分物品修改{String[]s=newString[3];if(request.getParameter("id")!=null){s[0]=newString(request.getParameter("id").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("name")!=null){s[1]=newString(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");}if(request.getParameter("total")!=null){s[2]=newString(request.getParameter("total").getBytes("ISO8859_1"),"GB2312");}DBUtil_SM.toUpdateTotal(s);request.getRequestDispatcher("/admin.jsp").include(request,response);}}}3.Web.xml为配置文件代码如下(自动生成后添加参数)<?xmlversion="1.0"encoding="ISO-8859-1"?><web-appxmlns="://java.sun/xml/ns/javaee"xmlns:xsi=":///2001/XMLSchema-instance"xsi:schemaLocation="://java.sun/xml/ns/javaee://java.sun/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>SuperMarket</display-name><description>SuperMarket</description><servlet><servlet-name>SMServlet</servlet-name><servlet-class>paim.SMServlet</servlet-class></servlet><servlet-mapping><servlet-name>SMServlet</servlet-name><url-pattern>/SMServlet</url-pattern></servlet-mapping><welcome-file-list><welcome-file></welcome-file></welcome-file-list></web-app>4.Admin.jsp文件为治理员治理模块的主界面,代码如下(HTML格式为自动生成,jsp 代码为手工编写)<%@pagecontentType="text/html;charset=gbk"import="paim.DBUtil_SM,java.util.*"%><head><linkrel="stylesheet"type="text/css"></head><bodybgcolor="#FFFFFF"><palign="center"><strong>用户信息治理</strong><%request.setCharacterEncoding("GBK");response.setCharacterEncoding("GBK");List<String[]>vl=DBUtil_SM.getVIPList();List<String[]>sl=DBUtil_SM.getStockList();List<String[]>tl=DBUtil_SM.getTotalList();%><tableborder=1borderColorDark=#ffffecborderColorLight=#5e5e00cellPadding=1cellSpacing=0width=100% ><trbgcolor=ccccccalign=center><td>用户名</td><td>年龄</td><td>性不</td><td>工作单位</td><td>联系方式</td><td>会员等级</td><td>积分</td><tdcolspan="2">治理</td></tr><%for(String[]s:vl){if(s[4]==null||s[4].equals("")){s[4]="暂无信息";}if(s[5]==null||s[5].equals("")){s[5]="暂无信息";}%><tralign="center"><td><ahref="userlist.jsp?id=<%=s[0]%>"><%=s[1]%></a></td><td><%=s[2]%></td><td><%=s[3]%></td ><td><%=s[4]%></td><td><%=s[5]%></td><td><%=s[6]%></td><td><%=s[7]%></td> <td><ahref="update.jsp?id=<%=s[0]%>&&lit=5">修改</a></td><td><ahref="SMServlet?action=del_id&&id=<%=s[0]%>">删除</a></td></tr>}%></table><palign="right"><ahref="useradd.jsp">添加用户</a><palign="center"><strong>库存信息治理</strong><tableborder=1borderColorDark=#ffffecborderColorLight=#5e5e00cellPadding=1cellSpacing=0width=100% ><trbgcolor=ccccccalign=center><td>商品编号</td><td>名称</td><td>价格</td><td>会员价</td><td>类型</td><td>库存</td><tdcolspan="2">治理</td></tr><%for(String[]s:sl){%><tralign=center><td><%=s[0]%></td><td><%=s[1]%></td><td><%=s[2]%></td><td><%=s[4]%></td><td><%=s[5]%></t d><td><%=s[3]%></td><td><ahref="stockupdate.jsp?id=<%=s[0]%>">修改</a></td><td><ahref="SMServlet?action=del_stock&&id=<%=s[0]%>">删除</a></td></tr><%}%></table><palign="right"><ahref="stockadd.jsp">添加物品</a><palign="center"><strong>积分物品信息治理</strong><tableborder=1borderColorDark=#ffffecborderColorLight=#5e5e00cellPadding=1cellSpacing=0width=100% ><trbgcolor=ccccccalign=center><td>编号</td><td>物品</td><td>所需积分</td><tdcolspan="2">治理</td></tr><%for(String[]s:tl){%>。

python实现超市管理系统(后台管理)

python实现超市管理系统(后台管理)

python实现超市管理系统(后台管理)本文实例为大家分享了python实现超市管理系统的具体代码,供大家参考,具体内容如下这个相比上个程序简单很多,首先他没有太过复杂的逻辑关系,它的逻辑线条很清晰,你能很清楚的知道要做什么,只要往自己想的方面实现就行,代码如下:# coding: utf-8# 定义仓库repository = dict()# 定义购物清单对象shop_list = []# 定义仓库里商品数量shangpin = [["1000001", "你好世界", 88.0, 10], \["1000002", "疯狂python讲义", 69.0, 12],\["1000003", "康复手册", 59.0, 188],\["1000004", "疯狂Java讲义", 109.0, 56],\["1000005", "疯狂Android讲义", 108.0, 100],\["1000006", "世界起源", 77.0, 122]]# 定义一个函数来初始化商品def init_repository():# 遍历商品生成仓库dict字典for i in range(len(shangpin)) :repository[shangpin[i][0]] = shangpin[i]#显示超市的商品清单,就是遍历代表仓库的dict字典def show_goods():print("欢迎来到哼嘿哈嘿乐园")print('哈嘿乐园的商品清单:')print("%13s%40s%10s%10s" % ("条码", "商品名称", "单价","数量"))# 遍历repository的所有value来显示商品清单for s in repository.values():s = tuple(s)print("%15s%40s%12s%12s" % s)# 显示购物清单,就是遍历代表购物清单的list列表def show_list():print("=" * 100)# 如果清单不为空的时候,输出清单的内容if not shop_list:print("还未购买商品")else:title = "%-5s|%15s|%40s|%10s|%4s|%10s" % \("ID", "条码", "商品名称", "单价", "数量", "小计")print(title)print("-" * 100)# 记录总计的价钱sum = 0# 遍历代表购物清单的list列表for i, item in enumerate(shop_list,start=1):# 转换id为索引加1id = i# 获取该购物项的第1个元素:商品条码code = item[0]# 获取商品条码读取商品,再获取商品的名称name = repository[code][1]# 获取商品条码读取商品,再获取商品的单价price = repository[code][2]# 获取该购物项的第2个元素:商品数量number = item[1]# 小计amount = price * number# 计算总计sum = sum + amountline = "%-5s|%17s|%40s|%12s|%6s|%12s" % \(id, code, name, price, number, amount)print( line )print("-" * 100)print(" 总计: " , sum)print("=" * 100)# 添加购买商品,就是向代表用户购物清单的list列表中添加一项。

python会员管理系统代码解释

python会员管理系统代码解释

python会员管理系统代码解释Python会员管理系统是一个可以帮助企业或组织管理会员信息的应用程序。

该系统可以用于添加、编辑、删除和搜索会员信息,并提供一些额外的功能,如会员等级管理、积分管理和会员活动管理等。

代码解释如下:1. 导入必要的模块:一般情况下,我们需要导入一些Python的内置模块和第三方模块来辅助我们实现会员管理系统。

例如,可能会导入`sqlite3`模块用于数据库操作,`tkinter`或`PyQt`模块用于图形用户界面设计,以及`datetime`模块用于处理日期和时间。

2. 创建数据库:在会员管理系统中,我们需要一个数据库来存储会员的信息。

通过使用适当的SQL语句,我们将创建一个包含会员信息的表。

3. 添加会员:该功能允许用户输入会员的详细信息,并将其保存到数据库中。

我们可以使用SQL语句将会员信息插入到会员表中。

4. 编辑会员:该功能允许用户选择要编辑的会员,并修改其详细信息。

我们可以使用SQL语句更新会员表中的特定记录。

5. 删除会员:该功能允许用户选择要删除的会员,并从数据库中删除该会员的信息。

我们可以使用SQL语句从会员表中删除特定的记录。

6. 搜索会员:该功能允许用户根据特定条件搜索会员的信息。

我们可以使用SQL 语句从会员表中检索符合条件的记录。

7. 会员等级管理:该功能允许用户设置不同会员等级,并根据会员的消费金额或积分来确定其等级。

我们可以使用条件语句和SQL语句来实现此功能。

8. 积分管理:该功能允许用户为会员添加或减少积分,并将其更新到数据库中。

我们可以使用SQL语句更新会员表中的积分字段。

9. 会员活动管理:该功能允许用户创建、编辑和删除会员活动,并将其关联到相应的会员。

我们可以使用SQL语句在活动表和会员表之间建立关联。

总的来说,Python会员管理系统是一个功能强大的工具,可以帮助企业或组织有效地管理会员信息,并提供一些额外的功能来提升用户体验和增加会员参与度。

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("创建⽂件失败。

Java实现超市会员管理系统

Java实现超市会员管理系统

Java实现超市会员管理系统本⽂实例为⼤家分享了Java实现超市会员管理系统的具体代码,供⼤家参考,具体内容如下要求:借助集合框架及实⽤类实现该系统1、积分累计2、积分兑换3、查询剩余积分4、修改密码5、开卡6、退出执⾏结果:开卡、积分累计部分:兑换积分、查询剩余积分部分:修改密码、使⽤新密码查询部分:退出部分:实现思路:1、创建会员⽤户类:⽤户名、密码、会员卡号(随机⽣成)、注册⽇期、积分2、创建超市业务类:菜单展⽰业务选择积分存取⽅法、积分兑换⽅法、积分查询⽅法、修改密码⽅法、开卡⽅法判断集合中是否存在查询元素⽅法(由于其他⽅法中均出现此⽅法中的代码,即将其提取出来另列为⼀个⽅法)3、测试类源码:会员⽤户类package cn.zyq.Aug0203;/*** 会员⽤户类* @author admin**/public class Member {//姓名private String name;//密码private String pwd;//会员卡号private String id;//注册⽇期private String registData;//积分private int score;public Member() {} = name;this.pwd = pwd;this.id = id;this.registData = registData;this.score = score;}public String getName() {return name;}public void setName(String name) { = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getRegistData() {return registData;}public void setRegistData(String registData) {this.registData = registData;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}}超市业务类package cn.zyq.Aug0203;/*** 超市业务类*/import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Random;import java.util.Scanner;public class Business {Scanner sc = new Scanner(System.in);List<Member> list = new ArrayList<Member>();/*** ⽤户可选择菜单*/public void init() {System.out.println("\n--------------------欢迎进⼊会员管理系统--------------------\n");System.out.println("1.积分累计 2.积分兑换 3.查询剩余积分 4.修改密码 5.开卡 6.退出"); System.out.println("\n-------------------------------------------------------");System.out.println();System.out.print("请选择您要进⾏的操作:");}/*** ⽤户选择的业务* @param num*/public void choose(int num) {switch (num) {case 1:saveScore();break;case 2:useScore();break;case 3:search();break;case 4:updatePwd();break;case 5:regist();break;case 6:System.out.println("欢迎下次光临!");System.exit(0);break;}init();}/*** 积分积累*/public void saveScore() {Member m = check();if(m!=null) {System.out.print("请输⼊您消费的⾦额(⼀元⼀积分):");int score = sc.nextInt();m.setScore(m.getScore()+score);System.out.println("积分增加成功,⽬前您的积分为:"+m.getScore());System.out.println("积分累计成功!");}else {System.out.println("积分累计失败,您输⼊的信息有误!");}}/*** 积分兑换*/public void useScore() {Member m = check();if(m!=null) {System.out.print("请输⼊您需要兑换使⽤的积分(100积分抵⽤1元,不⾜100的积分不做抵⽤):"); int score = sc.nextInt();if(m.getScore()>=100 && score>=100 && score<=m.getScore()) {m.setScore(m.getScore()-score);System.out.println("您本次消费抵⽤⾦额为:"+score/100);System.out.println("兑换积分成功!");}else {System.out.println("兑换积分失败,账户积分不⾜或需要兑换积分⼤于剩余积分!");}}else {System.out.println("账号信息不匹配,⽆法兑换积分!");}}/*** 查询剩余积分*/public void search() {if(m!=null) {System.out.println("姓名\t会员卡号\t剩余积分\t开卡⽇期");System.out.println(m.getName()+"\t"+m.getId()+"\t"+m.getScore()+"\t"+m.getRegistData());}else {System.out.println("输⼊的账号信息不匹配!");}}/*** 修改密码*/public void updatePwd() {Member m = check();if(m!=null) {System.out.print("请输⼊您的新密码:");String pwd = sc.next();//重新设置密码m.setPwd(pwd);System.out.println("密码修改成功!");}else {System.out.println("输⼊的账号信息不匹配,⽆法进⾏此业务!");}}/*** 积分兑换*/public void regist() {System.out.print("欢迎使⽤本超市会员卡,请输⼊您的姓名:");String name = sc.next();System.out.print("请设置您的密码(要求密码长度⼤于6):");String pwd = sc.next();//判断密码是否合法boolean flag = false;while(!flag) {if(pwd.length()<6) {flag = false;System.out.print("密码长度⼩于6位,请重新输⼊密码:");pwd = sc.next();}else {flag = true;}}//⽣成⼀个⼋位数的随机会员卡号Random random = new Random();int rand = random.nextInt(999999);String id = String.valueOf(rand);//判断会员卡是否已存在for(Member m:list) {if(m.getId()==id) {rand = random.nextInt(99999999);id = String.valueOf(rand);}}//注册⽇期Date date = new Date();SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");String registData = dateFormat.format(date);//开卡送积分100;int score = 100;//将⽤户记录添加到列表list.add(new Member(name, pwd, id, registData, score));System.out.println("恭喜你成为本超市会员,系统赠送您100积分,您的会员卡号为:"+id+",请牢记卡号和密码!"); }/*** 信息检测,list中是否存有指定⽤户信息public Member check() {System.out.print("请输⼊您的会员卡号:");String id = sc.next();System.out.print("请输⼊您的密码:");String pwd = sc.next();for(Member m:list) {if(m.getId().equals(id) && m.getPwd().equals(pwd)) {return m;}}return null;}}测试类package cn.zyq.Aug0203;/*** 测试类* @author admin**/public class Test {public static void main(String[] args) {Business business = new Business();business.init();}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

超市管理系统源程序

超市管理系统源程序

超市管理系统源程序#include <stdio.h>#include <string.h>#define MAX 20#define N 3#define PAGE 2#define PRINT1 printf("---------------------\n")#define PRINT2 printf("商品号--商品名称--商品种类--销售价格--生产日期(年-月-日)--保质期\n")#define PRINT3 printf("%4d%s%s%8d%15%-%2d-%2d%10d\n",goods[i].num,goods [i].name,goods[i].kind,goods[i].out_price,goods[i].pro_t ime.year,goods[i].pro_time.month,goods[i].pro_time.date, goods[i].save_day)int sum;/*记录商品数目*/struct date /*日期结构体类型*/{int year;int month;int date;}struct goods_type /*商品结构体类型*/{int sum;char name[10];char kind[10];int amount;int goods_up;int goods_down;int in_price;int out_price;int in_num;struct date in_time;struct date pro_time;char factory[10];int save_day;int profit;}goods[MAX]; /*存放MAX种商品记录的结构体数据*/ save_message(jin sum) /*保存信息*/{FILE *fp;int i;if((fp=fopen("supermarket.txt","wb"))==NULL){printf("读文件错误!\n");return;}for(i=0;i<sum;i++)if(fwrite(&goods[i],sizeof(struct goods_type),1,fp)!=1) printf("写文件错误!\n");fclose(fp):}input message() /*输入模块*/{int i=0,s=MAX;clrscr();printf("\n\n 录入商品信息(最多%d 种)\n",s);printf("-------------------------\n");do{printf("\n 第%d种商品",i+1);printf("\n 商品号:");scanf("%d",&goods[i].num);if(goods[i].num==0) break;printf("\n 商品名称:");scanf("%s",goods[i].name);printf("\n 商品类别:");scanf("%s",goods[i].kind);printf("\n 商品总量:");scanf("%s",&goods[i].amout);printf("\n 商品上限:");scanf("%s",&goods[i].goods_up);printf("\n 商品下限:");scanf("%s",&goods[i].goods_down);printf("\n 进货价格:");scanf("%s",&goods[i].in_price);printf("\n 销售价格:");scanf("%s",&goods[i].out_price);printf("\n 进货数量:");scanf("%s",&goods[i].in_num);printf("\n 进货日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].in_time.year,&goods[i].in_tim e.month,&goods[i].in_time.date);printf("\n 商品名称:");printf("\n 生产日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_t ime.month,&goods[i].pro_time.date);printf("\n 生产厂家:");scanf("%s",goods[i].factory);printf("\n 保质期:");scanf("%s",goods[i].save_day);i++;}while(i<MAX);printf("\n --%d种商品信息输入完毕!--\n",i);sum=i;printf("\n 按任意键返回主菜单!");bioskey(0);}int read_message() /*读取信息*/{FILE *fp;int i=0;if((fp=fopen("supermarket.txt","rb"))==NULL){printf("\n\n*****暂时还没有任何库存信息,按任意键进入主菜单选择基本信息的录入!******\n");return;}while(feof(fp)!=1){fread(&goods[i],sizeof(struct goods_type),1,fp);if(goods[i].num==0) break;else i++;}fclose(fp);return(i);}output_message() /*输出模块*/{int i=0,j=0,count,page=1;clrscr();printf("\n\n --商品信息表-- 第%d页\n\n",page);PRINT2;PRINT1;do{if(goods[i].num!=0){j++;if(j%PAGE!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(goods[i+1].num!=0){printf("按任意键继续!");bioskey(0);clrscr();printf("\n\n --商品信息表-- 第%d页\n\n",++page);PRINT2;PRINT1;}}}i++;}while(goods[i].num!=0);printf("按任意键返回主菜单!");bioskey(0);}insert_message() /*添加商品信息*/{int i=sum,j,flag=0;char choice;clrscr();printf("\n\n 添加一种新商品\n");printf(" --------------------\n");do{goods[i].num=++sum;printf("\n 新商品号:%d",goods[i].num); printf("\n 商品名称:");scanf("%s",goods[i].name);printf("\n 商品类别:");scanf("%s",goods[i].kind);printf("\n 商品总量:");scanf("%s",&goods[i].amout);printf("\n 商品上限:");scanf("%s",&goods[i].goods_up);printf("\n 商品下限:");scanf("%s",&goods[i].goods_down);printf("\n 进货价格:");scanf("%s",&goods[i].in_price);printf("\n 销售价格:");scanf("%s",&goods[i].out_price);printf("\n 进货数量:");scanf("%s",&goods[i].in_num);printf("\n 进货日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].in_time.year,&goods[i].in_tim e.month,&goods[i].in_time.date);printf("\n 商品名称:");printf("\n 生产日期(yyyy-mm-dd):");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_t ime.month,&goods[i].pro_time.date);printf("\n 生产厂家:");scanf("%s",goods[i].factory);printf("\n 保质期:");scanf("%s",goods[i].save_day);printf("\n 要继续吗?(Y/N)");choice=getch();if(choice=='y'||choice=='Y'){printf("\n 继续!\n");i++;flag=1;}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}del_message() /*删除商品信息*/{;}revise_message() /*修改模块*/{int i=0,choice,revise_num,flag;do{clrscr();printf("\n 输入要修改的商品号:");scanf("%d",&revise_num);for(i=0;i<sum;i++)if(goods[i].num==revise_num){printf("\n --商品信息--\n");PRINT1;PRINT2;PRINT3;printf("\n 您要修改那一项?\n"); printf("\n 1.名称 \n");printf("\n 2.种类 \n");printf("\n 3.销售价格\n");printf("\n 4.生产日期\n");printf("\n 5.保质期 \n"); printf("\n 请选择(1-5)\n");scanf("%d",&choice);switch(choice){case 1;printf("\n 输入修改后的名称:");scanf("%s",&goods[i].name);break; case 2;printf("\n 输入修改后的种类:");scanf("%s",&goods[i].kind);break; case 3;printf("\n 输入修改后的销售价格:");scanf("%s",&goods[i].out_price);break;case 4;printf("\n 输入修改后的生产日期:");scanf("%d-%d-%d",&goods[i].pro_time.year,&goods[i].pro_t ime.month,&goods[i].pro_time.date);break;case 5;printf("\n 输入修改后的保质期:");scanf("%s",&goods[i].save_day);break;PRINT1;PRINT2;PRINT3;break;}if(i==sum){printf("\n 该商品不存在!");bioskey(0);}printf("\n\n 继续修改吗?(Y/N)"); choice=getch();if(choice=='y'||choice=='Y'){flag=1;printf("\n 继续!\n");}else flag=0;}while(flag==1);printf("\n 按任意键返回主菜单!");bioskey(0);}renew_message() /*更新模块*/int choice;do{clrscr();printf("\n\n\n ********更新商品信息*******\n\n");printf(" 1.添加商品信息\n\n");printf(" 2.删除商品信息\n\n");printf(" 3.修改商品信息\n\n");printf(" 0.返回主菜单\n\n"); printf(" 请选择(0-3):\n\n"); scanf("%d",&choice);switch(choice){case 1 : insert_message();break;case 2 : del_message();break;case 3 : revise_message();break;case 0 : break;}}while(choice!=0);inquire_name(){int i,choixe,j=0,inquire_in_price;char inquire_name[10];clrscr();printf("\n 输入要查询的商品名称:");scanf("%s",inquire_name);for(i=0;i<sum;i++)if(strcmp(goods[i].name,inquire_name)==0&&goods[i].num!= 0){printf("\n --商品信息--\n"); PRINT1;PRINT2;PRINT3;}else j++;if(j==sum)printf("\n 该商品不存在!");bioskey(0);}{;}inquire_count_time(){;}inquire_message() /*查询模块*/{int choice;do{clrscr();printf("\n\n\n *****查询商品信息*******\n\n");printf(" 1.按商品名称查询\n\n");printf(" 2.按商品类别查询\n\n");printf(" 3.按进货量和进货价格查询\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3) ");scanf("%d",&choice);switch(choice){case 2 : inquire_kind(); ;break;case 3 : inquire_count_time(); ;break;case 0 : break;}}while(choice!=0);}count_profit() /*统计利润*/{int i,choice,j=0,count_num,profit;char inquire_name[10];clrscr();printf("\n 输入要统计的商品号:");scanf("%d",&count_num);for(i=0;i<sum;i++)if(goods[i].num==count_num){profit=goods[i].out_price-goods[i].in_price;printf("\n 商品利润 ");printf("\n -------------------\n ");printf("\n 商品号利润 ");printf("\n%25d%13d\n",goods[i].num,profit);else j++;if(j==sum)printf("\n 该商品不存在!");bioskey(0);}count_in_amount() /*统计进货量*/{;}count_full() /*统计库存量*/{;}count_message() /*统计模块*/{int choice;do{clrscr();printf("\n\n\n ********统计商品信息*******\n\n");printf(" 1.统计某商品的利润\n\n");printf(" 2.统计某商品的进货量\n\n");printf(" 3.统计同种名称不同货号商品库存量\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3):");switch(choice){case 1 : count_profit() ;break;case 2 : count_in_amount() ;break; case 3 : count_full() ;break;case 0 : break;}}while(choice!=0);}sort_amount() /*库存排行*/{struct goods_type *p,*q[MAX];int i,j,k;clrscr();printf(" 库存排行\n");printf("----------------------------\n");printf("\n 排名商品号商品名称商品类别库存量\n"); p=goods;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++){k=i;if(q[k]->amount<q[j]->amount)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i++)printf("\n%18d %6d %8d %11s %10d\n",i+1,q[i]->name,q[i]->kind,q[i]->amount);bioskey(0);}sort_profit() /*利润排行*/{;}sort_out_amount() /*销售量排行*/{;}sort_message() /*排行模块*/{int choice;do{clrscr();********\n\n");printf(" 1.库存量排行\n\n");printf(" 2.利润排行\n\n"); printf(" 3.销售量排行\n\n");printf(" 0.返回主菜单\n\n");printf(" 请选择(0-3)\n\n"); scanf("%d",&choice);switch(choice){case 1 : sort_amount(); ;break;case 2 : sort_profit(); ;break;case 3 : sort_out_amount(); ;break; case 0 : break;}}while(choice!=0);}main() /*主程序*/{int choice;sum=read_message();do{clrscr();printf("\n\n\n *********超市管理系统********\n\n");printf(" 1.录入商品信息 \n\n");printf(" 2.打印商品信息 \n\n");printf(" 3.更新商品信息 \n\n");printf(" 4.查询商品信息 \n\n");printf(" 5.统计商品信息 \n\n");printf(" 6.商品排行信息 \n\n");printf(" 请选择(0-6)");scanf("%d",&choice);switch(choice){case 1: input_message(); break;case 2: output_message(); break;case 3: renew_message(); break;case 4: inquire_message(); break;case 5: count_message(); break;case 6: sort_message(); break;case 0: break;}}while(choice!=0);save_message(sum);printf("\n-以上商品信息已保存!--(文件名:supermarket.txt)\n");}。

  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,OnToolTipText)ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA,0,0xFFFF,OnToolTipText)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(),adOpenKeys et,adLockOptimistic,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()和voidCMemberDlg::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 消费加分模块界面实现图输入用户账号和消费金额后,首先检查数据库中是否存在该记录,如果存在,则将该用户积分增加其消费金额数目,如不存在,系统弹出提示信息。

相关文档
最新文档