网吧计费系统附完整源代码
网吧计费管理代码

代码设计上机界面package org.apache.jsp.page.pc;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;import java.util.*;import com.tjuci.model.PC;public final class up_jsp extends org.apache.jasper.runtime.HttpJspBaseimplements org.apache.jasper.runtime.JspSourceDependent {private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();private static java.util.List _jspx_dependants;private javax.el.ExpressionFactory _el_expressionfactory;private org.apache.AnnotationProcessor _jsp_annotationprocessor;public Object getDependants() {return _jspx_dependants;}public void _jspInit() {_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpression Factory();_jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.ge tName());}public void _jspDestroy() {}public void _jspService(HttpServletRequest request, HttpServletResponse response)throws java.io.IOException, ServletException {PageContext pageContext = null;HttpSession session = null;ServletContext application = null;ServletConfig config = null;JspWriter out = null;Object page = this;JspWriter _jspx_out = null;PageContext _jspx_page_context = null;try {response.setContentType("text/html;charset=UTF-8");pageContext = _jspxFactory.getPageContext(this, request, response,null, true, 8192, true);_jspx_page_context = pageContext;application = pageContext.getServletContext();config = pageContext.getServletConfig();session = pageContext.getSession();_jspx_out = out;out.write("\r\n");out.write("\r\n");out.write("\r\n");out.write("\r\n");out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");out.write("<html>\r\n");out.write(" <head>\r\n");out.write("\r\n");out.write(" <meta http-equiv=\"content\" content=\"text/html;charset=UTF-8\"/>\r\n");out.write(" <title>上机</title>\r\n");out.write(" <script type=\"text/javascript\">\r\n");out.write(" \t\r\n");out.write(" </script>\r\n");out.write(" </head>\r\n");out.write(" \r\n");out.write(" <body>\r\n");out.write(" \t\t");PC pc=(PC)request.getAttribute("pc");out.write("\r\n");out.write(" <form id=\"myform\" action=\"");out.print(request.getContextPath() );out.write("/submitUp.do?id=");out.print(pc.getId());out.write("\" method=\"post\" onsubmit=\"return check(this)\">\r\n");out.write(" \t\r\n");out.write(" <table align=\"center\" border=\"1\">\r\n");out.write(" <center><h2>用户上机界面</h2></center><hr/>\r\n");out.write(" \t<tr>\r\n");out.write(" \t\t<td>机器号</td>\r\n");out.write(" \t\t<td>");out.print(pc.getPno() );out.write("</td>\r\n");out.write(" \t</tr>\r\n");out.write(" \t<tr>\r\n");out.write(" \t\t<td>状态</td>\r\n");out.write(" \t\t<td>");out.print(pc.getPcState() );out.write("</td>\r\n");out.write(" \t</tr>\r\n");out.write(" \t<tr>\r\n");out.write(" \t\t<td>客户名</td>\r\n");out.write(" \t\t<td><input type=\"text\" id =\"username\" name=\"username\"out.write(" \t</tr>\r\n");out.write(" \t<tr>\r\n");out.write(" \t\t<td>消费额</td>\r\n");out.write(" \t\t<td><input type=\"text\" id =\"cost\" name=\"cost\" /></td>\r\n"); out.write(" \t</tr>\r\n");out.write(" \t<tr>\r\n");out.write(" \t\t<td>是否通宵</td>\r\n");out.write(" \t\t<td>\r\n");out.write(" \t\t<select name=\"isnight\">\r\n");out.write(" \t\t\t<option value=\"1\">否</option>\r\n");out.write(" \t\t\t<option value=\"0\">是</option>\r\n");out.write(" \t\t\t\r\n");out.write(" \t\t</select>\r\n");out.write(" \t\t</td>\r\n");out.write(" \t</tr>\r\n");out.write(" \t<tr align=\"center\">\r\n");out.write(" \t\t<td colspan=\"2\"><input type=\"submit\" value=\"提交\"/> <input type=\"reset\" value=\"重置\"/></td>\r\n");out.write(" \t</tr>\r\n");out.write(" \r\n");out.write(" </table>\r\n");out.write(" </form>\r\n");out.write(" </body>\r\n");out.write("</html>\r\n");} catch (Throwable t) {if (!(t instanceof SkipPageException)){out = _jspx_out;if (out != null && out.getBufferSize() != 0)try { out.clearBuffer(); } catch (java.io.IOException e) {}if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);}} finally {_jspxFactory.releasePageContext(_jspx_page_context);}}}上机界面说明:管理员登陆上机界面时选择待机状态的机器输入客户名、消费额及是否通宵情况,并提交。
c语言网吧计费系统源代码

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#define N 5struct user{char ID_card[30];char user_card[10];char user_level[50];float add_money; //充值};struct LinkList{struct user struct_user;LinkList *pNext;};struct control{char control_name[20];char control_password[15];}control_person={"apollo","apollo"};//管理员账户和密码设置////////////////////////////////void enter(int x);void tab(int x);void start();void login();void mainmenu();void submenu1();void submenu2();void submenu3();void submenu4();void xian_shi(LinkList *pHead);LinkList *adduser(LinkList *pHead);LinkList *addmoney(LinkList *pHead); //充值LinkList *shang_wang(LinkList *pHead); //上网LinkList *zhu_xiao(LinkList *pHead); //注销会员void save(LinkList *pTemp);LinkList *readsave();void cha_xun_shen(LinkList *pHead);void cha_xun_hui(LinkList *pHead);///////////////////////启动void start(){system("cls");for(int k=0;k<2;k++){for(int i=0;i<N;i++){system("color B");enter(7);tab(3);printf(" 星星网吧计费管理系统");enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 1 endenter(7);tab(3);printf(" 星星网吧计费管理系统");enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 2 endenter(7);tab(3);printf(" 星星网吧计费管理系统");enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 3 endenter(7);tab(3);printf(" 星星网吧计费管理系统"); enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 4 endenter(7);tab(3);printf(" 星星网吧计费管理系统"); enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 5 endenter(7);tab(3);printf(" 星星网吧计费管理系统"); enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 6 endenter(7);tab(3);printf(" 星星网吧计费管理系统"); enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 7 endenter(7);tab(3);printf(" 星星网吧计费管理系统");enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 8 endenter(7);tab(3);printf(" 星星网吧计费管理系统");enter(2);tab(4);printf(" ■");enter(1);tab(4);for(i=0;i<100000000;i++){}system("cls"); //circle 9 end }}login();}//登陆函数void login(){char name[20];char password[15];while(1){system("cls");enter(7);tab(3);printf(" 管理员登录");enter(2);tab(4);printf("Count:");fflush(stdin);if(strcmp(gets(name),control_person.control_name)==0){leap: system("cls");enter(7);tab(3);printf(" 管理员登录");enter(2);tab(4);printf("Password:");fflush(stdin);if(strcmp(gets(password),control_person.control_password)==0){mainmenu();break;}else{char ch;tab(4);printf("Your password is error!\n");tab(4);printf("Do you want to try again?(Y/N):");scanf("%c",&ch);if(ch=='Y' || ch=='y')goto leap;else if(ch=='N' || ch=='n')exit(0);else{system("cls");enter(7);tab(1);printf("Error!Please check your code then login again,thank you!\n");tab(3);exit(0);}}}else{char i;system("cls");enter(7);tab(4);printf("Your count is erorr!\n");tab(4);printf("Do you want to try again?(Y/N):");scanf("%c",&i);if(i=='Y' || i=='y')continue;else if(i=='N' || i=='n')exit(0);else{system("cls");enter(7);tab(1);printf("Error!Please check your code then login again,thank you!\n");tab(3);exit(0);}}}}//enter函数void enter(int x){for(int i=0;i<x;i++)printf("\n");}//tab函数void tab(int x){for(int i=0;i<x;i++)printf("\t");}//mainmenu主菜单void mainmenu(){struct LinkList *pHead=NULL; //初始化while(1){int i;system("cls");printf("\n\n\n\n\n\t\t\t********星星网吧计费管理系统*********\n");printf("\t\t\t** 1.注册会员**\n");printf("\t\t\t** **\n");printf("\t\t\t** 2.会员管理**\n");printf("\t\t\t** **\n");printf("\t\t\t** 3.注销**\n");printf("\t\t\t** **\n");printf("\t\t\t** 4.重启**\n");printf("\t\t\t** **\n");printf("\t\t\t** 5.关闭系统**\n");printf("\t\t\t*************************************\n");printf("\t\t\t请选择:");fflush(stdin);scanf("%d",&i);switch(i){case 1:pHead=adduser(pHead);break;case 2:submenu1();break;case 3:login();break;case 4:start();break;case 5:submenu2();break;default:printf("输入错误!\n");for(int j=0;j<100000000;j++){}break;}}}//submenu1会员管理菜单void submenu1(){struct LinkList *pHead=NULL;while(1){int i;system("cls");printf("\n\n\n\n\n\t\t\t**************会员管理***************\n");printf("\t\t\t** 1.会员消费**\n");printf("\t\t\t** **\n");printf("\t\t\t** 2.注销会员**\n");printf("\t\t\t** **\n");printf("\t\t\t** 3.查找会员信息**\n");printf("\t\t\t** **\n");printf("\t\t\t** 4.查询所有会员信息**\n");printf("\t\t\t** **\n");printf("\t\t\t** 5.返回上一级菜单**\n");printf("\t\t\t*************************************\n");printf("\t\t\t请选择:");fflush(stdin);scanf("%d",&i);switch(i){case 1:submenu3();break;case 2:pHead=zhu_xiao(pHead);break;case 3:submenu4();break;case 4:;xian_shi(pHead);break;case 5:mainmenu();break;default:printf("输入错误!\n");for(int j=0;j<100000000;j++){}break;}}}//submenu2关闭系统void submenu2(){system("cls");printf("\n\n\n\n\n\t\t\t********星星网吧计费管理系统*********\n");printf("\t\t\t** 谢谢您的使用! **\n");printf("\t\t\t** **\n");printf("\t\t\t** 欢迎再次使用! **\n");printf("\t\t\t** **\n");printf("\t\t\t** 技术支持: **\n");printf("\t\t\t** **************************\n");printf("\t\t\t** 版权所有: **\n");printf("\t\t\t** 湖南长沙英泰学院09081A班**\n");printf("\t\t\t** 2009.10 **\n");printf("\t\t\t*************************************\n");exit(0);}//submenu3消费菜单void submenu3(){int i;LinkList *pHead=NULL;while(1){system("cls");printf("\n\n\n\n\n\t\t\t**********消费内容*******************\n");printf("\t\t\t** 1.充值**\n");printf("\t\t\t** **\n");printf("\t\t\t** 2.上网**\n");printf("\t\t\t** **\n");printf("\t\t\t** 3.返回上一级菜单**\n");printf("\t\t\t*************************************\n");printf("\t\t\t请选择:");fflush(stdin);scanf("%d",&i);switch(i){case 1:pHead=addmoney(pHead);break;case 2:pHead=shang_wang(pHead);break;case 3:submenu1();break;default:printf("输入错误!请重新输入!\n");for(int j=0;j<100000000;j++){}break;}}}//submenu4会员查找函数void submenu4(){int i;LinkList *pHead=NULL;while(1){system("cls");printf("\n\n\n\n\n\t\t\t**************查找会员***************\n");printf("\t\t\t** 1.按身份证号码查找**\n");printf("\t\t\t** **\n");printf("\t\t\t** 2.按会员卡号号码查找**\n");printf("\t\t\t** **\n");printf("\t\t\t** 3.返回上一级菜单**\n");printf("\t\t\t*************************************\n");printf("\t\t\t请选择:");fflush(stdin);scanf("%d",&i);switch(i){case 1:cha_xun_shen(pHead);break;case 2:cha_xun_hui(pHead);break;case 3:submenu1();break;default:printf("输入错误!请重新输入!\n");for(int j=0;j<100000000;j++){}break;}}}//新会员注册LinkList *adduser(LinkList *pHead){LinkList *pTemp,*p;system("cls");pTemp=(LinkList *)malloc(sizeof(struct LinkList));if(pTemp==NULL)return pHead;leap:printf("\n\n\n\n\t\t");printf("输入第二代身份证号码(18位):");fflush(stdin);gets(pTemp->struct_user.ID_card);for(int i=0;i<17;i++){if(pTemp->struct_user.ID_card[i]>'9' || pTemp->struct_user.ID_card[i]<'0') //如果输入的信息大于9小于0的范围(输入的不是数字){system("cls");printf("输入的不是纯数字!\n请重新输入!\n");goto leap;}else if(strlen(pTemp->struct_user.ID_card)!=18 || strlen(pTemp->struct_user.ID_card)==0){system("cls");printf("输入不合法!\n请重新输入!\n");goto leap;}}loop:printf("\n\t\t");printf("请输入卡号(8位):");fflush(stdin);gets(pTemp->struct_er_card);for(i=0;i<8;i++){if(pTemp->struct_er_card[i]>'9' || pTemp->struct_er_card[i]<'0') //如果输入的信息大于9小于0的范围(输入的不是数字){system("cls");tab(3);printf("输入的不是纯数字!\n请重新输入!\n");goto loop;}else if(strlen(pTemp->struct_er_card)!=8 || strlen(pTemp->struct_er_card)==0){system("cls");printf("输入不合法!\n请重新输入!\n");goto loop;}}k: printf("\n\n\t\t|-----------会员优惠活动------------|\n");printf("\t\t| 普通会员>0 <=10元|\n");printf("\t\t| 铜卡会员>10 <=20元+10元|\n");printf("\t\t| 银卡会员>20 <=30元+20元|\n");printf("\t\t| 金卡会员>30 <=50元+30元|\n");printf("\t\t| VIP会员充100元送80元|\n");printf("\t\t|-----------------------------------|\n");printf("\t\t");printf("充值:");fflush(stdin);scanf("%f",&(pTemp->struct_user.add_money)); //充值if(pTemp->struct_user.add_money>1000 || pTemp->struct_user.add_money<=0) //如果输入的信息大于9小于0的范围(输入的不是数字){system("cls");printf("输入错误!\n请重新输入!\n");goto k;}else if(pTemp->struct_user.add_money>0 && pTemp->struct_user.add_money<=10){tab(2);strcpy(pTemp->struct_er_level,"普通会员");printf("■恭喜你!你已成为本网吧普通会员!■\n");}else if(pTemp->struct_user.add_money>10 && pTemp->struct_user.add_money<=20){tab(2);strcpy(pTemp->struct_er_level,"铜卡会员");printf("■恭喜你!你已成为本网吧铜卡会员!■\n");pTemp->struct_user.add_money+=10;}else if(pTemp->struct_user.add_money>20 && pTemp->struct_user.add_money<=30) {tab(2);strcpy(pTemp->struct_er_level,"银卡会员");printf("■恭喜你!你已成为本网吧银卡会员!■\n");pTemp->struct_user.add_money+=20;}else if(pTemp->struct_user.add_money>=30 && pTemp->struct_user.add_money<100) {tab(2);strcpy(pTemp->struct_er_level,"金卡会员");printf("■恭喜你!你已成为本网吧金卡会员!■\n");pTemp->struct_user.add_money+=30;}else if(pTemp->struct_user.add_money>=100){tab(2);strcpy(pTemp->struct_er_level,"VIP会员");printf("■恭喜你!你已成为本网吧VIP会员!■\n");pTemp->struct_user.add_money+=80;}pTemp->pNext=NULL;//////////////////if(pHead==NULL)pHead=pTemp;else{p=pHead;while(p->pNext!=NULL)p=p->pNext;p->pNext=pTemp;}save(pTemp);return pHead;}//保存会员注册void save(LinkList *pTemp){FILE *fp=fopen("user","ab");if(fp==NULL){tab(3);printf("读取失败!\n");exit(0);}tab(3);printf("开始保存文件!\n");if(fwrite(pTemp,sizeof(struct LinkList),1,fp)==1){tab(3);printf("文件保存成功!\n");getch();}else{tab(3);printf("文件保存失败!\n");getch();}fclose(fp);}//读取保存LinkList *readsave(){LinkList *pHead=NULL,*p;FILE *fp;fp=fopen("user","rb");if(fp==NULL){tab(3);printf("文件打开失败!\n");getch();return pHead;}while(!feof(fp)){LinkList *pTemp=(LinkList*)malloc(sizeof(LinkList));int t=fread(pTemp,sizeof(struct LinkList),1,fp);pTemp->pNext=NULL;if(t>0){if(pHead==NULL){pHead=pTemp;}else{p=pHead;while(p->pNext!=NULL)p=p->pNext;p->pNext=pTemp;}}elsebreak;}fclose(fp);return pHead;}//显示所有会员信息void xian_shi(LinkList *pHead){FILE *fp=fopen("user","rb");if(fp==NULL){system("cls");printf("\n\n\n\n\n\n\n\n\t\t\t\t");printf("没有会员信息!\n");getch();return;}LinkList *pTemp,*p;pTemp=(LinkList *)malloc(sizeof(LinkList));int count=0;system("cls");enter(5);printf(" -----------------------|-------------|--------------|--------------\n");printf("\t身份证号码\t\t会员卡号\t卡上余额\t会员级别\n");printf(" -----------------------|-------------|--------------|--------------\n");while(!feof(fp)){int t=fread(pTemp,sizeof(LinkList),1,fp);pTemp->pNext=NULL;//////////////////if(t>0){count++;if(pHead==NULL){pHead=pTemp;}else{p=pHead;while(p->pNext!=NULL)p=p->pNext;p->pNext=pTemp;}}else{break;}printf("\t%-20s\t%-10s\t%-5.1f元\t\t%-6s\n",pTemp->struct_user.ID_card,pTemp->struct_er_card,pTemp->struct_user.add_ money,pTemp->struct_er_level);}printf(" -----------------------|-------------|--------------|--------------\n");printf("\n\t\t共有会员%d个\n",count);getch();fclose(fp);}//查找会员信息(按身份证号码查找)void cha_xun_shen(LinkList *pHead){LinkList *pTemp;char shen_fen[100];system("cls");enter(9);tab(3);printf("身份证号码:");fflush(stdin);gets(shen_fen);if(strlen(shen_fen)!=18){tab(3);printf("输入错误!\n");getch();return;}pHead=readsave();if(pHead==NULL){tab(3);printf("没有找到会员信息或会员不存在!\n");getch();return;}pTemp=pHead;while(pTemp){if(strcmp(pTemp->struct_user.ID_card,shen_fen)==0){system("cls");enter(5);printf(" -----------------------|-------------|--------------|--------------\n");printf("\t身份证号码\t\t会员卡号\t卡上余额\t会员级别\n");printf(" -----------------------|-------------|--------------|--------------\n");printf("\t%-20s\t%-10s\t%-5.1f元\t\t%-6s\n",pTemp->struct_user.ID_card,pTemp->struct_er_card,pTemp->struct_user.add_ money,pTemp->struct_er_level);printf(" -----------------------|-------------|--------------|--------------\n");getch();break;}pTemp=pTemp->pNext;}}//查找会员信息(按会员卡号查找)void cha_xun_hui(LinkList *pHead){LinkList *pTemp;char shen_fen[100];system("cls");enter(9);tab(3);printf("卡号(8位:");fflush(stdin);gets(shen_fen);if(strlen(shen_fen)!=8){tab(3);printf("输入错误!\n");getch();return;}pHead=readsave();if(pHead==NULL)tab(3);printf("没有找到会员信息或会员不存在!\n");getch();return;}pTemp=pHead;while(pTemp){if(strcmp(pTemp->struct_er_card,shen_fen)==0){system("cls");enter(5);printf(" -----------------------|-------------|--------------|--------------\n");printf("\t身份证号码\t\t会员卡号\t卡上余额\t会员级别\n");printf(" -----------------------|-------------|--------------|--------------\n");printf("\t%-20s\t%-10s\t%-5.1f元\t\t%-6s\n",pTemp->struct_user.ID_card,pTemp->struct_er_card,pTemp->struct_user.add_ money,pTemp->struct_er_level);printf(" -----------------------|-------------|--------------|--------------\n");getch();break;}pTemp=pTemp->pNext;}}//保存充值、注销和上网消费后的后的会员信息void save_chong(LinkList *pHead){FILE *fp=fopen("user","wb");if(fp==NULL){tab(3);printf("文件打开失败!\n");getch();return;}LinkList *pTemp;pTemp=pHead;if(pHead==NULL){printf("没有找到会员信息!\n");getch();return;printf("开始保存修改!\n");while(pTemp){fwrite(pTemp,sizeof(LinkList),1,fp);pTemp=pTemp->pNext;}printf("保存成功!\n");getch();fclose(fp);}//充值LinkList *addmoney(LinkList *pHead){LinkList *pTemp;char shen_fen[100];system("cls");enter(9);tab(3);printf("卡号(8位):");fflush(stdin);gets(shen_fen);if(strlen(shen_fen)!=8){tab(3);printf("输入错误!\n");getch();return pHead;}pHead=readsave(); //very importantif(pHead==NULL){tab(3);printf("没有找到会员信息或会员不存在!\n");getch();return pHead;}pTemp=pHead;while(pTemp){if(strcmp(pTemp->struct_er_card,shen_fen)==0){system("cls");enter(5);printf(" -----------------------|-------------|--------------|--------------\n");printf("\t身份证号码\t\t会员卡号\t卡上余额\t会员级别\n");printf(" -----------------------|-------------|--------------|--------------\n");printf("\t%-20s\t%-10s\t%-5.1f元\t\t%-6s\n",pTemp->struct_user.ID_card,pTemp->struct_er_card,pTemp->struct_user.add_ money,pTemp->struct_er_level);printf(" -----------------------|-------------|--------------|--------------\n");float m=pTemp->struct_user.add_money;printf("请输入充值金额:");scanf("%f",&(pTemp->struct_user.add_money));pTemp->struct_user.add_money+=m;save_chong(pHead);break;}pTemp=pTemp->pNext;}return pHead;}//上网LinkList *shang_wang(LinkList *pHead){LinkList *pTemp;char shen_fen[100];system("cls");enter(2);printf("\n\n\n\n\t\t\t**********网吧计费管理系统***********\n");printf("\t\t\t** 1.普通会员3元/时**\n");printf("\t\t\t** **\n");printf("\t\t\t** 2.铜卡会员 2.5元/时**\n");printf("\t\t\t** **\n");printf("\t\t\t** 3.银卡会员2元/时**\n");printf("\t\t\t** **\n");printf("\t\t\t** 4.金卡会员 1.5元/时**\n");printf("\t\t\t** **\n");printf("\t\t\t** 5.VIP会员1元/时**\n");printf("\t\t\t*************************************\n");printf("请输入会员卡号码(8位数字):");fflush(stdin);gets(shen_fen);if(strlen(shen_fen)!=8){tab(3);printf("输入错误!\n");getch();return pHead;}pHead=readsave(); //读取文件if(pHead==NULL) //如果头指针为空,说明没有该链表{tab(3);printf("没有找到会员信息或会员不存在!\n");getch();return pHead;}pTemp=pHead; //头指针不为空while(pTemp) //访问节点{if(strcmp(pTemp->struct_er_card,shen_fen)==0) //如果找到与输入的会员卡号相同{ //则输出该会员信息printf(" -----------------------|-------------|--------------|--------------\n");printf("\t身份证号码\t\t会员卡号\t卡上余额\t会员级别\n");printf(" -----------------------|-------------|--------------|--------------\n");printf("\t%-20s\t%-10s\t%-5.1f元\t\t%-6s\n",pTemp->struct_user.ID_card,pTemp->struct_er_card,pTemp->struct_user.add_ money,pTemp->struct_er_level);printf(" -----------------------|-------------|--------------|--------------\n");float m=pTemp->struct_user.add_money;//上网前的卡上余额float time;printf("请输入上网时间(时):");fflush(stdin);scanf("%f",&time);if(strcmp(pTemp->struct_er_level,"普通会员")==0) //按会员级别来管理{ //每小时上网的费用pTemp->struct_user.add_money=m-3*time; //上网后的卡上余额save_chong(pHead); //保存修改后的内容break;}else if(strcmp(pTemp->struct_er_level,"铜卡会员")==0){pTemp->struct_user.add_money=m-2.5f*time;save_chong(pHead);break;}else if(strcmp(pTemp->struct_er_level,"银卡会员")==0){pTemp->struct_user.add_money=m-2*time;save_chong(pHead);break;}else if(strcmp(pTemp->struct_er_level,"金卡会员")==0){pTemp->struct_user.add_money=m-1.5f*time;save_chong(pHead);break;}else if(strcmp(pTemp->struct_er_level,"VIP会员")==0){pTemp->struct_user.add_money=m-1*time;save_chong(pHead);break;}}pTemp=pTemp->pNext;//指针指向下一个查找,直到找到满足上面条件为止}return pHead;}//注销会员LinkList *zhu_xiao(LinkList *pHead){LinkList *pTemp,*p;char shen_fen[100];system("cls");enter(9);tab(3);printf("卡号:");fflush(stdin);gets(shen_fen);pHead=readsave(); //读取文件if(pHead==NULL) //如果头节点为空,表示这条链表没有内容,或者没有这条链表{tab(3);printf("没有找到会员信息或会员不存在!\n");return pHead;}pTemp=pHead; //指针指向头节点while(pTemp)//访问节点{if(strcmp(pTemp->struct_er_card,shen_fen)==0)//寻找要删除的会员卡号,找到后输出{system("cls");enter(5);printf(" -----------------------|-------------|--------------|--------------\n");printf("\t身份证号码\t\t会员卡号\t卡上余额\t会员级别\n");printf(" -----------------------|-------------|--------------|--------------\n");printf("\t%-20s\t%-10s\t%-5.1f元\t\t%-6s\n",pTemp->struct_user.ID_card,pTemp->struct_er_card,pTemp->struct_user.add_ money,pTemp->struct_er_level);printf(" -----------------------|-------------|--------------|--------------\n");char ch;printf("\n你要注销该会员吗?(Y/N)\n");scanf("%c",&ch);switch(ch){case 'Y':case 'y':{if(pTemp==pHead) //如果要删除的是头节点{pHead=pTemp->pNext; //把头节点指针指向第二个节点,并把头节点覆盖printf("注销成功!\n");getch();break;}p=pHead;//不是头节点,把指针指向头节点while(1){if(p->pNext==pTemp) //如果p的指针域指向找到的节点pTemp{p->pNext=pTemp->pNext;//则把pTemp的指针域指向的下一个节点付给p的指针域printf("注销成功!\n");//删除成功getch();break;}p=p->pNext;//寻找p->pNext和要删除节点pTemp的交合}}break;case 'N':case 'n':break;}}pTemp=pTemp->pNext;//寻找shen_fen和节点的交合}save_chong(pHead);system("cls");return pHead;}//主函数void main(){start();mainmenu();}。
C语言课程设计-网吧管理系统

《通信工程专业C语言课程设计》报告专业:通信工程班级:0802姓名:赵松指导教师:丁雄二00九年十二月二十五日目录一、课程设计题目及所涉及知识点 (1)二、课程设计思路及设计流程图 (1)三、课程设计中遇到的难点及解决办法 (4)四、小结 (4)参考书目 (6)附录原程序 (7)一.课程设计题目及所涉及知识点(一).课程设计题目:网吧管理系统(1).基本内容网吧管理系统管理信息包括会员的会员名、性别、年龄、积分等。
试设计一网吧管理系统,使之能提供以下功能:系统以菜单方式工作,密码登陆。
1.会员信息的录入(增加数据)。
用数组数据类型赋初值的方法把会员信息送到各个数组中(但要注意是合法数据),然后把它们保存起来。
2.会员信息的删除(删除数据)。
任意输入一位会员号,将它所有的信息从组数中删除。
3.会员信息的浏览(查找数据)。
任意输入一位会员号,打印出他的所有数据。
要求能多次查找。
4.会员积分的计算(积分数据)。
任意输入一位会员号,打印出会员的积分。
要求能多次积分计算。
5.会员管理系统登陆。
输入密码登陆系统。
(2). 课程设计的要求与数据1.编程时,设计函数来完成每个功能,通过main函数调用各函数。
2.程序中的输入输出要加提示说明。
3.输出的结果要准确、清晰、美观。
(二).所涉及知识点:结构体数组的定义与引用;函数的定义与调用;局部变量和全局变量; for循环语句;指针;if语句;switch语句;break语句;格式输入与输出;字符串处理函数;函数的定义;数组作为函数参数.二、课程设计思路及设计流程图1、课程设计思路根据题目的要求,需要一个主程序main()和12个子程序,分别为quit()、loading()、menu()、input()、save()、load()、list()、window()、add()、del()、search()、point();可以实现退出、登陆、菜单、输入、保存、导入、列表、界面、增加、删除、查找、积分。
网吧计费系统数据库设计

网吧计费系统设计文档1、oracle数据库设计fee int not null --费用--)--为records表创建主键--alter table records add constraint PK_tb_records primary key(id)--为tb_record表创建外键--alter table records add constraint FK_caIds foreign key (cardId) references cards (id)alter table records add constraint FK_coIds foreign key (computerId) references computers (id)--为records表创建序列--create sequence re_seqstart with 1 --设置序列的初始值--increment by 1 --每次增长1--maxvalue 10000 --设置序列的最大值为10000--minvalue 1 --设置序列的最小值为1----为records表创建触发器,让主键id自动增长--create or replace trigger re_tribefore insert on records --触发条件:当向表执行插入操作时触发此触发器--for each row --对每一行都检测是否触发--begin --触发器开始--select re_seq.nextval into:new.id from dual; --触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表中的id字段中--end;四、用Java分别编写三个DAO:CardsDAO.java、ComputerDAO.java、RecordDAO.java(增删查改这四个方法)。
五、整合相关代码六、调试程序,看是否有错。
c语言课程设计报告会员卡计费系统源代码

break;
}
printf("\n>输入错误!(注:请选择1-%d)\n",MENU_MAIN_COUNT);
}
menu_main_func[selected-1]();//调用相应的函数指针数组中的函数,执行操作
}
intmain()/*主函数*/
{
menu();//调用菜单函数
"\t\t|2按消费总额排序\n"
"\t\t|3返回菜单\n"
"\t\t|\n"
"\t\t=======================================\n"
);
printf("请选择功能:");
scanf("%d",&f);
switch(f)
{//用switch语句选择功能
case1:p=sort_m(p);//调用按缴费总额排序
p->next=head;
head=p;
tail=NULL;//定义tail
while(tail!=head->next)
{
p=head;
q=p->next;
while(q->next!=tail)
{//判断q是否为空
if(p->next->money>q->next->money)
{
p->next=q->next;//比较大小,排序
}
returnsumc;//返回总额
}
voidstatistics()
{//统计会员信息函数
网吧计费系统附完整源代码

简易的网吧计费系统设计设计一个简易的网吧计费系统,要求上网人输入卡号和密码上机,卡号或密码不正确,不能上机,卡余额不足不能上机;正在使用的机器不能被再使用;上机需要记录卡号、机器号、上机时间;下机时需要记录下机时间、发生费用和自动从卡里扣款,该机器能再被使用;下机时,需要向用户显示本次上机的详细信息。
1) 上机业务流程卡号和密码的校验;卡的余额的检验;获取当前系统时间作为上机开始时间;记录上机操作;修改该机器的使用标志2) 下机业务流程选择被使用的机器号;获取系统当前时间作为下机时间;计算费用;扣费;记录下机时间和此次费用;修改该机器的状态为可用结构图效果截图如下********************face类********************* package wbsys.view;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import wbsys.dao.huanji;import wbsys.dao.yuechaxun;public class Face extends JFrame {JPanel contentPane;JMenuBar jMenuBar1 = new JMenuBar();JMenu jMenu1 = new JMenu();JMenuItem jMenuItem1 = new JMenuItem();JMenuItem jMenuItem2 = new JMenuItem();JMenu jMenu2 = new JMenu();JMenuItem jMenuItem3 = new JMenuItem();JMenu jMenu3 = new JMenu();JMenuItem jMenuItem4 = new JMenuItem();JOptionPane jOptionPane1 = new JOptionPane();JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JMenuItem jMenuItem5 = new JMenuItem();JMenuItem jMenuItem6 = new JMenuItem();JMenuItem jMenuItem7 = new JMenuItem();public Face() {try {setDefaultCloseOperation(EXIT_ON_CLOSE);jbInit();} catch (Exception exception) {exception.printStackTrace();}}private void jbInit() throws Exception {contentPane = (JPanel) getContentPane();contentPane.setLayout(null);this.setJMenuBar(jMenuBar1);setSize(new Dimension(650, 488));setTitle("网吧记费管理器");jMenuBar1.setBackground(Color.green);jMenuBar1.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 15));jMenuBar1.setForeground(new Color(255, 0, 95));jMenu1.setBackground(Color.green);jMenu1.setForeground(Color.red);jMenu1.setText("使用");jMenuItem1.setForeground(Color.red);jMenuItem1.setText("上机");jMenuItem1.addActionListener(new Face_jMenuItem1_actionAdapter(this));jMenuItem2.setForeground(Color.red);jMenuItem2.setText("下机");jMenuItem2.addActionListener(new Face_jMenuItem2_actionAdapter(this)); jMenu2.setBackground(Color.green);jMenu2.setForeground(Color.red);jMenu2.setText("管理");jMenuItem3.setForeground(Color.red);jMenuItem3.setText("关于");jMenuItem3.addActionListener(new Face_jMenuItem3_actionAdapter(this)); jMenu3.setBackground(Color.green);jMenu3.setForeground(Color.red);jMenu3.setText("退出");jMenuItem4.setForeground(Color.red);jMenuItem4.setText("确定!");jMenuItem4.addActionListener(new Face_jMenuItem4_actionAdapter(this)); contentPane.setBackground(Color.cyan);jLabel1.setFont(new java.awt.Font("隶书", Font.PLAIN, 25));jLabel1.setForeground(Color.magenta);jLabel1.setText("网吧计费系统G16-制作");jLabel1.setBounds(new Rectangle(200, 150, 300, 39));jLabel2.setFont(new java.awt.Font("隶书", Font.PLAIN, 25));jLabel2.setForeground(Color.magenta);jLabel2.setText("2019-12-12 版本1.0");jLabel2.setBounds(new Rectangle(215, 200, 250, 34));jLabel3.setText("");jLabel3.setBounds(new Rectangle(0, 0, 650, 488));jMenuItem5.setForeground(Color.red);jMenuItem5.setText("管理");jMenuItem5.addActionListener(new Face_jMenuItem5_actionAdapter(this)); jMenuItem6.setForeground(Color.red);jMenuItem6.setText("余额查询");jMenuItem6.addActionListener(new Face_jMenuItem6_actionAdapter(this)); jMenuItem7.setForeground(Color.red);jMenuItem7.setText("换机");jMenuItem7.addActionListener(new Face_jMenuItem7_actionAdapter(this)); jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem7);jMenu2.add(jMenuItem3);jMenu2.add(jMenuItem5);jMenu2.add(jMenuItem6);jMenu3.add(jMenuItem4);contentPane.add(jLabel1);contentPane.add(jLabel2);contentPane.add(jLabel3);}public void jMenuItem4_actionPerformed(ActionEvent e) {System.exit(0);}public void jMenuItem1_actionPerformed(ActionEvent e) {Shangjiface shang = new Shangjiface(this);this.setContentPane(shang);this.show();}public void jMenuItem2_actionPerformed(ActionEvent e) {xiajiface xia = new xiajiface(this);xia.setSize(483, 344);Dimension dsize = xia.getPreferredSize();Dimension fsize = xia.getSize();Point loc = getLocation();xia.setLocation((fsize.width - dsize.width) / 5 + loc.x, (fsize.height - dsize.height) / 4 + loc.y);xia.show();}public void jMenuItem3_actionPerformed(ActionEvent e) {jOptionPane1.showMessageDialog(null, "版权所有,违者必究!");jOptionPane1.showMessageDialog(null, " 2019-12-12,版本1.0");}public void jMenuItem5_actionPerformed(ActionEvent e) {guanlidenglu guan = new guanlidenglu(this);this.setContentPane(guan);this.show();}public void jMenuItem6_actionPerformed(ActionEvent e) {yuechaxun yue = new yuechaxun(this);yue.setSize(483, 344);Dimension dsize = yue.getPreferredSize();Dimension fsize = yue.getSize();Point loc = getLocation();yue.setLocation((fsize.width - dsize.width) / 4 + loc.x, (fsize.height - dsize.height) / 4 + loc.y);this.setContentPane(yue);this.show();}public void jMenuItem7_actionPerformed(ActionEvent e) {huanji jiemian = new huanji(this);this.setContentPane(jiemian);this.show();}}class Face_jMenuItem7_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem7_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem7_actionPerformed(e);}}class Face_jMenuItem6_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem6_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem6_actionPerformed(e);}}class Face_jMenuItem5_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem5_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem5_actionPerformed(e);}}class Face_jMenuItem2_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem2_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem2_actionPerformed(e);}}class Face_jMenuItem1_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem1_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem1_actionPerformed(e);}}class Face_jMenuItem4_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem4_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem4_actionPerformed(e);}}class Face_jMenuItem3_actionAdapter implements ActionListener { private Face adaptee;Face_jMenuItem3_actionAdapter(Face adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jMenuItem3_actionPerformed(e);}}****************guanli类*****************package wbsys.dao;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import wbsys.entity.Lianjie;import wbsys.view.Face;import wbsys.view.Shangjiface;import wbsys.view.xiajiface;public class guanli extends JPanel {Face main;Lianjie co = new Lianjie();Statement s;Connection c;ResultSet rs;JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JButton jButton2 = new JButton();JButton jButton3 = new JButton();JButton jButton4 = new JButton();JButton jButton5 = new JButton();JTextField jTextField2 = new JTextField();JTextField jTextField3 = new JTextField();JTextField jTextField4 = new JTextField();JTextField jTextField5 = new JTextField();JLabel jLabel5 = new JLabel();JPasswordField jPasswordField1 = new JPasswordField();JTextField jTextField8 = new JTextField();JLabel jLabel4 = new JLabel();JButton jButton1 = new JButton();JTextField jTextField1 = new JTextField();JPasswordField jPasswordField2 = new JPasswordField();JTextField jTextField6 = new JTextField();JTextField jTextField7 = new JTextField();JLabel jLabel6 = new JLabel();JOptionPane jOptionPane1 = new JOptionPane();JButton jButton6 = new JButton();public guanli(Face k) {try {main = k;jbInit();} catch (Exception exception) {exception.printStackTrace();}}private void jbInit() throws Exception {this.setLayout(null);jLabel1.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel1.setForeground(Color.magenta);jLabel1.setText("卡号");jLabel1.setBounds(new Rectangle(10, 80, 80, 20));jLabel2.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel2.setForeground(Color.magenta);jLabel2.setText("用户名");jLabel2.setBounds(new Rectangle(110, 80, 80, 20));jLabel3.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel3.setForeground(Color.magenta);jLabel3.setText("密码");jLabel3.setBounds(new Rectangle(210, 80, 80, 20));jButton2.setBounds(new Rectangle(510, 200, 80, 20));jButton2.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton2.setForeground(Color.magenta);jButton2.setText("用户充值");jButton2.addActionListener(new guanli_jButton2_actionAdapter(this)); jButton3.setBounds(new Rectangle(510, 260, 80, 20));jButton3.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10)); jButton3.setForeground(Color.magenta);jButton3.setText("添加用户");jButton3.addActionListener(new guanli_jButton3_actionAdapter(this)); jButton4.setBounds(new Rectangle(128, 366, 57, 20));jButton4.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10)); jButton4.setForeground(Color.magenta);jButton4.setText("上机");jButton4.addActionListener(new guanli_jButton4_actionAdapter(this)); jButton5.setBounds(new Rectangle(241, 367, 57, 20));jButton5.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10)); jButton5.setForeground(Color.magenta);jButton5.setText("下机");jButton5.addActionListener(new guanli_jButton5_actionAdapter(this)); jTextField2.setForeground(Color.magenta);jTextField2.setText("");jTextField2.setBounds(new Rectangle(110, 140, 80, 20));jTextField3.setForeground(Color.magenta);jTextField3.setText("");jTextField3.setBounds(new Rectangle(10, 200, 80, 20));jTextField4.setForeground(Color.magenta);jTextField4.setText("");jTextField4.setBounds(new Rectangle(110, 200, 80, 20));jTextField5.setForeground(Color.magenta);jTextField5.setText("");jTextField5.setBounds(new Rectangle(410, 200, 77, 20));jLabel5.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15)); jLabel5.setForeground(Color.magenta);jLabel5.setText("金额");jLabel5.setBounds(new Rectangle(410, 80, 80, 20)); jPasswordField1.setForeground(Color.magenta);jPasswordField1.setText("");jPasswordField1.setBounds(new Rectangle(210, 260, 80, 20)); jTextField8.setForeground(Color.magenta);jTextField8.setText("");jTextField8.setBounds(new Rectangle(410, 260, 80, 20));jLabel4.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15)); jLabel4.setForeground(Color.magenta);jLabel4.setText("重复密码");jLabel4.setBounds(new Rectangle(310, 80, 80, 20));jButton1.setBounds(new Rectangle(510, 140, 80, 20));jButton1.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton1.setForeground(Color.magenta);jButton1.setText("删除用户");jButton1.addActionListener(new guanli_jButton1_actionAdapter(this)); jTextField1.setForeground(Color.magenta);jTextField1.setText("");jTextField1.setBounds(new Rectangle(10, 140, 80, 20)); jPasswordField2.setForeground(Color.magenta);jPasswordField2.setText("");jPasswordField2.setBounds(new Rectangle(310, 260, 80, 20)); jTextField6.setForeground(Color.magenta);jTextField6.setText("");jTextField6.setBounds(new Rectangle(10, 260, 80, 20));jTextField7.setForeground(Color.magenta);jTextField7.setText("");jTextField7.setBounds(new Rectangle(110, 260, 80, 20));jLabel6.setText("");jLabel6.setBounds(new Rectangle(0, 30, 650, 488));jButton6.setBounds(new Rectangle(353, 366, 57, 20));jButton6.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10)); jButton6.setForeground(Color.magenta);jButton6.setText("换机");jButton6.addActionListener(new guanli_jButton6_actionAdapter(this)); this.add(jLabel3);this.add(jLabel1);this.add(jTextField1);this.add(jTextField3);this.add(jTextField6);this.add(jLabel2);this.add(jTextField2);this.add(jTextField4);this.add(jTextField7);this.add(jPasswordField1);this.add(jPasswordField2);this.add(jTextField8);this.add(jLabel5);this.add(jLabel4);this.add(jTextField5);this.add(jButton3);this.add(jButton2);this.add(jButton1);this.add(jButton4);this.add(jButton5);this.add(jButton6);this.add(jLabel6);c = co.con();s = c.createStatement();}public void jButton4_actionPerformed(ActionEvent e) {Shangjiface jiemian = new Shangjiface(main);main.setContentPane(jiemian);main.show();}public void jButton5_actionPerformed(ActionEvent e) {xiajiface xia = new xiajiface(main);xia.setSize(483, 344);Dimension dsize = xia.getPreferredSize();Dimension fsize = xia.getSize();Point loc = getLocation();xia.setLocation(5 * (fsize.width - dsize.width) / 6 + loc.x, 4 * (fsize.height - dsize.height) / 5 + loc.y);xia.show();}public void jButton1_actionPerformed(ActionEvent e) {String u = jTextField1.getText().toString();String p = jTextField2.getText().toString();try {rs = s.executeQuery("select *from card419 where name='" + p + "' and kahao='" + u + "'");if (rs.next()) {s.executeUpdate("update card419 set name=null, password=null,fee='0' where name like '" + p+ "' and kahao like '" + u + "'");jOptionPane1.showMessageDialog(this, "删除成功!");jTextField1.setText("");jTextField2.setText("");} elsejOptionPane1.showMessageDialog(this, "卡号与用户名不匹配!请重新输入");} catch (SQLException N) {System.out.println(N);}}public void jButton2_actionPerformed(ActionEvent e) {String u = jTextField3.getText().toString();String p = jTextField4.getText().toString();String n = jTextField5.getText().toString();try {rs = s.executeQuery("select fee from card419 where name like '" + p + "' and kahaolike '" + u + "'");if (rs.next()) {float y = rs.getFloat(1);int W = Integer.parseInt(n);float g = y + W;s.executeUpdate("update card419 set fee='" + g + "' where name like '" + p + "' and kahao like '" + u + "'");if (n.equals("") == false) {jOptionPane1.showMessageDialog(this, "冲值成功!金额总计为" + g + "元");jTextField3.setText("");jTextField4.setText("");jTextField5.setText("");}if (n.equals("") == true) {jOptionPane1.showMessageDialog(this, "未填写金额!!");}} elsejOptionPane1.showMessageDialog(this, "卡号与用户名不匹配!请重新输入");} catch (SQLException N) {jOptionPane1.showMessageDialog(this, "冲值失败!请检查金额书写格式!");System.out.println(N);} catch (Exception B) {jOptionPane1.showMessageDialog(this, "冲值失败!请检查金额书写格式!");}}public void jButton3_actionPerformed(ActionEvent e) {try {String u = jTextField6.getText().toString();String p = jTextField7.getText().toString();String n = jTextField8.getText().toString();String l = jPasswordField1.getText().toString();String m = jPasswordField2.getText().toString();if (u.equals("") == false && p.equals("") == false && n.equals("") == false && l.equals("") == false&& m.equals("") == false) {rs = s.executeQuery("select kahao from card419 where kahao like '" + u + "'and name <> 'null'");if (rs.next()) {jOptionPane1.showMessageDialog(this, "卡号" + u + "已经被使用!");}else {rs = s.executeQuery("select kahao from card419 where kahao like '" + u + "'");if (!rs.next())jOptionPane1.showMessageDialog(this, "卡号" + u + "不存在!");else {if (l.equals(m) == false) {jOptionPane1.showMessageDialog(this, "两次密码不同!!");}if (l.equals(m) == true) {s.executeUpdate("update card419 set name='" + p + "', password='" + m + "',fee='" + n+ "' where kahao='" + u + "'");jOptionPane1.showMessageDialog(this, "成功添加新卡号" + u + "!");jTextField6.setText("");jTextField7.setText("");jTextField8.setText("");jPasswordField1.setText("");jPasswordField2.setText("");}}}}else {jOptionPane1.showMessageDialog(this, "请输入完整!不能有空项");}}catch (SQLException E) {System.out.println(E);jOptionPane1.showMessageDialog(this, "添加失败!请检查书写格式!");} catch (Exception M) {jOptionPane1.showMessageDialog(this, "添加失败!请检查书写格式!");}}public void jButton6_actionPerformed(ActionEvent e) {huanji jiemian = new huanji(main);main.setContentPane(jiemian);main.show();}}class guanli_jButton6_actionAdapter implements ActionListener {private guanli adaptee;guanli_jButton6_actionAdapter(guanli adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton6_actionPerformed(e);}}class guanli_jButton3_actionAdapter implements ActionListener { private guanli adaptee;guanli_jButton3_actionAdapter(guanli adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton3_actionPerformed(e);}}class guanli_jButton2_actionAdapter implements ActionListener { private guanli adaptee;guanli_jButton2_actionAdapter(guanli adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton2_actionPerformed(e);}}class guanli_jButton1_actionAdapter implements ActionListener { private guanli adaptee;guanli_jButton1_actionAdapter(guanli adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton1_actionPerformed(e);}}class guanli_jButton4_actionAdapter implements ActionListener { private guanli adaptee;guanli_jButton4_actionAdapter(guanli adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton4_actionPerformed(e);}}class guanli_jButton5_actionAdapter implements ActionListener { private guanli adaptee;guanli_jButton5_actionAdapter(guanli adaptee) {this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton5_actionPerformed(e);}}***************guanlidenglu类********************package wbsys.view;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import wbsys.dao.guanli;public class guanlidenglu extends JPanel {Face main;JButton jButton1 = new JButton();JButton jButton2 = new JButton();JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JTextField jTextField1 = new JTextField();JPasswordField jPasswordField1 = new JPasswordField();JLabel jLabel3 = new JLabel();JOptionPane jOptionPane1 = new JOptionPane();JLabel jLabel4 = new JLabel();public guanlidenglu(Face f) {try {main = f;jbInit();} catch (Exception exception) {exception.printStackTrace();}}private void jbInit() throws Exception {this.setLayout(null);jButton1.setBounds(new Rectangle(61, 350, 57, 20));jButton1.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton1.setForeground(Color.magenta);jButton1.setText("确定");jButton1.addActionListener(new guanlidenglu_jButton1_actionAdapter(this));jButton2.setBounds(new Rectangle(174, 351, 57, 20));jButton2.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton2.setForeground(Color.magenta);jButton2.setText("重置");jButton2.addActionListener(new guanlidenglu_jButton2_actionAdapter(this));jLabel1.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel1.setForeground(Color.magenta);jLabel1.setBounds(new Rectangle(42, 177, 97, 25));jLabel2.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel2.setForeground(Color.magenta);jLabel2.setText("密码");jLabel2.setBounds(new Rectangle(50, 230, 80, 20));jTextField1.setForeground(Color.magenta);jTextField1.setText("");jTextField1.setBounds(new Rectangle(110, 180, 80, 20));jPasswordField1.setForeground(Color.magenta);jPasswordField1.setText("");jPasswordField1.setBounds(new Rectangle(110, 230, 80, 20));jLabel3.setFont(new java.awt.Font("隶书", Font.PLAIN, 25));jLabel3.setForeground(Color.magenta);jLabel3.setText("请勿尝试破解密码!");jLabel3.setBounds(new Rectangle(20, 70, 390, 40));jOptionPane1.setBackground(Color.magenta);jOptionPane1.setForeground(Color.green);jLabel4.setText("");jLabel4.setBounds(new Rectangle(0, 0, 650, 488));this.add(jLabel2);this.add(jLabel1);this.add(jTextField1);this.add(jPasswordField1);this.add(jLabel3);this.add(jButton1);this.add(jButton2);this.add(jLabel4);}public void jButton1_actionPerformed(ActionEvent e) {String u = jTextField1.getText();String U = "root";String p = jPasswordField1.getText();String P = "1234";if (u.equals(U) == true && p.equals(P) == true){guanli shang = new guanli(main);main.setContentPane(shang);main.show();} else if (u.equals("") == false && p.equals("") == false) {jOptionPane1.showMessageDialog(this, "信息输入错误!请重新输入!");}}public void jButton2_actionPerformed(ActionEvent e) {jTextField1.setText("");}}class guanlidenglu_jButton2_actionAdapter implements ActionListener { private guanlidenglu adaptee;guanlidenglu_jButton2_actionAdapter(guanlidenglu adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton2_actionPerformed(e);}}class guanlidenglu_jButton1_actionAdapter implements ActionListener { private guanlidenglu adaptee;guanlidenglu_jButton1_actionAdapter(guanlidenglu adaptee) { this.adaptee = adaptee;}public void actionPerformed(ActionEvent e) {adaptee.jButton1_actionPerformed(e);}}****************huanji类********************package wbsys.dao;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import javax.swing.event.AncestorEvent;import javax.swing.event.AncestorListener;import wbsys.entity.Lianjie;import wbsys.view.Face;import wbsys.view.Shangjiface;import wbsys.view.xiajiface;public class huanji extends JPanel {Face main;Lianjie lian = new Lianjie();Connection con;Statement s;ResultSet rs;public huanji(Face g) {try {main = g;jbInit();} catch (Exception exception) {exception.printStackTrace();}}private void jbInit() throws Exception {this.setLayout(null);jComboBox1.setForeground(Color.magenta);jComboBox1.setBounds(new Rectangle(110, 140, 75, 20));jComboBox2.setForeground(Color.magenta);jComboBox2.setBounds(new Rectangle(110, 200, 75, 20));jTextField1.setForeground(Color.magenta);jTextField1.setText("");jTextField1.setBounds(new Rectangle(110, 260, 75, 20));jButton1.setBounds(new Rectangle(41, 349, 57, 20));jButton1.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton1.setForeground(Color.magenta);jButton1.setText("确定");jButton1.addActionListener(new huanji_jButton1_actionAdapter(this));jButton2.setBounds(new Rectangle(128, 349, 57, 20));jButton2.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton2.setForeground(Color.magenta);jButton2.setText("上机");jButton2.addActionListener(new huanji_jButton2_actionAdapter(this));jButton3.setBounds(new Rectangle(212, 350, 57, 20));jButton3.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 10));jButton3.setForeground(Color.magenta);jButton3.setText("下机");jButton3.addActionListener(new huanji_jButton3_actionAdapter(this));jLabel1.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel1.setForeground(Color.magenta);jLabel1.setText("原机号");jLabel1.setBounds(new Rectangle(30, 140, 64, 14));jLabel2.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel2.setForeground(Color.magenta);jLabel2.setText("新机号");jLabel2.setBounds(new Rectangle(30, 200, 53, 15));jLabel3.setFont(new java.awt.Font("楷体_GB2312", Font.PLAIN, 15));jLabel3.setForeground(Color.magenta);jLabel3.setText("卡号");jLabel3.setBounds(new Rectangle(30, 260, 42, 15));jOptionPane1.addAncestorListener(new huanji_jOptionPane1_ancestorAdapter(this));jLabel4.setText("");jLabel4.setBounds(new Rectangle(0, 0, 650, 488));this.add(jButton1);this.add(jButton2);this.add(jButton3);this.add(jComboBox1);this.add(jComboBox2);this.add(jTextField1);this.add(jLabel1);this.add(jLabel2);this.add(jLabel3);this.add(jLabel4);con = lian.con();s = con.createStatement();rs = s.executeQuery("select ID from computer419 where onuse='Y' order by ID");while (rs.next()) {jComboBox1.addItem(rs.getInt(1));}rs = s.executeQuery("select ID from computer419 where Onuse='N' order by ID");while (rs.next()) {jComboBox2.addItem(rs.getInt(1));}}JComboBox jComboBox1 = new JComboBox();JComboBox jComboBox2 = new JComboBox();JTextField jTextField1 = new JTextField();JButton jButton1 = new JButton();JButton jButton2 = new JButton();JButton jButton3 = new JButton();JLabel jLabel1 = new JLabel();JLabel jLabel2 = new JLabel();JLabel jLabel3 = new JLabel();JOptionPane jOptionPane1 = new JOptionPane();JLabel jLabel4 = new JLabel();public void jButton2_actionPerformed(ActionEvent e) {Shangjiface jiemian = new Shangjiface(main);main.setContentPane(jiemian);main.show();}public void jButton3_actionPerformed(ActionEvent e) {xiajiface xia = new xiajiface(main);xia.setSize(483, 344);Dimension dsize = xia.getPreferredSize();Dimension fsize = xia.getSize();Point loc = getLocation();xia.setLocation(5 * (fsize.width - dsize.width) / 6 + loc.x, 4 * (fsize.height - dsize.height) / 5 + loc.y);xia.show();}。
基于Java技术的网吧计费系统设计

if (m essag e = = null ) { / / 如果服务器传来的信息为空, 则断开此次连接 p arent. listen = nu ll; p arent. socket = null; return; } jT ex tF ield 2 . setT ex t(m essage); S tr ing leavem oney = " "; S tringT okeniz er str = n ew S tringT ok en izer(m essage, ": " ); / / 用 S tringT ok en izer 类来实现读取分段字符 S tring keyw ord = str. nex tT oken( ); if ( str. has M oreT okens( ) ) { leavem oney = str . nex tT oken( ); } if ( k eyw ord. equa lsIgnoreCa se( " shangji" ) ) / / 上机信息的处理 { jT ex tF ield 2 . setT ex t( " 上机成功, 你可以上机了! ! \n" ); } if ( k eyw ord. equa lsIgnoreCa se( " chaxun " ) ) / / 查询信息的处理 { JOp tionPane. showM essageD ialog ( null, " 注意 ! 你的余额是 : " + leavem oney + " \n " ); } if ( k eyw ord. equa lsIgnoreCa se( "x iaji" ) ) / / 下机信息的处理 { / / 显示下机信息处理 } if ( k eyw ord. equa lsIgnoreCa se( "gb " ) | k eyw ord. equa lsIgnoreC ase( "db " ) ) / / 信息发送的处理 { JOp tionPane. showM essageD ialog ( null, " 服务器信息: " + leavem oney + " \n " ); } if ( k eyw ord. equa lsIgnoreCa se( " chucuo " ) ) / / 系统出错信息的处理 { jB u tton 1 . setE nabled ( true); JOp t ionP ane. showM essag eD ia log ( null, " 服务器信息 : " + leavem oney + " \n" ); } if ( k eyw ord. equa lsIgnoreCa se( "x iugai " ) ) { JOp tionPane. showM essageD ialog ( null, " 密码修改成功 ! " ); } } } / / 结束 run 方法 }
VB+ACCESS网吧计费系统论文

目录前言 (1)1概述 (3)1.1选用开发语言简介 (3)1.1.1 Microsoft Visual Basic 6.0 介绍 (3)1.1.2 Microsoft Visual Basic 6.0 的编程环境 (4)1.1.3 Visual Basic 6.0的新功能及新的语言特征 (9)1.1.4 VB的ODBC的访问机制 (10)1.1.5 VB 6.0访问开放性数据库的原则和方法 (15)1.1.6 VB 6.0访问开放性数据库几种方法的比较 (16)1.2系统所需环境 (18)2需求分析阶段 (18)2.1系统功能模块 (18)2.2系统数据分析 (18)2.3系统的逻辑模型 (18)3设计阶段 (19)3.1概要设计 (19)3.1.1数据库概论及SQL简介 (19)3.1.2系统数据库的设计 (25)3.2详细设计 (25)3.2.1HIPO图 (25)3.2.2程序流程图 (25)3.2.3窗体功能简介 (25)4设计思想 (25)4.1面向对象的程序设计 (25)4.2详细设计思想 (26)5测试和维护 (26)5.1系统测试平台简介 (26)5.2测试方法 (27)5.3系统维护 (27)6结束语 (28)参考文献 (30)致谢 (31)附:译文 (32)原文 (44)前言20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。
20世纪50年代,西蒙提出管理依赖于信息和决策的思想。
同时期的维纳发表了控制论,他认为管理是一个控制过程。
1958年,盖尔写到:“管理将以较低的成本得到及时准确的信息,做到较好的控制”。
这个时期,计算机开始用于会计工作。
数据处理一词已经出现。
管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,Electronic Data Processing)系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简易的网吧计费系统设计
设计一个简易的网吧计费系统,要求上网人输入卡号和密码上机,卡号或密码不正确,不能上机,卡余额不足不能上机;正在使用的机器不能被再使用;上机需要记录卡号、机器号、上机时间;下机时需要记录下机时间、发生费用和自动从卡里扣款,该机器能再被使用;下机时,需要向用户显示本次上机的详细信息。
1) 上机业务流程
卡号和密码的校验;
卡的余额的检验;
获取当前系统时间作为上机开始时间;
记录上机操作;
修改该机器的使用标志
2) 下机业务流程
选择被使用的机器号;
获取系统当前时间作为下机时间;
计算费用;扣费;
记录下机时间和此次费用;
修改该机器的状态为可用
结构图
效果截图
如下
********************face类********************* package wbsys.view;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import wbsys.dao.huanji;
import wbsys.dao.yuechaxun;
public class Face extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JMenu jMenu2 = new JMenu();
JMenuItem jMenuItem3 = new JMenuItem();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem4 = new JMenuItem();
JOptionPane jOptionPane1 = new JOptionPane();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JMenuItem jMenuItem5 = new JMenuItem();
JMenuItem jMenuItem6 = new JMenuItem();
JMenuItem jMenuItem7 = new JMenuItem();
public Face() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
this.setJMenuBar(jMenuBar1);
setSize(new Dimension(650, 488));
setTitle("网吧记费管理器");
jMenuBar1.setBackground(Color.green);
jMenuBar1.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 15));
jMenuBar1.setForeground(new Color(255, 0, 95));
jMenu1.setBackground(Color.green);
jMenu1.setForeground(Color.red);
jMenu1.setText("使用");
jMenuItem1.setForeground(Color.red);
jMenuItem1.setText("上机");
jMenuItem1.addActionListener(new Face_jMenuItem1_actionAdapter(this));
jMenuItem2.setForeground(Color.red);
jMenuItem2.setText("下机");
jMenuItem2.addActionListener(new Face_jMenuItem2_actionAdapter(this)); jMenu2.setBackground(Color.green);
jMenu2.setForeground(Color.red);
jMenu2.setText("管理");
jMenuItem3.setForeground(Color.red);
jMenuItem3.setText("关于");
jMenuItem3.addActionListener(new Face_jMenuItem3_actionAdapter(this)); jMenu3.setBackground(Color.green);
jMenu3.setForeground(Color.red);
jMenu3.setText("退出");
jMenuItem4.setForeground(Color.red);
jMenuItem4.setText("确定!");
jMenuItem4.addActionListener(new Face_jMenuItem4_actionAdapter(this)); contentPane.setBackground(Color.cyan);
jLabel1.setFont(new java.awt.Font("隶书", Font.PLAIN, 25));
jLabel1.setForeground(Color.magenta);
jLabel1.setText("网吧计费系统G16-制作");
jLabel1.setBounds(new Rectangle(200, 150, 300, 39));
jLabel2.setFont(new java.awt.Font("隶书", Font.PLAIN, 25));
jLabel2.setForeground(Color.magenta);
jLabel2.setText("2019-12-12 版本1.0");
jLabel2.setBounds(new Rectangle(215, 200, 250, 34));
jLabel3.setText("");
jLabel3.setBounds(new Rectangle(0, 0, 650, 488));
jMenuItem5.setForeground(Color.red);
jMenuItem5.setText("管理");
jMenuItem5.addActionListener(new Face_jMenuItem5_actionAdapter(this)); jMenuItem6.setForeground(Color.red);
jMenuItem6.setText("余额查询");
jMenuItem6.addActionListener(new Face_jMenuItem6_actionAdapter(this)); jMenuItem7.setForeground(Color.red);
jMenuItem7.setText("换机");
jMenuItem7.addActionListener(new Face_jMenuItem7_actionAdapter(this)); jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jMenu1.add(jMenuItem7);
jMenu2.add(jMenuItem3);
jMenu2.add(jMenuItem5);
jMenu2.add(jMenuItem6);。