c语言网吧计费系统源代码
C语言机房收费管理系统
机房收费管理系统
输入学生信息
将学生的学号、 班级、姓名输 入信息库
输入学生信息, 并确定是否继 续输入
4பைடு நூலகம்程序代码
#include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h>
学生上机
按学号或 者姓名上 机
若该生未 在信息库 中,则先 输入学生 信息
学生下机
按学号或 者姓名下 机
需判断是 否有该学 生并且该 生是否正 在上机
第 -1- 页 共 9 页
深的入精贯习神彻中部和落纪选。要实委拔深锋求中机任入队,为央关用学员”特的和、工习装的别情省组中作《、标本是形、织央坚条中统准质“和市原组守例源国一和九处委则织为、》,共思条使个分关、部人遵等标 弘产想件命严规于优《做守法准 扬党行章;,禁定从良关事党规和 党地动党学进止。严作于的章制条 的方个,规习一、治风加基县、度件 优委全认。党步九党动,强准处维,。 良员面真着规明个的实牢换和级护学认 传会”学,眼确一重效记届底以党习教真 统工战习充明要“律大;入风线上章市育学 和作略习中分确掌四”决要党气。党,委、习 作条布近、展基握个纪策在充誓监员坚加全理《 风例局平五示本廉服律部学分词督领定强体论中 ;》、总中共标洁从要,署,发的导理领党武国 深《贯全全产准自”求做。关挥牢通(干想导员装共 刻中彻市会党、律的,合键机记知川部(区信班学。,产 汲国落X精人树准要重格在关党》委要二X域念子习根进党 取共实年神的立则求点党系做党的和办学)中;思党据一廉 违产五在,优行规掌员统。组宗中〔深学心认想章省步洁 纪党大全进良为定掌握”先要织旨央2一系全 关”真政,委坚自 违党0发体一风规的握“学深战,、1层列体 于提学治要办定律 法组6展党步貌范“四习〕入斗深省,讲党 在供习建深公理准 反工理题员巩和,四的个教1学堡入委系话员 全坚党设入4厅想则 面作念学中固时组个领廉育号习垒领、统。讲 体强的领个印信》 典条,习开拓代织必导洁实)贯作会市学着定党保历实会专。发念《 型例实讨展精和须干”施和彻用党委习眼理课 员证史施党题的,中(现一”论“党神引部方《习和员有领加想, 中。意的组《提国 的试X、学 制,的;导“必四案中近党条关悟强X信支 开学见性织关高共 教行二总习 度按党群要广四须个〉共事平员件严党理念部 展习等质讨于党产 训)、体讨 要照章众带大个具自的X业总先和肃章论,书 “革制、论照在性党 ,》主X要论 求“党路着坚备觉通“书锋义换,武学明记命度市宗,入全觉纪 自《要求” ,四规线问员持的知十记模务届深习确给 党先文委旨每党省悟律 觉内。 党个、教题逐”六,》三头开系范、纪刻教政支 章辈件办、个志党;处 讲政容,以 小讲学育条项(五落展列作权律把育治部 党和,公指专愿员要分 政领带党 组(系实,逐掌基X”于实“重用利握动方党 规先学室导题谈中坚条 治导X头组 每课一列践针句握本发“全两要,“委员向、进关思集理开持例 、干观严中 月”)讲活对通各条展七面学讲领明两办部”讲 学典于想中想展学》 讲,守心 底要学话动问读类件良定个从一话导确个〔署、党 系型印学、“用等 规温在政组求党,和题违好共有严做,带先2,“课 列发奋习谈学结党 矩入推0关治形 织,做“改章纪开产之治”全头合1以坚,用〈斗讨信党合内 、讲动6键纪式 一开合三,行局党”学面、格〕华党持邀好关目论念章、法 守话志改时律, 次展格严进明和人“责习贯以党2民支根请红于标不,党创规 纪愿革8刻和定 党三一确“性理五任教彻上号族部本党色在、得对规先, 律做和发保站政期 员组实步做决锻想个。育落率)优为宗校教全少照、争尊 ,合入展持得治组 集班”坚合胜,炼信必实下,三秀单旨教育市于入学优崇格党稳公出规织 中子学专持格全向和念须基党,结、,传位师资党1党系,誓定仆,矩集 学成习题问党天面党道,”础的为合主站统开敢、员讲誓列进章员词实情危,中 习员教题。小的德牢等十协我要稳美展于专中规词讲一”,践怀险带学 。到育导的康理修固重八调”局(措政德一担家开矩找话步学交中精,时头习 支联(成向、论养树要大推中实三施治,次当学展、标,强习流建神牢候, 部系以果建和,立论进奋际)全立筑主作者“有(准做化教思功,记豁固每区下;注成路心党述十“发,开面场牢题为给学国纪一、合宗育想立推共得树次 季县简要重线存的,八四有现展从,拒党”特律)找格旨实体业动产出立确 度X称突活方敬意认届为制“严把腐日、员章X色,开差党观施会。X党,和定 召“出述针畏识真三、定四局治理防活“干党X社讲展距员念方。《员在贯1开两正县,政、践中加建如个带个党想变动坚部规会道“。”案党永X彻一学面(处领策手党行、快功下讲头专等信的,守讲、X主德两党学干委远落次党一二级会看握员“四发立实党事讲题方念防组纪党学义、重支习部会是实全中做)以贯齐戒意三展业施课党开新面时线织律课系道有温部教要读的劳五体央”开上穿,尺识严、。方”“课展要的时;党底,列路品两书育讲本工动大党决学展其认,三科案。十,交中求深处始员线鼓讲全、行对记方话)作人发员定习“中真廉强实学习党三局流国,刻处终重励话体“,照作案精》方民展会,教三领的贯洁化”发系支五党研特坚内体保温树普党建五讲”学》神为法的理议2育个导马彻从党要展列部”组讨0理 情色持涵现入立通员位奉主习。基1》普念,)干克省政的求、讲要规书6。念 怀社以和为干党清要与一献题动本纳通,分县部思委、宗和话结划记按怎 、会知要行事志风员坚全体、党员教入一带别处要主、从旨好谐,合开给照么 务主促求动创愿正、持面”有日,材学员头围级义市严意干发要专局“办 实义行。的业、气学建总作活领,习,攻绕以做立委治识部展重起三、 思要力重”做成体为动导深内密坚“上结场决家,标。点步会新 想“知着量开温3结小的布。干入容切克坚党合观策,积准学、一战 作四行重;拓入(合康要局合4部学。联难员,月点部带极,习“课略 风个合学坚进党三,社求、格带习深系、干对底方署头践带《决怎 。全一习定取誓)坚会和“党头《入群敢部照前法,弘行头习胜么 要面,领正的词做相内四员重习领众于要习,做扬社坚近全干 深”做会确精,合适容个。近会,担以近结领政社会定平面” 入战讲习的气对格应;全引平关全当《平合会治主理总小学 领略政近神党、重面导总于心,习总贯上主义想书康习 会布治平,员有点”党书改全带近书穿的义核信记、研 我局、总方平。效学战员记革意平记其明核心念系建讨 国、有书向常着服习略强系发为谈关中白心价列成; 发五信记,时眼务习布化列展人治的人价值重区注 展大念来经候党国近局政重稳民国坚;值要域重 战发,川常看和家平、治要定服理定践体讲中同 略展视主得国治总五意讲、务政信行系话心X机理察动出家书大识话内;》X仰党和读遇念重向,事和记发,读工政加《追的中本、要党业“对展保本作外强习求宗(中社讲的五四理持(“交党近、旨2会话央新位川念政02存国平历,10主和看发一工、治61凭防总年史6义系齐展体年作全本、、书版担核列对”版的面色留治记)当心重党建)系深史党重》意价要员设》列化、治要,识值指的,改资国讲重、观示X要革政治话点真X和将、、事军文领挚全毛育业的章会为面泽人发重选理民从东”展要编想严同的体论(信治志作系领念党用。导、等结中全方合国体面起梦党来、员,学加快
c语言课程设计网吧计费
c语言课程设计网吧计费一、教学目标本节课的教学目标是让学生掌握C语言编程的基本方法,通过编写“网吧计费”程序,理解函数的定义和调用,掌握if-else分支结构和循环结构的使用,从而培养学生的问题分析和解决能力。
1.理解函数的定义和调用;2.掌握if-else分支结构和循环结构的使用。
3.能够运用C语言编写简单的程序;4.能够独立完成“网吧计费”程序的编写。
情感态度价值观目标:1.培养学生对编程的兴趣和热情;2.培养学生解决问题的自信心和耐心。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基础知识:介绍C语言的基本语法和数据类型。
2.函数的定义和调用:讲解函数的定义方法,如何调用函数,以及函数的参数传递。
3.if-else分支结构:讲解如何使用if-else语句进行条件判断,以及多分支结构的编写。
4.循环结构:讲解for循环和while循环的使用方法,以及循环控制语句break和continue。
5.“网吧计费”案例分析:分析计费规则,引导学生编写相应的程序。
三、教学方法为了达到本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法、数据类型、函数的定义和调用、if-else分支结构、循环结构等基础知识。
2.案例分析法:通过分析“网吧计费”案例,引导学生运用所学知识解决问题。
3.实验法:让学生动手编写“网吧计费”程序,巩固所学知识。
4.讨论法:在课堂上鼓励学生提问、讨论,解答学生在编程过程中遇到的问题。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》2.参考书:《C语言编程实例解析》3.多媒体资料:PPT课件、编程案例视频4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)5.网络资源:在线编程平台(如LeetCode、牛客网等)五、教学评估本节课的教学评估将采取多元化评价方式,全面客观地评价学生的学习成果。
c语言课程设计网吧管理系统
c语言课程设计网吧管理系统一、教学目标本节课的教学目标是让学生掌握C语言编程的基本方法,能够运用C语言设计一个简单的网吧管理系统。
具体分为三个部分:1.知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等,为编写网吧管理系统打下基础。
2.技能目标:培养学生运用C语言进行程序设计的能力,使学生能够独立完成网吧管理系统的编码和调试。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,增强其创新意识和团队协作能力,使其认识到C语言在实际应用中的重要性。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等,以及如何运用这些知识设计一个简单的网吧管理系统。
具体安排如下:1.介绍C语言的基本语法和编程环境。
2.讲解数据类型、运算符和控制结构,通过实例使学生理解这些知识在实际编程中的应用。
3.引导学生运用所学知识设计网吧管理系统的基本功能模块,如用户登录、会员管理、消费查询等。
4.教授学生如何对网吧管理系统进行调试和优化,提高系统的稳定性和效率。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用以下教学方法:1.讲授法:教师讲解C语言的基本语法、数据类型、运算符和控制结构,为学生提供理论知识。
2.案例分析法:教师通过分析实际案例,使学生了解如何将理论知识应用于实际编程。
3.实验法:学生动手编写网吧管理系统,培养其实际编程能力。
4.讨论法:学生在课堂上相互交流、讨论,分享编程心得,提高团队协作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供理论知识。
2.参考书:提供丰富的参考书籍,帮助学生拓展知识面。
3.多媒体资料:制作精美的PPT,直观地展示C语言编程过程。
4.实验设备:为学生提供充足的计算机设备,便于进行实际编程练习。
五、教学评估为了全面、客观地评估学生的学习成果,本节课采用以下评估方式:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总评的20%。
网吧计费管理代码
代码设计上机界面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 语言项目描述本项目主要完成对局用程控交换机的二进制磁带卸载数据,按照一定的格式要求,转化成标准ASCII 码格式并以文本形式输出,然后再经过内存排序后,提供给后续计费模块进行批价处理。
1. 码制转换局用程控交换机为了减少数据存储量,通常数据以BCD 码的形式进行存储。
BCD (Binary-Coded Decimal ,二进码十进数,简称BCD)用4位二进制数来表示1位十进制数中的0-9这10个数码,简称BCD 码。
但为了方便后续工作的进行,通常需要将其转换成我们常见的ASCII 码。
我们所使用的BCD 数据被存放在后缀名为bs1、bs2、bs3文件中,具体文件格式见附录一。
转换后生成的文件请保存在同名ASC 文件中。
BCD 文件在 Data\Raw_Data 文件夹中转换后的ASCII 文件请放在 Data\ASC_Data 文件夹中 2. 数据校验码制转换完成后,我们要对转换后的数据进行校验,其目的是为局用程控交换机数据预处理系统用户界面码制转换数据校验数据排序日志处理了检查数据的合法性,删除非法数据。
如出现以下数据,则应该删除:a. 主叫号码少于7位b. 被叫号码少于3位c. 结束时间小于开始时间d. 文件结尾的残缺数据3. 排序局用程控交换机中的数据是以时间为序存储的,但是后续计费模块中的数据要求以主叫号码为序才能进行处理。
因此我们需要对转换后的ASCII数据进行排序,排序第一关键字为主叫号码,第二关键字为日期,第三关键字为呼出时间。
请将排序后的文件保存在同名STD 文件中。
排序后的文件请放在Data\STD_Data 文件夹中4. 日志处理日志一般是指存储软件程序、服务或操作系统产生的消息记录的文件。
本功能主要对用户进行的所有操作进行记录并显示。
每条日志需要有操作类型、结果、开始时间、结束时间等内容。
生成的日志文件请存放在 Data\LOG 文件夹中5.界面:用户界面应完成多级菜单显示及选择,此外还应加入对转换后和排序后的文件的显示功能。
网吧管理系统设计C语言
摘要随着社会的发展,人们的生活水平逐步得到提高,科学技术的应用也逐步在人们的生活中得到体现。
网吧是社会发展的产物之一,它成为了人们业余休闲的又一个场所。
网吧管理者要靠人力管理网吧里面众多的电脑信息显然很困难,而且存在很多缺陷。
科学技术的不断提高,计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对网吧的电脑信息进行管理,已成为了必然选择。
With the social development and people's living standards improved, science and technology applications in people's lives gradually be reflected. Internet cafes are a product of social development and it has been one of place where people spend their leisure time. It is clearly difficult that Internet cafe managers rely on human management to manage a large number of computers, and there are many defects. With the continuous improvement of science and technology, computer science and the maturing of its powerful features for people to have a profound understanding. It has entered the human society in various fields and is playing an increasingly important role. As part of the computer application, the use of the computer on the management of net-bar’s computer information has become an inevitable choice.1. 课程设计目的:1.1熟练掌握C语言课程中所学的理论知识;1.2通过综合C语言的基本知识来解决实际问题;1.3加强分析和解决问题的能力。
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();可以实现退出、登陆、菜单、输入、保存、导入、列表、界面、增加、删除、查找、积分。
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()
{//统计会员信息函数
c语言机房收费管理系统
c语言机房收费管理系统C语言实践——机房收费管理系统机房收费管理系统2011-5-22 1. 设计目的(1) 通过对机房收费管理程序的编写加深对C语言的掌握。
加深掌握条件语句,循环语句,函数调用,结构体等。
(2) 通过对机房收费管理系统程序的编写,提高自己,对C语言有了更深一步的认识。
2. 函数调用关系main-menu函数:输出机房管理系统菜单input函数:输入若干个学生的学号、班级和姓名online函数:学生上机,输入上机学生学号或姓名及时间calculate函数:计算上机费用并输出offline函数:学生下机,输入下机时间,调用calculate函数得到上机费用search函数:查找学生上机信息display函数:显示全部机器的使用信息main函数:函数调用以及结束程序3(程序模块机房收费管理系统输入学生信息学生上机学生下机查询上机时间机器使用情况退出系统将学生的学按学号或按学号或按学号或者姓显示全部机器退出机房使用情况号、班级、姓者姓名上者姓名下名查询学生上收费管理名输入信息库机机机时间系统若该生未需判断是输入学生信需判断是否有显示机器是否在信息库否有该学系统使用息,并确定是该学生并且该被使用以及使中,则先生并且该完毕,退否继续输入生是否正在上用该机器的学出输入学生生是否正生信息机信息在上机4(程序代码#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>struct time-------------------------------------------------------------------------------------------------------------------/*时间*/ 第 - 1 - 页共 16 页C语言实践报告——机房收费管理系统{int hour;int minute;int second;};typedef struct---------------------------------------------------------------------------------------------------------/*学生信息*/ { char num[20];-------------------------------------------------------------------------------------------------------/*学号*/ int banji;--------------------------------------------------------------------------------------------------------------/*班级*/int flag;---------------------------------------------------------------------------------------/*用来标记学生是否上机*/char name[20];------------------------------------------------------------------------------------------------------/*姓名*/ struct time start,finish;---------------------------------------------------------------------------------/*上机起止时间*/ }Student;Student stu[50];---------------------------------------------------------------------------------------------------------/*信息库*/ struct computer-------------------------------------------------------------------------------------------------------/*机器信息*/ {int f;-------------------------------------------------------------------------------------------/*用来标记机器是否使用*/Student stut;------------------------------------------------------------------------------------/*使用这台机器的学生*/ }com[30];-------------------------------------------------------------------------------------------------------------/*30台机器*/ int k;int main_menu()--------------------------------------------------------------------------------------------------------/**/ 主菜单{ char c;do{system("cls");------------------------------------------------------------------------------------------------/*清屏*/printf("\t\t\t****机房收费管理系统****\n");printf("\t\t\t1.输入学生信息\n");printf("\t\t\t2.上机\n");printf("\t\t\t3.下机\n");printf("\t\t\t4.查询上机时间\n");printf("\t\t\t5.机器使用情况显示\n");printf("\t\t\t0.退出系统\n");printf("\t\t\t************************\n");printf("\t\t\t请选择菜单(0-5):");c=getchar();}while(c<'0'||c>'5');-------------------------------------------------------------------------------/*判断输入是否合法*/return(c-'0');}int input(Student stu[],int n)----------------------------------------------------------------------------------/*输入学生信息*/ { int i=0;char sign='0';while(sign!='n'&&sign!='N')--------------------------------------------------------/*判断是否继续输入学生信息*/第 - 2 - 页共 16 页C语言实践报告——机房收费管理系统{getchar();------------------------------------------------------------------------------------------------/*吃掉回车*/printf("\t\t学号:");gets(stu[n+i].num);printf("\t\t班级:");scanf("%d",&stu[n+i].banji);getchar();printf("\t\t姓名:");gets(stu[n+i].name);printf("\t\t继续输入,是请按Y,否请按N:");scanf("%c",&sign);stu[n+i].flag=0;-------------------------------------------------------------------------------/*初始化为未上机*/i++;}return(n+i);}void online(Student stu[],int n)------------------------------------------------------------------------------------------/*上机*/ {char num_t[20],name_t[20];int i,s;do{printf("\t\t使用姓名按1,使用学号按2:");scanf("%d",&s);}while(s!=1&&s!=2);getchar();if(s==1){printf("\t\t请输入姓名:");gets(name_t);for(i=0;i<n;i++)----------------------------------------------------------------/*查找信息库中是否有该学生*/if(strcmp(stu[i].name,name_t)==0)break;}else{printf("\t\t请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0)break;}}第 - 3 - 页共 16 页C语言实践报告——机房收费管理系统if(i==n){printf("\t\t信息库中暂无该生,请输入该生信息再上机~\n");return;}else if(stu[i].flag==1){printf("\t\t该生正在上机~\n");return;}else{for(k=0;k<30;k++)if(com[k].f==0){com[k].f=1;----------------------------------------------------------------/*该台机器标记为使用*/printf("\t\t请输入上机时间(当前时间):");scanf("%d:%d:%d",&stu[i].start.hour,&stu[i].start.minute,&stu[i].sta rt.second);stu[i].flag=1;---------------------------------------------------------------------/*该生标记为上机*/com[k].stut=stu[i];--------------------------------------------/*记录使用该台机器的学生信息*/break;}if(k==30)printf("\t\t机器全部使用中,请稍后再上机~\n");}}void calculate(Student stu)--------------------------------------------------------------------------/*上机时间及费用计算*/ {int t;struct time timet;if(stu.finish.second<stu.start.second){if(stu.finish.minute==0){stu.finish.hour-=1;stu.finish.minute=59;}elsestu.finish.minute-=1;timet.second=stu.finish.second+60-stu.start.second;}elsetimet.second=stu.finish.second-stu.start.second;if(stu.finish.minute<stu.start.minute)第 - 4 - 页共 16 页C语言实践报告——机房收费管理系统{stu.finish.hour-=1;timet.minute=stu.finish.minute+60-stu.start.minute;}elsetimet.minute=stu.finish.minute-stu.start.minute;timet.hour=stu.finish.hour-stu.start.hour;if(timet.second==0&&timet.minute==0)t=timet.hour;elset=timet.hour+1;----------------------------------------------------------------------/*不满一小时按一小时记*/printf("\t\t该生上机用时%d小时,费用为%d元\n",t,t); }void offline(Student stu[],int n)------------------------------------------------------------------------------------------/*下机*/ {char num_t[20],name_t[20];int i,s;do{printf("\t\t使用姓名按1,使用学号按2:");scanf("%d",&s);}while(s!=1&&s!=2);getchar();if(s==1){printf("\t\t请输入姓名:");gets(name_t);for(i=0;i<n;i++){if(strcmp(stu[i].name,name_t)==0) break;}}else{printf("\t\t请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0) break;}}if(i==n)第 - 5 - 页共 16 页C语言实践报告——机房收费管理系统{printf("\t\t没有这个学生~\n");return;}else if(stu[i].flag==0){printf("\t\t该生未上机或已下机~\n");return;}else{printf("\t\t请输入下机时间(当前时间):");scanf("%d:%d:%d",&stu[i].finish.hour,&stu[i].finish.minute,&stu[i].f inish.second);calculate(stu[i]);-------------------------------------------------------------------------/*计算并输出上机费用*/stu[i].flag=0;--------------------------------------------------------------------------------/*该生标记为未上机*/for(k=0;k<3;k++)-----------------------------------------------/*将刚下机学生使用的机器标记为未使用*/if(strcmp(com[k].stut.num,stu[i].num)==0){com[k].f=0;-------------------------------------------------------------/*该台机器标记为未使用*/break;}}}void search(Student stu[],int n)------------------------------------------------------------------------------/*上机时间查询*/ {char num_t[20],name_t[20];int i,s;do{printf("\t\t使用姓名按1,使用学号按2:");scanf("%d",&s);}while(s!=1&&s!=2);getchar();if(s==1){printf("\t\t请输入姓名:");gets(name_t);for(i=0;i<n;i++){if(strcmp(stu[i].name,name_t)==0)break;}}else第 - 6 - 页共 16 页C语言实践报告——机房收费管理系统{printf("\t\t请输入学号:");gets(num_t);for(i=0;i<n;i++){if(strcmp(stu[i].num,num_t)==0)break;}}if(i==n){printf("\t\t查无此生~\n");return;}else if(stu[i].flag==1)printf("\t\t该生正在上机,上机起始时间为%d:%d:%d\n",stu[i].start.hour,stu[i].start.minute, stu[i].start.second);elseprintf("\t\t该生未上机或已下机~\n");}void display()---------------------------------------------------------------------------------------/**/ 全部机器使用情况显示{ printf("\t机器号是否使用使用者学号班级上机时间\n");--/*显示格式,表头*/printf("\t----------------------------------------------------------\n");for(k=0;k<30;k++){if(com[k].f==0)printf("\t%02d 否 -- -- -- --:--:--\n",k+1);elseprintf("\t%02d 是 %-10s %-10s %2d %02d:%02d:%02d\n",k+1,com[k],com[k].stut.num,com[k].stut.banji,com[k].stut.start .hour,com[k].stut.start.minute,com[k].stut.start.second);}printf("\t");system("pause");-----------------------------/*使刚显示的内容在屏幕上停留一段时间,直到继续操作为止*/ }int main()----------------------------------------------------------------------------------------------------------------/*主函数*/ {int n=0;for(k=0;k<30;k++)-------------------------------------------------------------------------/*全部机器标记为未使用*/com[k].f=0;for(;;){switch(main_menu())第 - 7 - 页共 16 页C语言实践报告——机房收费管理系统{case 1:system("cls");printf("\t\t\t输入学生信息:\n");n=input(stu,n);break;case 2:system("cls");printf("\t\t\t学生上机\n");online(stu,n);printf("\t\t");system("pause");break;case 3:system("cls");printf("\t\t\t学生下机\n");offline(stu,n);printf("\t\t");system("pause");break;case 4:system("cls");printf("\t\t\t上机时间查询\n");search(stu,n);printf("\t\t");system("pause");break;case 5:system("cls");printf("\t\t\t机器使用情况显示\n\n");display();break;case 0:system("cls");printf("\n\n\t\t感谢使用机房收费管理系统,欢迎下次使用,再见~\n\n"); printf("\t\t");system("pause");exit(0);}}return 0;}5(程序运行结果:由于该改程序运行结果较复杂,输出信息较多,故此不再给出,可参照上机运行结果。
C语言课程设计(网吧管理系统)
printf("请选择(0-6):");
scanf("%d",&choise);getchar();
switch(choise)
printf("请输入姓名:\n");scanf("%s",temp->name);getchar();
printf("请输入身份证号码:\n");scanf("%s",temp->tele);getchar();
if (head==NULL)
{
head=temp;
temp->next=NULL;
}
printf("\t\t 1.会员上机\n");
printf("\t\t 2.显示会员\n");
printf("\t\t 3.查找\n");
printf("\t\t 4.临时人员上机\n");
printf("\t\t 5.会员下机\n");
printf("\t\t 0.退出\n");
printf("\n");
网吧管理系统流程图见如2.
图2.网吧管理系统主要流程图
2.3.源程序
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
C语言课程设计《高速公路联网收费系统》代码
fclose(fp);
printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf("┃0.特殊车:军警车、紧急车┃\n");
printf("┃1.一类车:小轿车、吉普车、的士头人货车、摩托车┃\n");
printf("┃2.二类车:面包车、小型人货车、轻型货车、小型客车┃\n");
{
break;
}
else
{
printf("\terror!!!input again:");
continue;
}
}
printf("初始化中……");
fp=fopen("标记.txt","a+");
fscanf(fp,"%d",&num);
fclose(fp);
fp=fopen("password.txt","a+");
{
j++;
break;
}
}
k=0;
for(m=1;m<=9*NUM;m++)
{
if(cars[m].is_in=='n' && cars[m].station_in==0 && cars[m].station_out==startkey)
{
k++;
cars[m].flag=k;
}
}
if((key==1 && k>0) || (key==2 && j>0) || key==3 || key==4 || key==5)break;
C语言网吧计费系统(小项目)
系统是基于c语言写的小程序,以应付毕业项目或期末考试用。
由于用到fopen读写文件操作,编译前必须在当前文件下建立用户信息.txt 和充值卡.txt 两个文件,否则会报错。
效果图#include <stdio.h>#include <windows.h>#include <string.h>#include <stdlib.h>#include <time.h>//定义链表typedef struct{char name[20];char mima[20];int state;int jine;}user;typedef struct lnod{user data;struct lnod *next;}lnod, *linklist;//充值卡定义链表typedef struct{char name[30];int jine;}kami;typedef struct kk{kami data;struct kk *next;}kk, *kamil;//创建链表void createlist_l(linklist *l){*l = (linklist)malloc(sizeof(lnod));(*l)->next = NULL;}//插入用户信息(尾插法)int listinset_l(linklist *l,user data) {linklist p = *l,q;if (NULL==p)return -1;while (NULL!=p){}p = (linklist)malloc(sizeof(lnod));p->data = data;p->next = q->next;q->next = p;return 0;}//载入文件到链表void filelist_l(linklist *l){int i;FILE *fp1;user user0;fp1 = fopen("用户信息.txt","rb");for (i = 0;i<50;i++){if (1!=fread(&user0,sizeof(user),1,fp1)){break;}listinset_l(l,user0);}fclose(fp1);}//查找制定用户是否存在int locateelem_l(linklist l,char name[]){linklist p;p = l->next;while (p!=NULL){if (!(strcmp(p->,name))){break;}p = p->next;}if (p == NULL){return -1;}elsereturn 0;}//查找指定用户和密码int locateelem_l2(linklist l,char name[],char mm[]) {p = l->next;while (p!=NULL){a = strcmp(p->,name);b = strcmp(p->data.mima,mm);if (a==0&&b==0){//p->data.state = 1;break;}p = p->next;}if (p == NULL){return -1;}elsereturn 0;}//登陆后state = 1;void gaistate_l(linklist *l,char name[]) {linklist p;int b;p = (*l)->next;while (p!=NULL){b = strcmp(p->,name);if (b==0){p->data.state=1;break;}else{p = p->next;}}}//下线state = 0void xiaxian_l(linklist *l,char name[]) {linklist p;int b;p = (*l)->next;while (p!=NULL)if (b==0){p->data.state=0;break;}else{p = p->next;}}}//修改金额void gaijine_l(linklist *l,char name[],int j){linklist p;int b;p = (*l)->next;while (p!=NULL){b = strcmp(p->,name);if (b==0){p->data.jine=p->data.jine+j;printf("您当前余额为%d元",p->data.jine);break;}else{p = p->next;}}}//修改密码void gaimm_l(linklist *l,char name[],char gmm[]){linklist p;int b;p = (*l)->next;while (p!=NULL){b = strcmp(p->,name);if (b==0){strcpy(p->data.mima,gmm);break;{p = p->next;}}}//下线扣费void koufei_l(linklist *l,char name[],int j){linklist p;int b;p = (*l)->next;while (p!=NULL){b = strcmp(p->,name);if (b==0){p->data.jine = p->data.jine-j;break;}else{p = p->next;}}}//写文件void userfile(user user0){FILE *fp0;if((fp0=fopen("用户信息.txt","ab"))==NULL){printf("cannot open file\n");return;}if(fwrite(&user0,sizeof(user),1,fp0)!=1)printf("file write error\n");fclose(fp0);}//更新文件void update_file(linklist l){FILE *fp;linklist p;p = l->next;if (( fp= fopen("用户信息.txt","wb"))==NULL)return;}while (p!=NULL){if (p->data.state==1){p->data.state = 0;userfile(p->data);p->data.state = 1;}else{userfile(p->data);}p = p->next;}}//查询所有用户void chaxun_l(linklist l){linklist p;p = l->next;while (p != NULL){printf("用户名:%-10s密码:%-10s余额%-10d是否在线(1/0):%d \n",p->,p->data.mima,p->data.jine,p->data.state);p = p->next;}}//充值卡创建链表void createlist_k(kamil *l){*l = (kamil)malloc(sizeof(kk));(*l)->next = NULL;}//充值卡查找制定用户是否存在int locateelem_k(kamil kl,char name[]){kamil p;p = kl->next;while (p!=NULL){if (!(strcmp(p->,name))){break;}if (p == NULL){return -1;}elsereturn 0;}//充值卡插入用户信息(尾插法)int listinset_k(kamil *l,kami data){kamil p = *l,q;if (NULL==p)return -1;while (NULL!=p){q = p;p = p->next;}p = (kamil)malloc(sizeof(kk));p->data = data;p->next = q->next;q->next = p;return 0;}//充值卡载入文件到链表void filelist_k(kamil *l){int i;FILE *fp1;kami kami0;fp1 = fopen("充值卡.txt","rb");for (i = 0;i<50;i++){if (1!=fread(&kami0,sizeof(kami),1,fp1)){break;}listinset_k(l,kami0);}fclose(fp1);}//充值卡修改金额void gaijine_k(kamil *l,char name[],int j){kamil p;while (p!=NULL){b = strcmp(p->,name);if (b==0){p->data.jine=p->data.jine+j;printf("您当前余额为%d元",p->data.jine);break;}else{p = p->next;}}}//充值卡写文件void kamifile(kami kami0){FILE *fp0;if((fp0=fopen("充值卡.txt","ab"))==NULL){printf("cannot open file\n");return;}if(fwrite(&kami0,sizeof(kami),1,fp0)!=1)printf("file write error\n");fclose(fp0);}//充值卡更新文件void update_file_k(kamil l){FILE *fp;kamil p;p = l->next;if (( fp= fopen("充值卡.txt","wb"))==NULL){printf("无法打开文件\n");return;}while (p!=NULL){kamifile(p->data);p = p->next;}void delete_k(kamil *L,char name[]) {kamil p,q;int i;p=(*L)->next;q=*L;while(p!=NULL){i = strcmp(p->,name);if(i == 0){q->next=p->next;free(p);break;}else{q=p;p=p->next;}}}//主函数void main(){linklist l;int b;//选择点int z;//判断z是否等于0int j;//金额char yhm[20];char mm[20],mm1[20];char gmm[20],gmm1[20];//改密码user n;clock_t start,finish;float jf;char nk[15],nk0[15];//之下是卡密int i;// int kjine;kami lsk;kamil kl;char gly[20] = "admin";//管理员密码srand((unsigned)time(NULL));createlist_l(&l);filelist_l(&l);createlist_k(&kl);filelist_k(&kl);while (1){system("color f9");system("cls");printf(" ╭═══════欢═迎═光═临══════╮\n");printf(" ╰╮╭----------------╮╭╯\n");printf(" ▲╯║~~1、注册~~║╰▲\n");printf(" ◇★║~~2、用户登陆~~║★◇\n");printf(" ◇★║~~3、管理员登陆~~║★◇\n");printf(" ★◇║~~4、退出~~║◇★\n");printf(" ▼╮║~~本网吧壕专享一秒钟一元~~║╭▼\n");printf(" ╭╯╰----------------╯╰╮\n");printf(" ╰═══════祝═你═快═乐══════╯\n");scanf("%d",&b);switch(b){case 1:{while (1)//注册界面{system("cls");printf("请输入账号:\n");scanf("%s",yhm);z = locateelem_l(l,yhm);if (z == 0){printf("该用户名已存在,任意键返回");fflush(stdin);getchar();break;}else{printf("请输入密码:\n");scanf("%s",mm);printf("请再次输入密码:\n");scanf("%s",mm1);if (!(strcmp(mm,mm1))){printf("注册成功,任意键返回\n");strcpy( , yhm);strcpy(n.mima , mm);n.jine = 0;listinset_l(&l,n);update_file(l);fflush(stdin);getchar();break;}else{printf("两次密码输入不一致,请重新注册\n");Sleep(1000);continue;}}}break;}case 2://用户登陆{system("cls");while(1){printf("请输入用户名\n");scanf("%s",yhm);z = locateelem_l(l,yhm);if (z!=0){printf("用户名不存在,即将返回\n");Sleep(1000);break;}else{printf("请输入密码:\n");scanf("%s",mm);z = locateelem_l2(l,yhm,mm);if (z==0){gaistate_l(&l,yhm);start = clock();while(1){system("cls");printf(" ╭═══════祝═你═快═乐══════╮\n");printf(" ╰╮╭----------------╮╭╯\n");printf(" ▲╯║~~1、查余额~║╰▲\n");printf(" ◇★║~~2、改密码~║★◇\n");printf(" ◇★║~~3、充值卡充值~║★◇\n");printf(" ★◇║~~4、小游戏~║◇★\n");printf(" ▼╮║~~5、下线~║╭▼\n");printf(" ╭╯╰----------------╯╰╮\n");printf(" ╰═══════祝═你═快═乐══════╯\n");scanf("%d",&b);if (b == 1){system("cls");gaijine_l(&l,yhm,0);printf("\n任意键返回\n");fflush(stdin);getchar();continue;}if (b == 2){system("cls");printf("请输入新密码\n");scanf("%s",gmm);printf("请再次输入密码\n");scanf("%s",gmm1);if (!(strcmp(gmm,gmm1))){printf("修改密码成功,任意键后返回\n");gaimm_l(&l,yhm,gmm);update_file(l);fflush(stdin);getchar();break;}else{printf("两次密码输入不一致,请重新修改\n");Sleep(1000);continue;}}if (b == 5){printf("下线成功,任意键返回主界面:\n");xiaxian_l(&l,yhm);finish = clock();jf = (int)((finish - start)/1000);koufei_l(&l,yhm,jf);update_file(l);fflush(stdin);getchar();break;}if (b == 3){system("cls");printf("请输入充值卡\n");scanf("%s",nk0);b = locateelem_k(kl,nk0);if (b!=0){printf("您输入的充值卡不存在,请重新输入\n");Sleep(1000);continue;}if (b == 0){printf("100元已成功充值进您的账号,任意键返回\n");gaijine_l(&l,yhm,100);update_file(l);delete_k(&kl,nk0);update_file_k(kl);fflush(stdin);getchar();continue;}}if (b == 4){while (1){system("cls");iy = 10;jy = 0;printf("请在两秒钟内输入以下简单等式,答对过关,答错结束,任意键开始\n");fflush(stdin);getchar();while(1){system("cls");ay = rand()%iy;by = rand()%iy;iy=iy+100;printf("%d + %d = ",ay,by);fflush(stdin);Sleep(2000);ky = kbhit();scanf("%d",&zhi);fflush(stdin);if (ky == 0){printf("时间到啦\n");if(jy<=5){printf("你只通过了%d关,只击败了5%%的人,弱爆了。
c语言编程机房收费管理系统
课程设计报告题目:微机机房收费管理系统学号: ***********名:**专业:计算机系统维护班级: 12 计维指导教师:***2 0 1 4年 7 月17日目录课程设计报告封面 (1)目录 (2)一.实验题目 (3)二.实验目的 (3)三.实验设计说明与要求.............................................3-4四.程序实现流程图为 (4)五.课程设计与心得体会………………………………………4-5六.程序实现过程………………………………………………5-10七.实验结果……………………………………………………10-12机房收费系统课程设计报告一.实验题目:《机房收费管理系统》设计任务(1)输入功能:输入15名学生的学号、班级、姓名、上机起始时间,下机时间。
(2)计算功能:计算每个学生的上机费用。
(上机费用=上机时间* 1.0/h ,注:不足一小时按一小时计算)(3)查询功能:按条件查询显示学生上机信息。
如:(查询班级、学号、姓名、上机时间)等。
二.实验目的:通过对基本数据类型、语句、数组、函数、结构、指针以及文件等的操作,使学生全面掌握结构化程序设计的基本方法。
让我们进一步了解和熟悉C语言的理论基础,能熟练地运用C语言进行编程,相关运用程序的完善与维护,及相关的设计。
从而在今后的发展中有一定的学习基础便于实用。
三.实验设计说明与要求:从课程设计的目的出发,通过课程设计的各个环节,达到以下教学要求:1. 编写一个菜单驱动的学生机房上机收费管理系统程序(要求使用VC++6.0),实现相关功能。
备注:记录以下信息:学号,姓名,班级,上机时间,上机费用。
2. 进一步掌握C语言程序设计的基本思想和方法;3. 掌握结构化程序设计的基本原理及应用;4. 要求通过数字键或者字母键的选择来对信息进行相应的操作。
需求分析:根据机房收费管理设计的要求,需要设计三个功能:分别是输入学生上机信息功能,计算上机所花费的时间和费用功能和用学号,姓名,班级能查询到学生的信息功能等1. 在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。
网吧计费系统附完整源代码
简易的网吧计费系统设计设计一个简易的网吧计费系统,要求上网人输入卡号和密码上机,卡号或密码不正确,不能上机,卡余额不足不能上机;正在使用的机器不能被再使用;上机需要记录卡号、机器号、上机时间;下机时需要记录下机时间、发生费用和自动从卡里扣款,该机器能再被使用;下机时,需要向用户显示本次上机的详细信息。
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();}。
C与C
C与C++课程设计报告设计题目:网吧管理系统专业班级学生学号指导教师起止时间2013年秋季学期一、具体任务题目:网吧管理系统问题描述:建立一个网吧管理系统,可以处理以下对象:(1)网吧基本信息(2)顾客信息(身份证号,是否会员)(3)网管信息(4)电脑信息设计一个网吧管理系统(GUI界面),使之能提供以下基本功能:(1)查询网吧的总信息。
(2)查询网管的信息。
(3)查询顾客的信息。
(4)增加顾客(顾客类型:是否会员;分配的机位;上机时间)(5)顾客结账(根据顾客类型以及上机时间确定收费金额)。
(6)增加新的网管(一台电脑只能由一个网管负责)。
(7)增加新的电脑二、编译环境Microsoft visual C++ 6.0MFC AppWizard(.exe)平台实现三、算法设计思想1、主界面管理员登录信息查询信息操作电脑信息网管信息顾客信息网吧信息增加电脑增加网管增加顾客结账2、类视图(1)对话框类(2)自定义类四、源代码1、界面操作(ChildView.cpp )void CChildView::OnOPADDWMaster() //新增网管{// TODO: Add your command handler code here//AfxMessageBox("HI");CDlgNewWmaster dlg;if (dlg.DoModal() == IDOK){Wmaster wmaster;wmaster.id = ++Wmaster::id_base;um = dlg.m_cnum; = dlg.m_wname;CProjectApp* app = (CProjectApp*)AfxGetApp();app->m_data.m_wmasters.push_back(wmaster);char buf[100];itoa(wmaster.id, buf, 10);m_listCtrl.InsertItem(0, buf);m_listCtrl.SetItemText(0, 1, dlg.m_wname);m_listCtrl.SetItemText(0, 2, dlg.m_cnum);}}void CChildView::OnVIEWWebbar() //网吧信息{// TODO: Add your command handler code hereCWebBar dlg;dlg.m_cmptr=Computer::id_base;dlg.m_VIP=Customer::id_base;dlg.m_wmaster=Wmaster::id_base;dlg.DoModal();}void CChildView::OnOPADDCustomer() //新增顾客{// TODO: Add your command handler code hereCAddCustomer dlg;Customer customer; //将对话框中数据存入文件if (dlg.DoModal() == IDOK){customer.id = ++Customer::id_base;char buf[100];itoa(customer.id, buf, 10);dlg.m_wID=buf;customer.ID = dlg.m_ID; = dlg.m_name;customer.time = dlg.m_time;customer.type = dlg.m_type;um = dlg.m_cnum;customer.wID = dlg.m_wID;customer.remain = dlg.m_remain;CProjectApp* app = (CProjectApp*)AfxGetApp();app->m_data.m_customers.push_back(customer);char time[100];char remain[100];sprintf(time,"%.1f",dlg.m_time);sprintf(remain,"%.1f",dlg.m_remain);m_listCtrl.InsertItem(0, buf);m_listCtrl.SetItemText(0, 1, dlg.m_name);m_listCtrl.SetItemText(0, 2, dlg.m_ID);m_listCtrl.SetItemText(0, 3, dlg.m_type);m_listCtrl.SetItemText(0, 4, dlg.m_cnum);m_listCtrl.SetItemText(0, 5, time);m_listCtrl.SetItemText(0, 6, dlg.m_wID);m_listCtrl.SetItemText(0, 7, remain);}}void CChildView::OnOPADDComputer() //新增电脑{// TODO: Add your command handler code hereCDlgNewComputer dlg;if (dlg.DoModal() == IDOK){Computer computer;computer.id = ++Computer::id_base;um = dlg.m_cnum;computer.master_name = dlg.m_wmaster;CProjectApp* app = (CProjectApp*)AfxGetApp();app->m_data.m_computers.push_back(computer);char buf[100];itoa(computer.id, buf, 10);m_listCtrl.InsertItem(0, buf);m_listCtrl.SetItemText(0, 1, dlg.m_cnum);m_listCtrl.SetItemText(0, 2, dlg.m_wmaster);}}void CChildView::OnOpPay() //结账{// TODO: Add your command handler code hereCDlgPay dlg;CProjectApp* app = (CProjectApp*)AfxGetApp();if(dlg.DoModal()==IDOK){CDlgNextPay nextdlg;CWebBar web;//AfxMessageBox(dlg.m_ID);for (list<Customer>::iterator i = app->m_data.m_customers.begin();i != app->m_data.m_customers.end(); ++i){if(i->wID.c_str()==dlg.m_wID){nextdlg.m_name=i->name.c_str();if(i->type.c_str()=="VIP")//根据顾客类型和上机时间计算应支付金额{nextdlg.m_money=(i->time)*(web.m_VIPp); } else{nextdlg.m_money=(i->time)*(web.m_normal);}nextdlg.DoModal();i->remain=nextdlg.m_remain;//余额保存到文件中}}}list<Customer>::iterator i;if(i==app->m_data.m_customers.end())AfxMessageBox("此会员号不存在!!!");}void CChildView::OnVIEWWebMaster() //网管信息{// TODO: Add your command handler code herem_content_type=ContentType_WMASTER;int n = m_listCtrl.GetHeaderCtrl()->GetItemCount();for (int i = n - 1; i >= 0; i--)m_listCtrl.DeleteColumn(i);m_listCtrl.DeleteAllItems();m_listCtrl.InsertColumn(0, "序号", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(1, "姓名", LVCFMT_LEFT, 200);m_listCtrl.InsertColumn(2, "机位", LVCFMT_LEFT, 96);{CProjectApp* app = (CProjectApp*)AfxGetApp();for (list<Wmaster>::iterator i = app->m_data.m_wmasters.begin(); i != app->m_data.m_wmasters.end(); ++i) {char buf[100];itoa(i->id, buf, 10);m_listCtrl.InsertItem(0, buf);m_listCtrl.SetItemText(0, 1, i->name.c_str());m_listCtrl.SetItemText(0, 2, i->cnum.c_str());}}}void CChildView::OnVIEWComputer() //电脑信息{// TODO: Add your command handler code herem_content_type=ContentType_COMPUTER;int n = m_listCtrl.GetHeaderCtrl()->GetItemCount();for (int i = n - 1; i >= 0; i--)m_listCtrl.DeleteColumn(i);m_listCtrl.DeleteAllItems();m_listCtrl.InsertColumn(0, "序号", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(1, "机号", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(2, "网管", LVCFMT_LEFT, 200);{CProjectApp* app = (CProjectApp*)AfxGetApp();for (list<Computer>::iterator i = app->m_data.m_computers.begin(); i != app->m_data.m_computers.end(); ++i) {char buf[100];itoa(i->id, buf, 10);m_listCtrl.InsertItem(0, buf);m_listCtrl.SetItemText(0, 1, i->cnum.c_str());m_listCtrl.SetItemText(0, 2, i->master_name.c_str());}}}void CChildView::OnVIEWCustomer() //顾客信息{// TODO: Add your command handler code herem_content_type=ContentType_CUSTOMER;int n = m_listCtrl.GetHeaderCtrl()->GetItemCount();for (int i = n - 1; i >= 0; i--)m_listCtrl.DeleteColumn(i);m_listCtrl.DeleteAllItems();m_listCtrl.InsertColumn(0, "序号", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(1, "姓名", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(2, "身份证号", LVCFMT_LEFT, 200);m_listCtrl.InsertColumn(3, "类型", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(4, "机号", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(5, "上机时间", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(6, "会员号", LVCFMT_LEFT, 96);m_listCtrl.InsertColumn(7, "余额", LVCFMT_LEFT, 96);{CProjectApp* app = (CProjectApp*)AfxGetApp();for (list<Customer>::iterator i = app->m_data.m_customers.begin(); i != app->m_data.m_customers.end(); ++i) {char buf[100];itoa(i->id, buf, 10);char time[100];char remain[100];sprintf(time,"%.1f",i->time);sprintf(remain,"%.1f",i->remain);m_listCtrl.InsertItem(0, buf);m_listCtrl.SetItemText(0, 1, i->name.c_str());m_listCtrl.SetItemText(0, 2, i->ID.c_str());m_listCtrl.SetItemText(0, 3, i->type.c_str());m_listCtrl.SetItemText(0, 4, i->cnum.c_str());m_listCtrl.SetItemText(0, 5, time);m_listCtrl.SetItemText(0, 6, i->wID.c_str());m_listCtrl.SetItemText(0, 7, remain);}}}int CChildView::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CWnd ::OnCreate(lpCreateStruct) == -1)return -1;// TODO: Add your specialized creation code hereCRect rect;this->GetClientRect(rect);m_listCtrl.Create(WS_VISIBLE | LVS_REPORT, rect, this, 0); //创建一个listctrl控件this->OnVIEWCustomer();return 0;}void CChildView::OnSize(UINT nType, int cx, int cy){CWnd ::OnSize(nType, cx, cy);// TODO: Add your message handler code hereCRect rect;this->GetClientRect(rect);m_listCtrl.MoveWindow(rect);}//设置在网管界面中不能操作其他信息void CChildView::OnUpdateOPADDWMaster(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code herepCmdUI->Enable(m_content_type == ContentType_WMASTER);}void CChildView::OnUpdateVIEWWebbar(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code herepCmdUI->SetRadio(m_content_type == ContentType_WMASTER); }//设置在电脑信息界面中不能操作其他信息void CChildView::OnUpdateOPADDComputer(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code herepCmdUI->Enable(m_content_type == ContentType_COMPUTER); }void CChildView::OnUpdateVIEWComputer(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code herepCmdUI->SetRadio(m_content_type == ContentType_COMPUTER); }//设置在顾客信息界面中不能操作其他信息void CChildView::OnUpdateOPADDCustomer(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code herepCmdUI->Enable(m_content_type == ContentType_CUSTOMER); }void CChildView::OnUpdateVIEWCustomer(CCmdUI* pCmdUI){// TODO: Add your command update UI handler code herepCmdUI->SetRadio(m_content_type == ContentType_CUSTOMER);}2、顾客结账对话框(DlgNextPay.cpp)void CDlgNextPay::OnBtnPay(){// TODO: Add your control notification handler code herethis->UpdateData(); //将控件中数据赋给变量if(m_pay==0)AfxMessageBox("请支付!!");else{if((m_pay-m_money)<0)AfxMessageBox("支付金额应大于应付金额,请重新输入!!");else{m_remain=m_pay-m_money;CAddCustomer dlg1;dlg1.m_remain=m_remain;AfxMessageBox("支付成功!!");}}this->UpdateData(FALSE);//将变量中数据赋给对话框}3、自定义数据类及数据的存储(data.h、data.cpp)//data.h#pragma oncestruct Wmaster //网管信息{int id;std::string cnum; //机位std::string name; //姓名static int id_base;};struct Customer //顾客信息{int id;std::string name; //姓名std::string type; //类型std::string cnum; //机位float time; //上机时间float remain; //余额std::string ID; //身份证号std::string wID; //会员号static int id_base;};struct Computer //电脑信息{int id;std::string cnum; //机位std::string master_name; //网管static int id_base;};struct Webbar //网吧信息{//int id;int cmptr; //电脑总数int wmaster; //网管总数int VIP; //VIP总数//static int id_base;};class Data {public:void loadFromFile();void saveToFile();std::list<Wmaster> m_wmasters; std::list<Customer> m_customers; std::list<Computer> m_computers; Webbar webbar;};//data.cpp#include "stdafx.h"#include "data.h"using namespace std;int Wmaster::id_base;int Customer::id_base;int Computer::id_base;void Data::loadFromFile(){{// 网管信息.txtifstream ifs;ifs.open("网管信息.txt");if (ifs.is_open()) {ifs >> Wmaster::id_base;Wmaster wmaster;while (ifs) {ifs >> wmaster.id;ifs >> um;ifs >> ;if (um != "")m_wmasters.push_back(wmaster);}}}// 顾客信息.txt{ifstream ifs;ifs.open("顾客信息.txt");if (ifs.is_open()) {ifs >> Customer::id_base;Customer customer;while (ifs) {ifs >> customer.id;ifs >> ;ifs >> customer.ID;ifs >> customer.type;ifs >> um;ifs >> customer.time;ifs >> customer.wID;ifs >> customer.remain;if ( != "")m_customers.push_back(customer);}}}//电脑信息.txt{ifstream ifs;ifs.open("电脑信息.txt");if (ifs.is_open()) {ifs >> Computer::id_base;Computer computer;while (ifs) {ifs >> computer.id;ifs >> computer.master_name;ifs >> um;if (um != "")m_computers.push_back(computer);}}}//网吧信息.txt{ifstream ifs;ifs.open("网吧信息.txt");if (ifs.is_open()) {Webbar webbar;ifs >> webbar.cmptr;ifs >> webbar.wmaster;ifs >> webbar.VIP;}}}void Data::saveToFile(){// 网管信息.txt{ofstream ofs;ofs.open("网管信息.txt");ofs << Wmaster::id_base << endl;for (list<Wmaster>::iterator i = m_wmasters.begin(); i != m_wmasters.end(); ++i) {ofs << i->id << endl;ofs << i->cnum << endl;ofs << i->name << endl;}}// 顾客信息.txt{ofstream ofs;ofs.open("顾客信息.txt");ofs << Customer::id_base << endl;for (list<Customer>::iterator i = m_customers.begin(); i != m_customers.end(); ++i) {ofs << i->id << endl;ofs << i->name << endl;ofs << i->ID << endl;ofs << i->type << endl;ofs << i->cnum << endl;ofs << i->time << endl;ofs << i->wID << endl;ofs << i->remain << endl;}}// 电脑信息.txt{ofstream ofs;ofs.open("电脑信息.txt");ofs << Computer::id_base << endl;for (list<Computer>::iterator i = m_computers.begin(); i != m_computers.end(); ++i) {ofs << i->id << endl;ofs << i->master_name << endl;ofs << i->cnum << endl;}}// 网吧信息.txt{ofstream ofs;ofs.open("网吧信息.txt");ofs << webbar.VIP << endl;ofs << webbar.cmptr << endl;ofs << webbar.wmaster << endl;}}五、运行结果1、主界面2、增加顾客3、增加电脑4、增加网管5、网吧信息6、结账六、收获与体会在此次课程设计中我发现了很多的问题,知道自己在程序设计方面的不足,为了很好的完成这次课程设计我查询了很多的书籍及编程论坛,对我程序设计能力有很大的提高,MFC的界面也比c++界面好看,让我对MFC充满了好奇心和无比的兴趣。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#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();}。