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();可以实现退出、登陆、菜单、输入、保存、导入、列表、界面、增加、删除、查找、积分。
- 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();}。