书店销售管理系统源代码

合集下载

C语言:书店管理系统

C语言:书店管理系统

C语言:书店管理系统#include "stdio.h"#include <string.h>#define MAXNUM 1000typedef struct{char isbn[10]; /*书号*/char bkname[20]; /*书名*/char author[10]; /*作者*/float price; /*单价*/int num; /*数量(单位:册)*/} BOOK;int bknum;BOOK bk[MAXNUM];rdata(){FILE *fp;if ((fp=fopen("e:\\lth019\\bkstore\\bookdata.txt","rb"))==NULL){printf("Can not open the file!\n");return;}fread(&bknum,sizeof(int),1,fp);fread(bk,sizeof(BOOK),bknum,fp);fclose(fp);}bklist(){int i;clrscr();printf(" Isbn bkname author price num\n"); printf("----------------------------------------------------------------\n");for(i=0;i<bknum;i++)putout();printf("-------------------------BOOK LIST END---------------------------\n");printf("Press any key to return...");getch();}void wdata(){FILE *fp;if ( (fp=fopen("e:\\lth019\\bkstore\\bookdata.txt","wb"))==NULL) {printf("Can not open the file!\n");return;}fwrite(&bknum , sizeof(int) , 1 , fp);fwrite(bk, sizeof(BOOK), bknum, fp);fclose(fp);}void bookin(){char s[10],bn[20],au[10];int i,nn;float pp;printf("input isbn(000 to end input):");scanf("%s",s);while(strcmp(s,"000")!=0){if ((i=found(s))<bknum){ printf("Have found!\n");putout();printf("input the number:");scanf("%d",&nn);bk[i].num+=nn;{putout();getch();}printf("input isbn(000 to end input):");scanf("%s",s);}else{printf("A new book input,\nPlease input bkname,author,price,num\n");strcpy(bk[i].isbn,s);scanf("%s%s",bn,au);strcpy(bk[i].bkname,bn);strcpy(bk[i].author,au);scanf("%f%d",&pp,&nn );bk[i].price=pp;bk[i].num=nn;bknum++;{putout();getch();}printf("input isbn(000 to end input):");scanf("%s",s);break;}}}showsold(BOOK sold[],int n){int i;printf("\n\n\n -------------The Books are selling-----------------\n");for(i=0;i<n;i++)printf(" %-10s%-20s%-10s%-8.2f%-8d\n",sold[i].isbn,sold[i].bkname,sold[i].author,sold[i].price,sold[i].num);}int found(char isbn[]){int i;for(i=0;i<bknum;i++)if(strcmp(isbn,bk[i].isbn)==0) break;return i;}void booksale(){ char isbn[10];BOOK sold[100];int soldnum=0,i;float total=0;clrscr();printf("Please input isbn(000 to end input):");scanf("%s",isbn);while(strcmp(isbn,"000")!=0){if((i=found(isbn))<bknum)if(bk[i].num>0)sold[soldnum++]=bk[i],bk[i].num--;else{printf("\Not enough!Pressany key to continue...");getch();} else{printf("\Not enough!Pressany key to continue...");getch();}clrscr();for(i=0,total=0;i<soldnum;i++)total+=sold[i].price;if(soldnum){ showsold(sold,soldnum);printf(" ----------------------------------------------\n");printf("\n The total %8.2f\n\n\n",total);}printf("\n input isbn(000 to end input):");scanf("%s",isbn);}}void search(){ char s[10]; char found; char isbn[20];char num[10]; char au[20]; char name[20];int t,i;printf("=================\n");printf(" 1.search with isbn \n");printf(" 2.search with author \n");printf(" 3.search with bookname \n");printf("=================\n");printf(" please chose one way : ");scanf("%d",&t);if(t==1){ printf(" please input isbn : ");scanf("%s",&s);for(found=0,i=0 ; i<bknum ; i++)if(strcmp(s,bk[i].isbn)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}if(t==2){ printf(" please input author: ");scanf("%s",au);for(found=0,i=0;i<bknum;i++)if(strcmp(au,bk[i].author)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}if(t==3){ printf(" please input bookname: ");scanf("%s",name);for(found=0,i=0;i<bknum;i++)if(strcmp(bk[i].bkname,name)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}}Delete(){ char s[10],t;int found=0,i,j;printf("please input isbn of the book:");scanf("%s",s);for(i=0 ; i<bknum ; i++)if( strcmp(s,bk[i].isbn)==0 )break;if (i<bknum){ found=1;printf("Found!\n");putout();printf("Are you sure to delete?(Y/N):"); flushall(); scanf("%c",&t);if(t=='y'||t=='Y'){ for(;i<=bknum;i++)bk[i]=bk[i+1];}bknum--;}else printf("This book did't delete!");getch();}putout(){ int i;printf(" %-10s%-20s%-10s%-8.2f%-8d\n",bk[i].isbn,bk[i].bkname,bk[i].author,bk[i].price,bk[i].num); }int showsel(){int sel;clrscr();printf("--------------------------ManiMenus-------------------------\n\n"); printf(" 0. Exit\n");printf(" 1. BookList\n");printf(" 2. BookIn\n") ;printf(" 3. BookSale\n");printf(" 4. Save\n ");printf(" 5. Delete\n");printf(" 6. Search\n");printf("\n------------------------------------------------------------\n"); printf(" Input the selection:");scanf("%d",&sel);return sel;}main(){int sel; char yes;clrscr();rdata();sel=showsel();while(1){ switch(sel){case 0:printf("Are sure to Save?(Y/N) ");flushall();scanf("%c",&yes);if(yes=='Y'||yes=='y') { wdata(); exit(0); }exit(0);case 1:bklist();break;case 2:bookin();break;case 3:booksale();break;case 4:wdata();break;case 5:Delete();break;case 6:search();break;default :break;}sel=showsel();}}。

新华书店进销存管理系统部分程序源代码

新华书店进销存管理系统部分程序源代码

附录2新华书店进销存管理系统部分程序源代码1 、主程序MAIN.PRG 程序代码毕业设计PUBLIC nkfgl,nxsgl,ncggl,nkcgl,nxtglSTORE .f. TO nkfgl,nxsgl,ncggl,nkcgl,nxtglPUBLIC nname,ndepartmentSTORE "" TO nname,ndepartmentDo Form loginfRead EventsDo Form mainRead EventsQuit2 、主表单MAIN.SCX 代码2.1 表单Init 过程程序代码do mmenu.mpr with this,.T. bel2.caption = nname bel4.caption = ndepartment3 、系统登入表单LOGINF.SCX 代码3.1 表单登入按钮Click 事件程序代码SELECT user GO TOP *检查用户名和密码是否输入If empty(thisform.text1.value) thenbel3.caption = " 请输入用户名"returnelseif empty(thisform.text2.value) then bel3.caption =" 请输入密码" returnendifendif* 操作USER 表,查询满足条件记录locate for name = alltrim(thisform.text1.value) if !found()bel3.caption=" 用户不存在" returnelseif user.password != alltrim(thisform.text2.value) thenbel3.caption=" 密码错误" return endifendifnname = ndepartment = user.department nkfgl = user.kfgl nxsgl = user.xsgl ncggl = user.cggl nkcgl = user.kcgl nxtgl = user.xtgl thisform.release clear events4 、系统管理表单XTGLF.SCX 代码4.1 表单Init 过程程序代码4.2 表单自定义过程 DIS_RECORD 程序代PUBLIC newcommand STORE .f. TO newcommand ifreccount("user") = 0 thisform.text1.value = "" thisform.text2.value = "" bo1.value = "" thisform.check1.value = 0 thisform.check2.value = 0 thisform.check3.value = 0 thisform.check4.value=thisform.check5.value = 0 else thisform.text1.value = 程序代thisform.text1.enabled = .f. thisform.text2.enabled = .f. thisform.text3.enabled = .f. bo1.enabled = .f. thisform.check1.enabled = .f. thisform.check2.enabled = .f. thisform.check3.enabled = .f. thisform.check4.enabled = .f. thisform.check5.enabled = .f. bel5.visible = .f. thisform.text3.visible = .f. mand10.enabled = .f. mand11.enabled = .f. thisform.dis_recordthisform.dis_reccommand thisform.text2.value = user.password bo1.value = user.department if user.kfgl thenthisform.check1.value = 1 elsethisform.check1.value = 0 endif if user.xsgl then thisform.check2.value = 1 elsethisform.check2.value = 0 endif if user.cggl then thisform.check3.value = 1 elsethisform.check3.value = 0 endif if user.kcgl then thisform.check4.value = 1 elsethisform.check4.value = 0 endif if user.xtgl then thisform.check5.value = 1 else thisform.check5.value = 0 endif endifthisform.refresh4.3表单自定义过程 DIS_RECCOMMAND private nstore 0 to nn = reccount("user") if n=1 .or. n=0 then mand1.enabled = .f.mand2.enabled = .f.mand3.enabled = .f.mand4.enabled = .f.elseif recno("user")=1 then mand1.enabled = .f.mand2.enabled = .f. mand3.enabled = .t.mand4.enabled = .t. elseif recno("user")=n thenmand1.enabled = .t.mand2.enabled = .t.mand3.enabled = .f. mand4.enabled = .f. elsemand1.enabled = .t.mand2.enabled = .t.mand3.enabled = .t. mand4.enabled = .t.endifendifendifthisform.refresh4.4 表单保存按钮Click 事件程序代码if empty(thisform.text1.value) then=messagebox(" 请输入用户名",0+48+0," 出错") thisform.text1.setfocus thisform.refreshreturnendifif empty(thisform.text2.value) then=messagebox(" 请输入密码",0+48+0," 出错") thisform.text2.setfocus thisform.refreshreturn endifif .not.(alltrim(thisform.text2.value) == alltrim(thisform.text3.value)) then =messagebox(" 密码重复错误,请重新输入",0+48+0," 出错")thisform.text2.value = ""thisform.text3.value = ""thisform.text2.setfocusthisform.refreshreturnendifif empty(bo1.value) then=messagebox(" 请选择所属部门",0+48+0," 出错")bo1.setfocusthisform.refreshreturnendifif thisform.check1.value=0.and.thisform.check2.value=0.and.thisform.check3.value=0.and.thisform.check4.value=0.and.thisform.check5.value=0 then=messagebox(" 至少选择一个用户权限",0+48+0," 出错")thisform.check1.setfocusthisform.refreshreturnendifif thisform.check1.value=1.and.thisform.check2.value=1.and.thisform.check3.value=1.and.thisform.check4.value=1.and.thisform.ch eck5.value=1 thenmesbox=messagebox(" 此用户将具有全部权限, 请确认",4+48+0," 警告")if mesbox=7 thenthisform.check1.setfocusthisform.refreshreturnendifendif *用户权限处理PRIVATE nname,npassword,ndepartment,nkf,nxs,ncg,nkc,nxt nname =alltrim(thisform.text1.value)npassword = alltrim(thisform.text2.value)ndepartment = alltrim(bo1.value)if thisform.check1.value = 1 thennkf = .t.elsenkf = .f.endif&& if thisform.check2.value = 1 thennxs = .t.elsenxs = .f.endifif thisform.check3.value = 1 thenncg = .t.elsencg = .f.endifif thisform.check4.value = 1 thennkc = .t.elsenkc = .f.endifif thisform.check5.value = 1 thennxt = .t.elsenxt = .f.endif*判断是新记录保存还是修改记录If newcommand thennewcommand = .t. 是新记录保存locate for =alltrim(thisform.text1.value)into valuespassword=if found() then =messagebox(" 用户已经存在 ",0+48+0," 出错 ")thisform.text1.setfocus thisform.refresh return endif* 数据表 user 保存记录 insertuser(name,password,department,kfgl,xsgl,cggl,kcgl,xtgl) (nname,npassword,ndepartment,nkf,nxs,ncg,nkc,nxt) =messagebox(" 保存完毕 ",0+48+0," 提示 ") elseupdate user setnpassword,department=ndepartment,kfgl=nkf,xsgl=nxs,cggl=ncg, kcgl=nkc,xtgl=nxt where name= nname=messagebox(" 修改完成 ",0+48+0," 提示 ") endif*表单初始化 thisform.text1.enabled = .f. thisform.text2.enabled = .f. thisform.text3.enabled = .f. bo1.enabled = .f. thisform.check1.enabled = .f. thisform.check2.enabled = .f. thisform.check3.enabled = .f. thisform.check4.enabled = .f. thisform.check5.enabled = .f.mand1.enabled = .t. mand2.enabled = .t. mand3.enabled = .t. mand4.enabled = .t. mand5.enabled = .t. mand6.enabled = .t. mand7.enabled = .t. mand8.enabled = .t. mand9.enabled = .t. mand10.enabled =.f. mand11.enabled =.f. mand12.enabled = .t. bel5.visible = .f. thisform.text3.visible = .f. thisform.dis_reccommand thisform.dis_record newcommand = .f. thisform.refreshwindow4.5表单浏览按钮 Click 事件程序代码DEFINE WINDOW browsewin FROM 1,1 TO 30,80 noFLOAT CLOSEnominimize nogrow nozoom systembrow fields name,department,kfgl,xsgl,cggl,kcgl browsewin noappend nomodify nodeleterelease window browsewin5、 图书管理表单 TSGL.SCX 代码5.1自定义过程 AUTO_BOOKID 程序代码select book set order to bookid go bottomprivate autoid1,autoid2,autoid3,autoid4autoid1 = alltrim(str(val(substr(alltrim(book.bookid),2,6))+1,6,0)) autoid2 = len(autoid1) if autoid2 != 6 thenfor n = autoid2 to 5autoid1 = "0" + autoid1 endforendif autoid4 = "B" + alltrim(autoid1) thisform.text1.value = autoid45.2新建按钮 Click 事件程序代码thisform.text2.enabled = .t. thisform.text3.enabled = .t. thisform.text4.enabled = .t. thisform.text5.enabled = .t. thisform.text6.enabled = .t. bo1.enabled = .t. thisform.text7.enabled = .t. thisform.text8.enabled = .t. mand1.enabled = .f. mand2.enabled = .f. mand3.enabled = .f. mand4.enabled = .f. mand5.enabled = .f. mand6.enabled = .f. mand7.enabled=.f.mand8.enabled=.f.mand9.enabled = .f. mand10.enabled =.t. mand11.enabled =.t. mand12.enabled = .t.thisform.text2.value = ""thisform.text3.value = ""thisform.text4.value = "" thisform.text5.value = "" thisform.text6.value = "" bo1.value = "" thisform.text7.value = 0thisform.text8.value = 0thisform.auto_bookidthisform.text2.setfocusthisform.newcommand = .t.thisform.refresh5.3 删除按钮Click 事件程序代码if reccount("book")=1 then =messagebox(" 只有一条记录,不能删除",0+16+0,"出错")return elsenbookid = alltrim(thisform.text1.value)nbookname = alltrim(thisform.text2.value)mesbox=messagebox(" 是否删除"+nbookid+" 号图书",4+48+0," 警告") if mesbox=7 thenreturnelseuse book EXCLUSIVEdelete from book where bookid=nbookid pack=messagebox(nbookid+" 图书已经删除",0+48+0," 提示") endif endif thisform.dis_recordthisform.dis_reccommand thisform.grid1.recordsource = "book" thisform.refresh 5.4 保存按钮Click 事件程序代码if empty(thisform.text2.value)=messagebox(" 请输入书名",0+48+0," 出错") thisform.text2.setfocus thisform.refreshreturn endif if empty(thisform.text3.value)=messagebox(" 请输入书号",0+48+0," 出错") thisform.text3.setfocus thisform.refreshreturn endif if empty(thisform.text4.value)=messagebox(" 请输入出版社",0+48+0," 出错") thisform.text4.setfocus thisform.refreshreturn endif if empty(thisform.text5.value)=messagebox(" 请输入作者信息",0+48+0," 出错")thisform.text5.setfocusthisform.refreshreturn endif if empty(bo1.value)=messagebox(" 请选择图书类型",0+48+0," 出错")bo1.setfocusthisform.refreshreturn endif if thisform.text7.value = 0=messagebox(" 请输入价格",0+48+0," 出错") bo1.setfocus thisform.refreshthenbook values setwherereturn endifPRIVATE nbookid,nbookname,nbookno,nbookphouse,nbookwriter,nbookc d,nbookclass,nbookprice,nbookdiscountnbookid = alltrim(thisform.text1.value) nbookname = alltrim(thisform.text2.value) nbookno = alltrim(thisform.text3.value) nbookphouse = alltrim(thisform.text4.value) nbookwriter = alltrim(thisform.text5.value) nbookcd = alltrim(thisform.text6.value) nbookclass = alltrim(bo1.value) nbookprice = thisform.text7.value nbookdiscount = thisform.text8.value*判断是新记录保存还是修改记录 If thisform.newcommand && newcommand = .t. 是新记录保存* 数据表 book 保存记录 insert into(bookid,bookname,bookno,bookphouse,bookwriter,bookcd,bookcl ass,bookprice,bookdiscount)(nbookid,nbookname,nbookno,nbookphouse,nbookwriter,nbookc d,nbookclass,nbookprice,nbookdiscount)=messagebox(" 保存完毕 ",0+48+0," 提示 ") else update bookbookname=nbookname,bookno=nbookno,bookphouse=nbookpho use,bookwriter=nbookwriter,bookcd=nbookcd,bookclass=nbookcl ass,bookprice=nbookprice,bookdiscount=nbookdiscount bookid=nbookid=messagebox(" 修改完成 ",0+48+0," 提示 ") endifnoFLOATfieldsnoappend *表单初始化 thisform.text2.enabled = .f. thisform.text3.enabled = .f.thisform.text4.enabled = .f. thisform.text5.enabled = .f. thisform.text6.enabled = .f. bo1.enabled = .f. thisform.text7.enabled = .f. thisform.text8.enabled = .f.mand5.enabled = .t. mand6.enabled = .t. mand7.enabled = .t. mand8.enabled =.t. mand9.enabled=.t.mand10.enabled=.f.mand11.enabled =.f. mand12.enabled = .t. thisform.dis_recordthisform.dis_reccommand thisform.newcommand = .f. thisform.refresh5.5浏览按钮 Click 事件程序代码DEFINE WINDOW browsewin FROM 1,1 TO 30,160 CLOSE nominimize nogrow nozoom system browbookid,bookname,bookno,bookphouse,bookwriter,bookcd,bookclass,bookprice,bookdiscount window browsewin nomodify nodelete release window browsewin6、 会员输入表单 KFGL_HYSR.SCX 程序代码 6.1自定义过程 AUTO_VIPID 程序代码select vipset order to vipid go bottomprivate autoid1,autoid2,autoid3,autoid4autoid1 = alltrim(str(val(substr(alltrim(vip.vipid),2,6))+1,6,0)) autoid2 = len(autoid1) if autoid2 != 6 thenfor n = autoid2 to 5 autoid1 = "0" + autoid1 endforendif autoid4 = "V" + alltrim(autoid1) thisform.text1.value = autoid46.2 保存按钮Click 事件程序代码*输入数据校验if empty(thisform.text2.value)=messagebox(" 请输入会员姓名",0+16+0," 出错") thisform.text2.setfocus returnendifif thisform.optiongroup1.value = 0=messagebox(" 请选择会员性别",0+16+0," 出错")thisform.optiongroup1.option1.setfocusreturnelse private nvipsex store "" to nvipsex if thisform.optiongroup1.value = 1vipvaluesstore " 男 " to nvipsex elsestor " 女 " to nvipsex endif endifif empty(thisform.text4.value)=messagebox(" 请输入会员联系地址 ",0+16+0," 出错 ") thisform.text4.setfocus return endifif empty(thisform.text5.value)=messagebox(" 请输入会员联系电话 ",0+16+0," 出错 ") thisform.text5.setfocus return endifif empty(thisform.text6.value)=messagebox(" 请输入邮政编码 ",0+16+0," 出错 ") thisform.text6.setfocus return endif *保存数据private nvipid,nvipname,nvipadd,nvipphone,nvipcode nvipid =alltrim(thisform.text1.value) nvipname = alltrim(thisform.text2.value) nvipadd = alltrim(thisform.text4.value) nvipphone = alltrim(thisform.text5.value) nvipcode = alltrim(thisform.text6.value) insert into(vipid,vipname,vipsex,vipadd,vipphone,vipcode,vipsum,vipdiscou nt) (nvipid,nvipname,nvipsex,nvipadd,nvipphone,nvipcode,0,0)=messagebox(" 保存成功 ",0+48+0," 提示 ") nmesbox=messagebox(" 是否打印会员卡? ",4+32+0," 会员卡打印 ") if nmesbox = 6会员编号 "select vip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vipco de from vip where vip.vipid = nvipid into cursor vipcardselect vipcardreport form vipcard.frx to print use in vipcard endifthisform.auto_vipid mand2.click6.3清除按钮 Click 事件程序代码thisform.text2.value = "" thisform.optiongroup1.value = 0 thisform.text4.value = "" thisform.text5.value = "" thisform.text6.value = "" thisform.text1.setfocus thisform.refresh7、 会员查询表单 KFGL_HYCX.SCX 程序代码7.1表单自定义过程 DIS_GRID 程序代码thisform.grid1.readonly = .t.thisform.grid1.columncount = 8 thisform.grid1.column1.header1.caption = " thisform.grid1.column1.width = 80 thisform.grid1.column1.movable = .f. thisform.grid1.column1.resizable = .f.会员姓名" thisform.grid1.column2.header1.caption = " thisform.grid1.column2.width = 80 thisform.grid1.column2.movable = .f.thisform.grid1.column2.resizable = .f.thisform.grid1.column3.header1.caption = "thisform.grid1.column3.width = 80 thisform.grid1.column3.movable = .f. thisform.grid1.column3.resizable = .f. thisform.grid1.column4.header1.caption = " thisform.grid1.column4.width = 250 thisform.grid1.column4.movable = .f. thisform.grid1.column4.resizable = .f. thisform.grid1.column5.header1.caption = " thisform.grid1.column5.width = 80 thisform.grid1.column5.movable = .f. thisform.grid1.column5.resizable = .f. 会员性别"联系地址"联系电话"thisform.grid1.column6.header1.caption = " thisform.grid1.column6.width = 80 thisform.grid1.column6.movable = .f. thisform.grid1.column6.resizable = .f. thisform.grid1.column7.header1.caption = " thisform.grid1.column7.width = 80 thisform.grid1.column7.movable = .f. thisform.grid1.column7.resizable = .f. 邮政编码"累计购书金额"thisform.grid1.column8.header1.caption = " thisform.grid1.column8.width = 80 thisform.grid1.column8.movable = .f. thisform.grid1.column8.resizable = .f. 会员优惠折扣"thisform.refreshcursor.or.7.2表单 Init 过程程序代码thisform.dis_grid public ncombo1,ncombo2,ntext1,chsql,cxsql store "" to ncombo1,ncombo2,ntext1,chsql,cxsqlthisform.optiongroup1.value = 0 thisform.optiongroup1.enabled = .f. thisform.grid1.recordsource = Null selectvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vipco de,vip.vipsum,vip.vipdiscount from vip into hycx_temptable order by vip.vipidthisform.grid1.recordsource = "hycx_temptable" thisform.dis_grid thisform.refresh7.3表单添加条件按钮 Click 事件程序代码if empty(bo1.value) empty(bo2.value) .or. empty(thisform.text1.value) =messagebox(" 请输入条件 ",0+48+0," 出错 ") bo1.setfocusreturn endifif thisform.optiongroup1.value = 1 chsql = " AND " endifif thisform.optiongroup1.value = 2 chsql = " OR " endifchsql = chsql + ncombo1 + ncombo2 + ntext1 thisform.edit1.value = thisform.edit1.value + chsql if .not.empty(thisform.edit1.value)thisform.optiongroup1.value = 1thisform.optiongroup1.enabled = .t. endif bo1.value = "" bo2.value = "" thisform.text1.value = "" chsql = ""bo1.setfocus thisform.refresh7.4 表单条件查询按钮Click 事件程序代码if empty(thisform.edit1.value) =messagebox(" 请输入查询条件",0+16+0," 出错") mand1.setfocusthisform.refreshreturnendifcxsql = alltrim(thisform.edit1.value)thisform.grid1.recordsource = Nullselectvip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vipco de,vip.vipsum,vip.vipdiscount from vip where &cxsql into cursor hycx_temptable order by vip.vipid thisform.grid1.recordsource = "hycx_temptable"thisform.optiongroup1.value = 0 thisform.optiongroup1.enabled = .f. bo1.value = "" bo2.value = ""thisform.text1.value = "" thisform.edit1.value = "" store "" to ncombo1,ncombo2,ntext1,chsql,cxsqlthisform.refresh8 、会员修改表单KFGL_HYXG.SCX 程序代码8.1 表单Init 过程程序代码LPARAMETERS nPar1select vip set order to vipid locate for vip.vipid = nPar1thisform.text1.value = vip.vipid thisform.text2.value = vip.vipname if vip.vipsex = " 男"thisform.optiongroup1.value = 1 elsethisform.optiongroup1.value = 2 endif thisform.text4.value =vip.vipaddthisform.text5.value = vip.vipphonethisform.text6.value = vip.vipcode thisform.refresh*输入数据校验if empty(thisform.text2.value)=messagebox(" 请输入会员姓名",0+48+0," 出错")thisform.text2.setfocusreturnendifif thisform.optiongroup1.value = 0 =messagebox(" 请选择会员性别",0+48+0,"出错") thisform.optiongroup1.option1.setfocus returnelse private nvipsex store "" to nvipsex if thisform.optiongroup1.value = 1store " 男" to nvipsex elsestor " 女" to nvipsexendifendifif empty(thisform.text4.value) =messagebox(" 请输入会员联系地址",0+48+0," 出错") thisform.text4.setfocus returnendifif empty(thisform.text5.value) =messagebox(" 请输入会员联系电话",0+48+0," 出错") thisform.text5.setfocus returnendifif empty(thisform.text6.value) =messagebox(" 请输入邮政编码",0+48+0," 出错") thisform.text6.setfocus returnendif*修改数据private nvipid,nvipname,nvipadd,nvipphone,nvipcode nvipid =alltrim(thisform.text1.value) nvipname = alltrim(thisform.text2.value) nvipadd =alltrim(thisform.text4.value) nvipphone = alltrim(thisform.text5.value) nvipcode =alltrim(thisform.text6.value)update vip set vip.vipname = nvipname, vip.vipsex = nvipsex, vip.vipadd = nvipadd,vip.vipphone = nvipphone, vip.vipcode = nvipcode where vip.vipid = nvipid=messagebox(" 修改已完成",0+48+0," 提示")thisform.release8.3 删除按钮Click 事件程序代码nvipid = alltrim(thisform.text1.value)mesbox=messagebox(" 是否删除" + nvipid + " 号会员",4+48+0," 警告") if mesbox=7 thenreturnelseuse vip EXCLUSIVEdelete from vip where vip.vipid = nvipidpack=messagebox(" 会员" + nvipid + " 已经删除",0+48+0," 提示") endif thisform.release9 、会员卡打印表单KFGL_HYDY.SCX 程序代码9.1 打印按钮Click 事件程序代码if empty(thisform.text1.value)=messagebox(" 请输入会员编号",0+16+0," 出错") thisform.text1.setfocus returnelsenvipid = thisform.text1.valueendifnmesbox=messagebox(" 是否打印会员卡?",4+32+0," 会员卡打印") if nmesbox = 6select vip.vipid,vip.vipname,vip.vipsex,vip.vipadd,vip.vipphone,vip.vipco de from vip where vip.vipid = nvipid into cursor vipcardselect vipcardreport form vipcard.frx to printuse in vipcardendif9.2 输入框Text1 的Valid 事件程序代码this.value = alltrim(this.value) if .not.empty(this.value)select vipgo toplocate for vip.vipid = this.value if found()thisform.text2.value = vip.vipname thisform.text3.value = vip.vipsexthisform.text4.value = vip.vipaddthisform.text5.value = vip.vipphone thisform.text6.value = vip.vipcodeelse=messagebox(" 会员编号不存在",0+16+0," 出错") thisform.text1.value = ""thisform.text2.value = ""thisform.text3.value = ""thisform.text4.value = ""thisform.text5.value = ""thisform.text6.value = "" endif endif thisform.refresh10 、采购员管理表单KFGL_CGY.SCX 程序代码10.1 表单自定义过程AUTO_BUYERID 程序代码select buyerset order to buyeridgo bottomprivate autoid1,autoid2,autoid3,autoid4 autoid1alltrim(str(val(substr(alltrim(buyer.buyerid),4,2))+1,2,0)) autoid2 = len(autoid1) if autoid2 =1autoid1 = "0" + autoid1 endif autoid4 = "BUY" + alltrim(autoid1) thisform.text1.value = autoid410.2 表单表单保存按钮Click 程序代码privatenbuyerid,nbuyername,nbuyersex,nbuyerbirthday,nbuyeradd,nb uyerphoneif empty(thisform.text2.value)=messagebox(" 请输入采购员姓名",0+48+0," 出错")thisform.text2.setfocusthisform.refreshreturn endif if thisform.optiongroup1.value = 0 =messagebox(" 请选择采购员性别",0+48+0," 出错") thisform.optiongroup1.option1.setfocus thisform.refresh returnendifif thisform.text3.value = {} =messagebox(" 请输入出生年月",0+48+0," 出错") thisform.text3.setfocus thisform.refresh returnendifif empty(thisform.text4.value) then =messagebox(" 请输入家庭住址",0+48+0,"出错") thisform.text4.setfocus thisform.refresh returnendifif empty(thisform.text5.value) then =messagebox(" 请输入联系电话",0+48+0,"出错") thisform.text5.setfocus thisform.refresh returnendifnbuyerid = alltrim(thisform.text1.value) nbuyername = alltrim(thisform.text2.value) if thisform.optiongroup1.value = 1nbuyersex = " 男"elsenbuyersex = " 女"endifnbuyerbirthday = dtoc(thisform.text3.value)是新记录into values setnbuyeradd = alltrim(thisform.text4.value)nbuyerphone = alltrim(thisform.text5.value)*判断是新记录保存还是修改记录 If thisform.newcommand = .t. && newcommand = .t.存* 数据表 buyer 保存记录insertbuyer(buyerid,buyername,buyersex,buyerbirthday,buyeradd,buyerphone)(nbuyerid,nbuyername,nbuyersex,nbuyerbirthday,nbuyeradd,nbuyerphone)=messagebox(" 保存完毕 ",0+48+0," 提示 ")elseupdate buyerbuyername=nbuyername,buyersex=nbuyersex,buyerbirthday=nbuyerbirthday,buyeradd=nbuyeradd,buyerphone=nbuyerphone wherebuyerid=nbuyerid=messagebox(" 修改完成 ",0+48+0," 提示 ") endif*表单初始化thisform.text1.enabled = .f.thisform.text2.enabled = .f.thisform.optiongroup1.enabled = .f.thisform.text3.enabled = .f.thisform.text4.enabled = .f.thisform.text5.enabled = .f.mand1.enabled = .t.mand2.enabled = .t.mand3.enabled = .t.mand4.enabled = .t.mand5.enabled = .t.mand6.enabled = .t.mand7.enabled = .t.mand8.enabled = .t.mand9.enabled = .t.采购员 已经删mand10.enabled =.f. mand11.enabled =.f.mand12.enabled = .t. thisform.dis_record thisform.dis_reccommand thisform.newcommand = .f.thisform.refresh10.3 表单删除按钮 Click 程序代码if reccount("buyer")=1 then=messagebox(" 只有一条记录 ,不能删除 ",0+16+0," 出错") return elsenbuyerid = alltrim(thisform.text1.value) nbuyername =alltrim(thisform.text2.value) mesbox=messagebox(" 是 否 删 除"+nbuyerid+" 号 "+nbuyername,4+48+0," 警告 ")if mesbox=7 then returnelseuse buyer EXCLUSIVEdelete from buyer where buyer.buyerid=nbuyerid pack=messagebox(nbuyerid+" 号采购员 "+nbuyername+"",0+48+0," 提示 ")endif endif thisform.dis_recordthisform.dis_reccommand thisform.refreshnoFLOAT fields 10.4 表单浏览按钮 Click 程序代码DEFINE WINDOW browsewin FROM 1,1 TO 30,120 CLOSEnominimize nogrow nozoom system select buyerset order to buyeridbrowbuyerid,buyername,buyersex,buyerbirthday,buyeradd,buyerpho ne window browsewin noappend nomodify nodelete release window browsewin 10.5 表单自定义过程 DIS_RECORD 程序代码select buyer set order to buyeridif reccount("buyer") = 0 thisform.text1.value = "" thisform.text2.value = ""thisform.optiongroup1.value = 0 thisform.text3.value = {} thisform.text4.value = "" thisform.text5.value = ""elsethisform.text1.value = buyer.buyerid thisform.text2.value = buyer.buyername if buyer.buyersex = " 男 " thisform.optiongroup1.value = 1 elsethisform.optiongroup1.value = 2 endifthisform.text3.value = buyer.buyerbirthday thisform.text4.value =buyer.buyeradd thisform.text5.value = buyer.buyerphone endif.and.thisform.refresh11 、 采购员信息查找表单 KFGL_CGY_CZ.SCX 程序代码 11.1 表单查找按钮 Click 事件程序代码if thisform.optiongroup1.value = 1 empty(thisform.text1.value)=messagebox(" 请输入采购员编号 ",0+16+0," 出错 ")thisform.text1.setfocus return endif if thisform.optiongroup1.value = 2 empty(thisform.text2.value) =messagebox(" 请输入采购员姓名 ",0+16+0," 出错 ")thisform.text2.setfocusreturn endif if thisform.optiongroup1.value = 0=messagebox(" 请选择条件 ",0+16+0," 出错 ")thisform.optiongroup1.option1.setfocusreturn endifselect buyerset order to buyeridgo topif thisform.optiongroup1.value = 1locate for buyerid == alltrim(thisform.text1.value)if .not.found()=messagebox(" 没有附和条件记录 ",0+16+0," 出错 ")thisform.text1.setfocusreturnendif elselocate for buyername = alltrim(thisform.text2.value)if .not.found()=messagebox(" 没有附和条件记录 ",0+16+0," 出错 ")thisform.text2.setfocusreturnendifendifcggl_cgy.dis_recordcggl_cgy.dis_reccommand cggl_cgy.refresh thisform.release。

C语言销售管理系统设计(内含完整代码及附件)

C语言销售管理系统设计(内含完整代码及附件)

用户下载须知程序语言:C、C++、C#(红色字体表示本课设使用的程序设计语言)图形功能选项:Win32控制台程序(黑框、文本界面)、Win32程序、MFC、WinForm、DirectX10(红色字体表示本课设的程序图形类别,默认为非图形界面Win32控制台程序)数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与平衡二叉树相结合、堆栈、队列、串、图(红色字体表示本课设使用的数据结构)C++语言项:STL库(红色字体表示使用C++的STL库)编译环境:Windows 7 64位旗舰版(Linux及其他环境请谨慎下载)集成开发环境:Visual C++ 6.0、DEVC++、CodeBlocks、Visual Studio 2015(需进行修改)均可通过编译。

(若无法通过编译运行,则会用浅蓝色字体表示)分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考相关文献)内容说明:1、课设题目及预览内容将在第二页开始展示。

2、代码行数:304行3、目录所示内容,本文基本涵盖,如无内容,会在本页进行说明。

4、附录绝对包含用户使用手册及程序完整源代码和详细注释。

5、如需下载其他头文件(例如DirectX需另行配置),本文会在此进行说明。

6、未经平台、本人及相关法律法规允许,请勿用于其它商业行为,否则后果自负。

7、本文撰写内容仅供学习参考,另外,由于本人水平有限,编写之处难免存在错误和纰漏,恳请各位老师或同学批评指正。

销售管理系统设计某公司有四个销售员(编号:1-4),负责销售五种产品(编号:A-E)。

每个销售员都将当天出售的每种产品各写一张便条交上来。

每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品当天的销售额。

每位销售员每天上缴1张便条。

系统基本功能:1、系统以菜单方式工作2、便条信息录入功能(便条信息用文件保存)3、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。

JSP网上书店开发完整实例(含完整源代码)

JSP网上书店开发完整实例(含完整源代码)

完整的简单jsp网上书店详细实例计算机web编程jsp毕业论文、考试复习资料必备其中包括的详细需求、业务分析、数据库、源代码我们使用JSP和Java Bean来构建一个网上书店。

介绍的例子可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。

客户端程序由以下几个部分构成:default.jsp:会员登录界面(首页);checklogon.jsp:检测登录代码和密码是否一致,根据由JavaBean返回的结果显示不同的信息。

BuyerBean:会员的合法性检验所用的Bean;booklist.jsp:给登录会员显示当前书店中可供选择的图书;addcart.jsp:将所选的图书加入购物车;shoppingcart.jsp:查看购物车的内容;本例的数据库采用Access(.MDB数据库),对数据库的访问采用便于理解的JDBC-ODBC方式,在使用本例前先在本地数据库建立一个ODBC数据源:bookstore。

设置步骤如下:(1)在开始->设置->控制面版(Win98、NT4.0)中选取“数据源(ODBC)”;在Win 2000 Professional和Server中分别位于“开始->设置->控制面版->管理工具”和“开始->程序->管理工具”下。

(2)启动“数据源(ODBC)”配置程序,界面如图15-1所示。

图15-1 ODBC数据源管理界面(3)在图15-1中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),则出现如图15-2所示数据源驱动程序选择界面:图15-2 数据源驱动程序选择界面(4)在图15-2中选择“Microsoft Access Driver (*.mdb)”单击“完成”加载Access数据库的驱动,则出现如图15-3所示数据库ODBC安装界面:图15-3 数据库ODBC安装界面(5)在图15-3中单击“选择(S)…”按钮,启动一个类似资源管理器的界面来选择数据库,如图15-4所示,在图15-4所示的界面中选择bookstore.mdb。

图书管理系统源代码 (3)

图书管理系统源代码 (3)

图书管理系统源代码1. 简介图书管理系统是一种用于管理图书馆或书店中图书信息的软件系统。

它主要提供了图书的添加、编辑、删除、查询等功能,便于管理人员对图书信息进行集中管理,同时也能方便读者进行图书的查询和借阅操作。

本文档将介绍一个基于Python的简单图书管理系统的源代码,以及其使用说明和功能演示。

2. 系统设计2.1 使用的库该图书管理系统使用了以下Python库来实现不同功能:•Tkinter:用于GUI界面的设计和实现。

•SQLite3:用于图书信息的持久化存储。

2.2 数据库设计在该图书管理系统中,我们使用了一个简单的图书信息表来存储图书的相关信息。

该表包含以下字段:•book_id:图书ID,唯一标识一个图书。

•book_title:图书标题,描述图书的名称。

•book_author:图书作者,描述图书的作者信息。

•book_publisher:图书出版商,描述图书的出版商信息。

2.3 功能设计该图书管理系统实现了以下功能:•添加图书:管理员可以添加一本新的图书到系统中。

•编辑图书:管理员可以编辑已存在的图书信息。

•删除图书:管理员可以从系统中删除指定的图书。

•查询图书:管理员和读者都可以根据图书的标题、作者或出版商来查询图书信息。

3. 源代码以下是该图书管理系统的源代码(使用Python编写):```python import tkinter as tk import sqlite3连接到数据库conn = sqlite3.connect(’library.db’) c = conn.cursor()创建图书信息表c.execute(’’’ CREATE TABLE IF NOT EXISTS books ( book_id INTEGER PRIMARY KEY AUTOINCREMENT, book_title TEXT, book_author TEXT, book_publisher TEXT ) ’’’)窗口初始化window = () window.title(。

python实现超市商品销售管理系统

python实现超市商品销售管理系统

python实现超市商品销售管理系统本⽂实例为⼤家分享了python超市商品销售管理系统的具体代码,供⼤家参考,具体内容如下需求分析:超市销售管理系统功能1.欢迎⽤户使⽤超市销售管理系统,提⽰⽤户登录,如果是⽤户名为admin,密码为123456,则管理员⾝份。

如果是其他⽤户(可以⾃⼰设置也可随意接收),则是顾客⾝份。

2.如果⽤户是管理员⾝份,提⽰⽤户输⼊编号,选择对应功能输⼊编号"1":显⽰商品的信息(编号商品名称价格)输⼊编号"2":添加商品信息(输⼊编号,商品名称,价格)输⼊编号"3":删除商品信息(输⼊编号,删除对应的名称和价格)输⼊编号"4":退出系统功能3.如果⽤户是顾客⾝份,只有⼀个功能:购买商品,展⽰所有商品信息,⽤户循环输⼊商品编号和购买数量,输⼊n时,退出系统,并提⽰⽤户总价格。

涉及到的知识点编程语⾔变量,语句,函数⾯向对象思想结合编程语⾔进⾏类的封装与⽅法的调⽤常见数据容器列表与字典的使⽤程序中对于⽂件的操作因为涉及对于⽂件的读取和写⼊,建议⼤家在程序开始前,先确定⽂件内容的格式,有效合理的表达商品内容,我采取以下格式,在项⽬⼯程⽬录下创建shop.txt⽂件夹逻辑分析:增删查买都是对于商品的操作,商品信息包括编号名称和价格,可以将信息封装到对象当中,可创建对象所属的类Goods。

然后对于增删等操作应该属于管理系统的功能,所以将相关功能封装到ShopManager类当中。

在进⼊系统时,应该⾸先查看之前是否有存储信息,所以要读取⽂件写⼊到内存中,增删操作都是通过编号作为索引,所以可以选择字典dict数据结构作为内存存储容器,然后增删都是对于字典的操作,当系统退出时,在将数据更新写⼊到⽂件中,避免恶意修改⽂件,恶意提交。

功能实现代码:⾸先创建表达商品对象的Goods类class Goods(object):def __init__(self,id,name,price):self.id = id = nameself.price = pricedef __str__(self):info = "编号:%s\t商品名称:%s\t\t价格:%d"%(self.id,,self.price)return info将对于商品操作的函数放到ShopManager类当中,功能包括管理员以及普通⽤户的,在登录后进⾏分流选择。

网上书店完整代码

网上书店完整代码

附录全部源代码package class Connect {private static Connection con = null;private static String url="jdbc:oracle:thin:@localhost:1521:ORCL";private static String driver = "";private static String user = "scott";private static String pwd = "tiger";public static Connection getConnection(){try {(driver);con = (url, user, pwd);"数据库连接成功!");} catch (ClassNotFoundException e) {"驱动加载失败!");;} catch (SQLException e) {"数据库连接失败!");}return con;}public static void main(String[] args) {();}}package class docMenuAction implements ActionListener { RegisterFrame register = null;JPanel cusPanel = null;JPanel docPanel = null;public docMenuAction(RegisterFrame register){= register;= ;= ;}public void actionPerformed(ActionEvent e) {于用户搜索商品public ArrayList getAllSellerGoods(){ArrayList list = new ArrayList();conn = ();try {statement = ();String sql = "select * from goods a,seller b where =";resultSet = (sql);while()){Seller seller = new Seller();("seller_name"));("address"));Goods goods = new Goods();(seller);("goods_id"));("goods_name"));("seller_id"));("discount"));("num"));("price"));2012-9-192012-9-192012-9-192012-9-19etImage());(null);(null);(false);etImage());(600, 400);;(null);(menuBar,;setGoodsPanel();;(goodsPanel,;;setSouthPanel();setOrderPanel();(southPanel,;}quals())){(null, "请输入商品编号或商品数量!");}else{int id = ());int num = ((String) ());goods = (id);if(null, "您确定要购买吗")==0){if()==0){(null, "商品编号输入错误!");}else{if()<num){(null, "商品数量不足!");}else{()-num);(goods);OrderDao order = new OrderDao();(goods, num);(null, "购买成功!");setAr();setOr();();}}}else{}}}});}etName();ar[i][7]=().getAddress();}}private void setArNull(){for(int i=0;i<;i++){for(int j=0;j<ar[i].length;j++){ar[i][j]="";}}}etName();or[i][3]=().getPrice();or[i][4]=().getDiscount();or[i][5]=().getPrice()*().getDiscount()*;or[i][6]=();or[i][7]=().getName();or[i][8]=().getAddress();}}private void setOrNull(){for(int i=0;i<;i++){for(int j=0;j<or[i].length;j++){or[i][j]="";}}}public static void main(String[] args) {BuyerFrame frame = new BuyerFrame();(true);}}package class LoginFrame extends JFrame{ private JLabel userNameLabel = new JLabel("用户名:");private JLabel pwdLabel = new JLabel("密码:");private JTextField useNameText = new JTextField();private JPasswordField pws = new JPasswordField();private JLabel roleLabel = new JLabel("角色:");private JComboBox roleBox = new JComboBox(new String[]{"商家","买家"}); private JButton bt = new JButton("确定");private JButton btR = new JButton("取消");private String flag = null;public LoginFrame(){init();}private void init(){(320, 280);("登录");(new ImageIcon("images/").getImage());(null);(false);;(null);(40, 20, 150, 30);(userNameLabel);(120, 20, 150, 30);(useNameText);(40, 80, 150, 30);(pwdLabel);(120, 80, 150, 30);(pws);(40, 140, 70, 30);(roleLabel);(120, 140, 150, 30);(roleBox);(40, 200, 70, 30);(btR);(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { quals(f)){flag = "seller";}if("买家".equals(f)){flag = "customer";}if("seller".equals(flag)){Seller seller = (), ());"-----"+());if()==null){(null, "用户名或密码输入错误");}else{setVisible(false);SellerFrame fame = new SellerFrame();(true);}}if("customer".equals(flag)){Buyer buyer = (), ());if()==null){(null, "用户名或密码输入错误");}else{setVisible(false);BuyerFrame frame = new BuyerFrame();(true);}}2012-9-20etImage());(300, 400);etImage());(600, 400);;(null);(menuBar,;setGoodsPanel();;(goodsPanel,;;setSouthPanel();setOrderPanel();(southPanel,;}quals())){(null, "请输入商品编号!");}else{int id = ());UpdateFrame frame = new UpdateFrame();Goods goods = new GoodsDao().getOneGoods(id);if()!=0){(goods);(goods);(true);}else{(null, "商品编号输入错误!");}}}});(btDelet);quals())){(null, "请输入商品编号!");}else{int id = ());GoodsDao dao = new GoodsDao();if(null, "您确定要删除吗")==0){if(id)!=0){(null, "删除成功!");}else{(null, "商品编号输入错误!!");}}else{}}}});(btAdd);(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { etName();ar[i][7]=().getAddress();}}private void setArNull(){for(int i=0;i<;i++){for(int j=0;j<ar[i].length;j++){ar[i][j]="";}}}etName();or[i][3]=().getPrice();or[i][4]=().getDiscount();or[i][5]=().getPrice()*().getDiscount()*;or[i][6]=();or[i][7]=();}}private void setOrNull(){for(int i=0;i<;i++){for(int j=0;j<or[i].length;j++){or[i][j]="";}}}public static void main(String[] args) {SellerFrame frame = new SellerFrame();(true);}}package class UpdateFrame extends JFrame{private static final Goods Goods = null;private JLabel lbName = new JLabel("商品名:");private JLabel lbPrice = new JLabel("价格:");private JLabel lbDiscount = new JLabel("折扣:");private JLabel lbNum = new JLabel("数量:");private JTextField fieldName = new JTextField(20);private JTextField fieldPrice = new JTextField(20);private JTextField fieldDiscount = new JTextField(20);private JTextField fieldNum = new JTextField(20);private JButton btSure = new JButton("修改");private JButton btCancel = new JButton("取消");private Goods goods = new Goods();public UpdateFrame(){init();}private void init(){(320, 330);("修改商品信息");(new ImageIcon("images/").getImage());(null);(null);(false);// ;(null);setText(goods);setContentPanel();}private void setContentPanel(){(30, 30, 80, 30);(130, 30, 150, 30);(30, 90, 80, 30);(130, 90, 150, 30);(30, 150, 80, 30);(130, 150, 150, 30);(30, 200, 80, 30);(130, 200, 150, 30);(30, 250, 70, 30);(210, 250, 70, 30);(lbName);(fieldName);(lbPrice);(fieldPrice);(lbDiscount);(fieldDiscount);(lbNum);(fieldNum);(btCancel);(btSure);(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubsetVisible(false);}});(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) { // TODO Auto-generated method stubif(null, "您确定要修改吗")==0){GoodsDao dao = new GoodsDao();()));());()));()));(goods);setVisible(false);(null, "修改成功!");}else{//}}});}public void setText(Goods goods){());()));()));()));}public Goods getGoods() {return goods;}public void setGoods(Goods goods) {= goods;}public static void main(String[] args) { UpdateFrame frame = new UpdateFrame();(true);}}数据库SQL语句:create table seller(seller_id varchar2(20) primary key,seller_name varchar2(20),pwd varchar2(20),address varchar2(200))insert into seller values('niclascage','长理专卖店','123456','湖南长沙')select * from sellerdrop table sellercommitcreate table buyer(buyer_id varchar(20) primary key,buyer_name varchar(20),pwd varchar2(20),address varchar(200))insert into buyer values('lina','林大专卖店','123456','湖南长沙')select * from buyerdrop table buyercreate table goods(goods_id int primary key,seller_id varchar(20),goods_name varchar(50),price int,discount int,num int,constraint fk_seller_id foreign key(seller_id) references seller(seller_id))insert into goods values(1,'niclascage','Java',40,8,20)select * from goodsdrop table goodscreate table orders(order_id int primary key,goods_id int,seller_id varchar(20),buyer_id varchar(20),num int,constraint fk_goods_id foreign key(goods_id) references goods(goods_id), constraint fk_sellers_id foreign key(seller_id) references seller(seller_id),constraint fk_buyer_id foreign key(buyer_id) references buyer(buyer_id) )select * from ordersinsert into orders values(1,1,'niclascage','lina',2)drop table orders;drop table goods;drop table buyer;drop table seller;。

java web项目案例源码

java web项目案例源码

一、概述在当今信息化时代,Web开发已经成为了一个非常重要的技术领域,而Java作为一种非常流行的编程语言,在Web开发中也有着非常广泛的应用。

Java web项目是指使用Java语言进行开发的Web应用程序,它们通常采用Java EE框架来进行构建,可以实现各种功能和服务,包括全球信息站、电子商务系统、社交评台等。

对于想要学习和深入了解Java web项目开发的人来说,掌握一些实际的案例源码是非常有帮助的。

二、案例介绍1. 全球信息站书店系统这是一个基于Java语言开发的全球信息站书店系统,它包括用户管理、书籍管理、购物车、订单管理等功能模块,采用了Java EE框架中的Spring MVC、Spring和MyBatis进行开发。

使用者可以通过全球信息站注册账号、浏览和搜索各种图书、将书籍加入购物车并生成订单等。

源码中包括了前端页面的HTML、CSS和JavaScript代码,以及后端的Java代码和数据库SQL脚本。

2. 上线考试系统这是一个用Java语言编写的上线考试系统,它实现了用户注册、试卷管理、考试监控、成绩统计等功能,采用了Java EE框架中的Struts2、Hibernate和Spring进行开发。

学生可以通过系统注册账号、选择参加各种考试、进行上线答题、系统自动评分等。

源码包括了前端页面的JSP和JavaScript代码,以及后端的Java代码和数据库SQL脚本。

3. 社交全球信息站这是一个采用Java语言开发的社交全球信息站项目,它包括用户注册、登入、发布动态、评论、点赞、关注好友等功能,采用了Java EE框架中的Spring Boot、Spring Data JPA等技术进行开发。

用户可以通过全球信息站注册账号、上传个人资料、关注其他用户,以及发布自己的动态并进行互动。

源码中包括了前端页面的HTML、CSS和JavaScript代码,以及后端的Java代码和数据库SQL脚本。

c语言图书销售系统(源代码)

c语言图书销售系统(源代码)

#include <stdio.h>#include <string。

h〉#include <malloc.h〉#include 〈stdlib。

h〉#include 〈time.h〉#include <conio。

h>#define LEN sizeof(struct book)#define VLEN sizeof(struct vip)#define SLEN sizeof(struct sales)struct vip *vhead=NULL;struct vip *v1,*v2;struct sales *shead=NULL;struct sales *s1,*s2;int V,S;/*结构体定义*/struct book{char bnum [12];/*书号*/char bname [41];/*书名*/char author [20];/*作者*/float price; /*书价*/int acount; /*书存在本数*/struct book *next;};struct sales{float count;struct sales *snext;};struct vip{char vnum[12];char vname[41];int level;float persum;float discount;struct vip *vnext;};/*函数声明*/void loadbook(); /*自动读入书库信息*/void welcome();/*欢迎界面显示*/ void inputbook();/*增加书本信息*/void loadvip();void loadsales(); /*自动录入销售信息*/void daysales(); /*日销售额*/void monthsales();/*月销售额*/void yearsales(); /*年销售额*/void search();/*查询书数量*/void search_by_bnum(); /*通过书号查询*/void search_by_bname();/*通过书名查询*/void search_by_author();/*通过作者查询*/void buy(); /*购买书籍*/void list(); /*列出书库信息*/void listvip();void listsales();/*列出销售信息*/void delet();/*删除书目*/void delet_by_bnum();/*通过书号删除*/void delet_by_bname();/*通过书名删除*/void delet_by_author();/*通过作者删除*/void save();/*保存记录*/void redef(); /*修改密码*/void bover(); /*显示已售完的书*/void buy_by_huiyuan();/*会员买书*/void buy_by_feihuiyuan();/*非会员买书*/void exit0(); /*退出*/int menu();/*主菜单*/void print2(); /*显示查询菜单*/void printdelete();/*显示删除菜单*/struct book *head=NULL,*head2=NULL;/*head和head2分别用于书库的头指针和已购书的头指针*/struct book *p1,*p2,*p3,*p4,*p5,*p6; /*p1、p2、p3用于操作书库图书,p4、p5、p6用于操作已购书*/int save_flag=0; /*图书信息变动标志*/int buy_flag=0;/*买书时,是否调用过查询功能标志*/int shan_flag=0;/*删书时,是否调用过显示已售完书功能标志*/int T=0;/*记录导入的书本数*/char mima[11]=”123456”;/*初始密码*/void bookmanage();void salesmanage(); /*销售统计*/int main() /*主函数*/{welcome(); /*欢迎界面显示*/loadbook();loadsales();loadvip(); /*自动导入书库信息*/while(1){switch(menu()){case 1:system(”cls”);bookmanage();break;case 2:system(”cls");buy();break;case 3:system("cls");listvip();break;case 4:system("cls”);;salesmanage();break;case 5:system(”cls");;break;case 0:system(”cls”);exit0();break;default:{printf("\n选择错误,请按主菜单提示输入您的正确选择(0~8)\n”);printf("按任意键返回继续:");rewind(stdin);/*清空缓冲区*/getch();}}}return 0;}/*菜单*/int menu(){int choice;system(”cls");/*系统清屏*/printf(”\n *************************主菜单*************************\n\n”);printf(” 1.图书管理\n\n”);printf(" 2。

销售管理系统相关代码

销售管理系统相关代码

销售管理系统相关代码以下是一个简单的销售管理系统的代码示例:```pythonclass Product:def __init__(self, name, price, quantity): = nameself.price = priceself.quantity = quantitydef get_total_price(self):return self.price * self.quantityclass SalesManager:def __init__(self):self.products = []def add_product(self, product):self.products.append(product)def remove_product(self, product):self.products.remove(product)def calculate_total_revenue(self):total_revenue = 0for product in self.products:total_revenue += product.get_total_price() return total_revenue# 示例用法if __name__ == "__main__":manager = SalesManager()# 添加产品product1 = Product("iPhone", 999, 2)manager.add_product(product1)product2 = Product("iPad", 599, 3)manager.add_product(product2)# 计算总收入total_revenue = manager.calculate_total_revenue()print("总收入:", total_revenue)# 移除产品manager.remove_product(product1)# 重新计算总收入total_revenue = manager.calculate_total_revenue()print("调整后总收入:", total_revenue)```上述代码包括两个类:`Product`和`SalesManager`。

书店管理系统—销售子系统 附 代码

书店管理系统—销售子系统 附 代码
alter table customer
delete foreign key "FK_CUSTOMER_REFERENCE_LEASE OR"
end if;
if exists(select 1 from sys.sysforeignkey where role='FK_CUSTOMER_REFERENCE_DISC') then
/*==============================================================*/
create table "Lease order"
(
订单号char(15)null,
顾客姓名varchar(10)null,
电话char(15)null,
地址varchar(50)null,
1.概念模型
2.逻辑模型设计
根据E-R模型,构建关系模式如下:
(1)用户信息(姓名,性别,出生日期,联系方式,卡号账号)
(2)订单信息(订单号,顾客姓名,顾客联系方式,地址,订单书籍数目,书籍名,订单日期,订单总价格)
(3)书籍信息(书籍编号,书籍名,作者,书籍类别,书籍简介,书籍价格)
(4)销售活动(活动时间,活动主题,活动地址,活动折扣,活动参与书籍编号)
alter table customer
delete foreign key FK_CUSTOMER_REFERENCE_DISC
end if;
drop table if exists Disc;
drop table if exists "Lease order";
drop table if exists customer;

C语言课程设计-小型书店管理系统

C语言课程设计-小型书店管理系统

C语言课程设计-小型书店管理系统简介本文档旨在设计一个小型书店管理系统,使用C语言实现。

该系统将提供以下功能:1. 登录:管理员和员工可以使用自己的账号和密码登录系统。

2. 书籍管理:管理员可以添加、编辑和删除书籍信息。

3. 销售管理:员工可以记录每一笔销售,包括售出的书籍、销售时间和销售数量。

4. 会员管理:系统可以管理会员信息,包括会员的姓名、手机号码和积分等。

5. 库存管理:系统可以记录书籍的库存信息,包括书籍的数量和位置。

功能说明登录- 系统启动时,提示用户输入账号和密码。

- 系统验证账号和密码是否正确,允许管理员和员工登录。

- 登录成功后,进入主菜单。

书籍管理- 管理员在主菜单选择书籍管理,可以进行以下操作:- 添加书籍:输入书籍的名称、作者、出版社和价格等信息,保存到系统中。

- 编辑书籍:选择要编辑的书籍,并修改相关信息。

- 删除书籍:选择要删除的书籍,并从系统中删除。

- 查看书籍列表:显示系统中所有的书籍信息。

销售管理- 员工在主菜单选择销售管理,可以进行以下操作:- 记录销售:选择要销售的书籍,并输入销售的数量。

- 系统更新库存信息,并生成销售记录,包括销售时间、图书名称和数量等。

- 销售记录可以用于后续的统计和分析。

会员管理- 管理员在主菜单选择会员管理,可以进行以下操作:- 添加会员:输入会员的姓名、手机号码和积分等信息,保存到系统中。

- 编辑会员信息:选择要编辑的会员,并修改相关信息。

- 删除会员:选择要删除的会员,并从系统中删除。

- 查看会员列表:显示系统中所有的会员信息。

库存管理- 系统会记录每本书籍的库存数量和位置。

- 当员工记录销售时,系统会自动更新库存信息。

- 员工可以在主菜单选择库存管理,查看当前库存情况。

技术实现本系统将使用C语言进行开发,主要使用以下技术:1. 数据结构:使用结构体来表示书籍、会员和销售记录等信息。

2. 文件操作:使用文件保存和读取数据,以实现数据的持久化。

C语言 图书销售管理系统

C语言   图书销售管理系统

目录图书销售管理系统设计 (2)一、设计要求 (2)二、总体设计思路 (2)1. 主要功能:系统主要包括八个功能模块。

(2)2. 总体思路框图 (2)三、主要参数和函数 (3)1. 全局变量 (3)2. 主要函数 (3)四、程序调试及整体实现 (10)1. 主菜单运行界面 (10)2. 图书信息录入界面 (10)3. 图书信息浏览界面 (11)4. 图书查询界面 (11)5. 图书信息修改界面 (12)6. 图书信息删除界面 (12)7. 图书信息排序主界面 (13)8. 购书清单界面 (14)五、体会总结 (14)附件 (15)图书销售管理系统设计一、设计要求1.图书信息包括:序号、书名、作者、出版单位、价格。

2.系统以菜单方式工作。

3.图书信息录入功能(图书信息用文件保存)--输入。

4.图书信息的删除与修改功能。

5.图书信息浏览功能--输出。

6.查询功能--算法:(按书名/作者查询)。

7.排序功能--算法:(按书名排序/按价格排序)。

8.图书购买功能:统计选购图书的总价,给出清单,屏幕输出参考以下的实际购书单。

二、总体设计思路1.主要功能:系统主要包括八个功能模块。

1)图书信息的录入:将所要录入的图书信息包括序号、书名、作者、出版社、价格等录入一个文本文件中。

每录入一本书,系统提示是否继续,若不继续,则返回主界面。

2)图书信息的查询:将所有图书信息包括序号、书名、出版社、作者、价格等显示在屏幕上,最后返回主界面。

3)图书信息的查询:通过输入图书名称或作者完成图书信息的查找,并在屏幕上显示,返回主界面。

4)图书信息的修改:通过输入序号,判断此图书是否存在,若不存在则提示用户重新输入图书序号,若存在则要求输入要修改图书的序号,对该图书重新录入信息。

录入后,提示是否继续,如不继续,则返回主界面。

5)图书信息的删除:通过输入序号,判断此图书是否存在,若存在,则提示用户是否显示删除后的信息,若不存在则提示用户重新输入图书序号,删除完毕后,返回主界面。

java书店管理系统源代码

java书店管理系统源代码

Java 源代码publicclass loaduser {public String user;public String password;boolean b1;loaduser(String s1,String s2){user=s1;password=s2;}void load(){System.out。

println(" 书店管理销售系统");System.out.println(”**************************************");System。

out。

println(” 1、登录系统”);System.out.println(” 2、退出系统”);System。

out.println("**************************************”);System。

out.println("请选择:”);int m;Scanner s=new Scanner(System。

in);m=s。

nextInt();if(m==1){for(int i=0;i〈3;i++){System.out。

println("请输入账户名和密码”);String s3,s4;Scanner ss=new Scanner(System。

in);s3=s。

next();s4=s。

next();if(user。

equals(s3)&&password.equals(s4)) b1=true;else b1=false;if(i==0&&b1==false)System。

out.println("用户名或密码输入错误一次,还有两次机会!”);if(i==1&&b1==false)System。

out。

println(”用户名或密码输入错误两次,还有一次机会!");if(i==2&&b1==false){System.out.println(”三次输入错误,退出系统!”);System。

C语言设计实现销售管理系统源代码

C语言设计实现销售管理系统源代码

#include"stdio.h"#include"string.h"#include"stdlib.h"struct goods{char name[20];int price;char pro[20];int kc;int xs;}s[30];void add();void select();void update();void center(){int k;printf("----------------------欢迎登陆销售管理系统--------------------\n");printf(" \n");printf(" \n");printf(" \n");printf("请输入您要操作的功能:\n");printf("1,添加商品信息2,查找商品信息3,修改商品信息4,退出系统\n"); scanf("%d",&k);switch(k){case 1:system("CLS");add();break;case 2:system("CLS");select();break;case 3:system("CLS");update();break;case 4:exit(0);break;}}void add()FILE *fp;fp=fopen("goods.txt","a");printf("请输入商品名称单价生产厂家库存量销售量\n"); scanf("%s%d%s%d%d",&s[0].name,&s[0].price,&s[0].pro,&s[0].kc,&s[0].xs); fwrite(&s[0],sizeof(struct goods),1,fp);printf("添加成功\n");fclose(fp);center();}void select(){int i;char name[20];int money,k;FILE *fp;fp=fopen("goods.txt","rb");printf("您是要查找1;按商品名称2;生产厂家:\n");scanf("%d",&k);switch(k){case 1:printf("请输入商品名称:\n");scanf("%s",&name);for(i=0;i<30;i++){fread(&s[i],sizeof(struct goods),1,fp);if(strcmp(s[i].name,name)==0){printf("销售量金额库存量为:\n");money=s[i].price*s[i].xs;printf("%d\t%d\t%d\n",s[i].xs,money,s[i].kc);}}break;case 2:printf("请输入生产厂家:\n");scanf("%s",&name);for(i=0;i<30;i++){fread(&s[i],sizeof(struct goods),1,fp);if(strcmp(s[i].pro,name)==0){printf("销售量金额库存量为:\n");money=s[i].price*s[i].xs;printf("%d\t%d\t%d\n",s[i].xs,money,s[i].kc);}break;}fclose(fp);center();}void update(){int i;char name[20];int up,k;FILE *fp;fp=fopen("goods.txt","rb");for(i=0;i<30;i++){fread(&s[i],sizeof(struct goods),1,fp);}fclose(fp);if((fp=fopen("goods.txt","wb"))!=NULL)printf("请输入您要修改的商品名称:\n"); scanf("%s",name);printf("您要修改:1,库存量2,销售量\n"); scanf("%d",&k);switch(k){case 1:for(i=0;i<30;i++){if(strcmp(s[i].name,name)==0){printf("请输入您要修改的值:\n");scanf("%d",&up);s[i].kc=up;printf("修改成功\n");}fwrite(&s[i],sizeof(struct goods),1,fp);}break;case 2:for(i=0;i<30;i++){if(strcmp(s[i].name,name)==0){printf("请输入您要修改的值:\n");scanf("%d",&up);s[i].xs=up;printf("修改成功\n");}fwrite(&s[i],sizeof(struct goods),1,fp); }break;}fclose(fp);center();}int main(){center();}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
var
i:integer;
begin
for i:=0 to frm_main.MDIChildCount-1 do
begin
if frm_main.MDIChildren[i]=frm_out then
begin
frm_out.PageControl1.ActivePageIndex:=0;
exit;
Application.Run;
end.
unit uni_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ToolWin, ImgList;
N9: TMenuItem;
N10: TMenuItem;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
uni_in in 'uni_in.pas' {frm_in},
uni_book in 'uni_book.pas' {frm_book};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(Tfrm_main, frm_main);
end;
procedure Tfrm_main.N3Click(Sender: TObject);
var i:integer;
begin
for i:=0 to frm_main.MDIChildCount-1 do
begin
if frm_main.MDIChildren[i]=frm_out then
procedure N4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
begin
frm_out.PageControl1.ActivePageIndex:=1;
exit;
end;
end;
application.CreateForm(Tfrm_out,frm_out);
frm_out.PageControl1.ActivePageIndex:=1;
end;
procedure Tfrm_main.N4Click(Sender: TObject);
ImageList1: TImageList;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
procedure N2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_main: Tfrm_main;
implementation
uses uni_out,uni_dm, uni_in, uni_book;
{$R *.dfm}
procedure Tfrm_main.N2Click(Sender: TObject);
书店销售管理系统源代码
书店销售管理系统Delphi源代码
program Book_Manager;
uses
Forms,
uni_main in 'uni_main.pas' {frm_main},
uni_out in 'uni_out.pas' {frm_out},
uni_DM in 'uni_DM.pas' {DM: TDataModule},
end;
end;
application.CreateForm(Tfrm_out,frm_out);
frm_out.PageControl1.ActivePageIndex:=0;
end;
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
Application.CreateForm(Tdm,dm);
var i:integer;
begin
for i:=0 to frm_main.MDIChildCount-1 do
begin
if frm_main.MDIChildren[i]=frm_out then
begin
frm_out.PageControl1.ActivePageIndex:=2;
exit;
procedure N6Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
type
Tfrm_main = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
相关文档
最新文档