网吧管理系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网吧管理系统设计
网吧管理系统设计
2016年3月15日
摘要
随着社会的飞速发展,人们去网吧上网越来越频繁,交际的范围也越来越广。
那么对于网吧来说更迫切的需要一个管理系统来管理好网吧使人们方便上机下机以及加钱加点于是尝试编写了一个小的网吧管理系统程序,希望有助于人们去网吧上网,可以参考使用。
该程序一共有六个选项,可以进行会员上机、显示会员、查找会员、临时人员上机、下机等操作.该系统足以支持网吧正常运行,良好的记录了上机人员的信息
关键词:网吧管理;C语言;系统设计
目录
摘要 ........................................................................................................第1章引言 0
1.2 设计的平台及语言 0
1.2.1 visual C++平台 0
1.2.2 visual C++ 6.0主要部分 (1)
1.2.3开发语言C语言 (1)
第2章系统的设计 (3)
2.1 系统的设计目标 (3)
2.2 系统的总体设计 (3)
2.2.1 系统的设计思路 (3)
2.2.2 系统的流程设计 (4)
2.2.3 系统的程序设计 (5)
第3章编写程序代码及运行程序 (7)
3.1 编写程序代码 (7)
3.2.1 运行程序在visual C ++软件里 (7)
3.2.2 调试程序 (8)
3.3 设计结果与分析 (9)
第4章系统设计的总结 (12)
4.1 课程设计中遇到的难点及解决办法 (12)
4.2 设计体会 (12)
结论 (15)
参考文献 (16)
附录 (18)
第1章引言
1.1.1 课程设计的目的
中国的网吧已经成为中国第三大上网场所。
网吧是向社会公众开放的营利性上网服务提供场所,社会公众可利用网吧内的计算机及上网接入设备等进行网页浏览、学习、网游、聊天、视频、音乐、分享,或其他活动,网吧经营者通过收取使用费或提供其他增值服务获得收入。
网吧是向成年人开设的学习、休闲、娱乐等活动的场所,严禁未成年人进入。
网吧系统(本地,网络)需要保证良好的运行速度和稳定性,所有的机器都有承受24小时连续运作的能力。
对于网络的速度,稳定性要求就更加严格。
同时,对网吧的管理也成为网吧业界的瓶颈问题。
一方面,政府对网吧上网,游戏内容的审核愈加严格,这就要求网吧的组建更加系统化,规范化,从机器配置的选购到软件的安装,上网内容的过滤,还有网上病毒传输操控等等;另一方面,网吧本身的管理成本,例如,网吧的计费管理,如让专人看管的话,不但增加网吧运营成本、而且容易造成人为错误,对于多个连锁网吧的管理,则更是成了网吧业的难题。
网吧的连锁化管理,采用统一的上网首页和对连锁门店统一实施的计算机远程管理系统,将会很好地解决上述网吧的管理问题。
同时,随着技术的发展、信息的多元化和信息量的不断增长,人们对上网提出了更多的要求。
网吧作为公共上网场所,也要不断推出特色经营内容,突破传统的模式,不再只是公众文化娱乐的设施,更成为传播知识信息资源的窗口,为提高全民文化素质和教育水平将产生深远的影响。
因此网吧连锁经营是网吧经营的必然。
选择可靠的网吧连锁经营管理系统是网吧经营者取得良好效益的前提。
1.2 设计的平台及语言
1.2.1 visual C++平台
Visual C++ 6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。
Visual C++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于Windows 2000、
Windows XP和Windows NT4.0。
所以实际中,更多的是以Visual C++6.0为平台。
Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。
Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。
这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
1.2.2 visual C++ 6.0主要部分
1、Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C++”,所以很多人理所当然的认为,那就是Visual C++了。
其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。
我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。
所以不要把Developer Studio 当成Visual C++,它充其量只是Visual C++的一个壳子而已。
这一点请切记!
2、MFC。
从理论上来讲,MFC也不是专用于Visual C++,Borland C++,C++Builder和Symantec C++同样可以处理MFC。
同时,用Visual C++编写代码也并不意味着一定要用MFC,只要愿意,用Visual C++来编写SDK程序,或者使用STL,ATL,一样没有限制。
不过,Visual C++本来就是为MFC打造的,Visual C++中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C++而不用MFC就等于抛弃了Visual C++中很大的一部分功能。
但是,Visual C++也不等于MFC。
3、Platform SDK。
这才是Visual C++和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。
大致说来,Platform SDK是以Microsoft C/C++编译器为核心(不是Visual C++,看清楚了),配合MASM,辅以其他一些工具和文档资料。
上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。
1.2.3开发语言C语言
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,
适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11计算机上使用。
它由早期的编程语言BCPL(Basic Combined Programming Language)发展演变而来,在1970年,AT&T贝尔实验室的Ken Thompson 根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。
而B 语言之前还有A语言,取名自世界上第一位女程序员Ada(艾达)。
随着微型计算机的日益普及,出现了许多C语言版本。
由于没有统一的标准, 使得这些C语言之间出现了一些不一致的地方。
为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。
注:国际标准化组织ISO也制定的C语言的标准,被很多编译器所采用,如:GCC等。
C语言是世界上最流行、使用最广泛的高级程序设计语言之一。
[2]在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,以前有许多大型应用软件都是用C语言编写的(由于面向对象编程技术的出现,大型软件转由C++、JA V A、C#再配合C语言开发;C语言在面对大型的软件开发时,会显得有些吃力)C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。
它是数值计算的高级语言。
第2章系统的设计
2.1 系统的设计目标
设计网吧管理系统的总体目标是:在visual C ++开发平台上,利用我们所学的知识开发一个体系功能结构完备、产品易升级、使用界面友好的网吧管理系统,实现其对网吧流管理,使管理者可以方便查看会员以及上网人员的上网信息。
网吧管理系统设计的基本内容包括会员的会员名、性别、年龄、积分等。
试设计一网吧管理系统,系统以菜单方式工作,密码登陆。
使之能提供以下功能:(1)会员信息的录入(增加数据)。
用数组数据类型赋初值的方法把会员信息送到各个数组中(但要注意是合法数据),然后把它们保存起来。
(2)会员信息的浏览(查找数据)。
任意输入一位会员号,打印出他的所有数据。
要求能多次查找。
(3)会员管理系统登陆。
输入密码登陆系统。
输出的结果要准确、清晰、美观。
2.2 系统的总体设计
2.2.1 系统的设计思路
建立一个函数,用来保存上机会员的名字,身份证号码等信息,完成记录会员信息的功能。
主函数可以调用六个子函数,分别完成会员上机,查找,临时上机,下机,显示,退出六个功能。
在主函数中可以设置调用六个子函数的方法,例如按1,2,3,4,5,0数字键,则分别可以执行某个功能模块,主要功能模块如图1所示;
图 2.1 网吧管理主要功
能模块
2.2.2 系统的流程设计
据所构想的功能及模块设计出与之相对应的系统流程设计,根据系统流程设计来设计C语言程序,包括子程序和主函数的设计,设计流程如下所示;
图 2.2 网吧管理系统主要流程图
2.2.3 系统的程序设计
该程序一共有六个选项,可以进行会员上机、显示会员、查找会员、临时人员上机、下机等操作.该系统足以支持网吧正常运行,良好的记录了上机人员的信息程序用了条件、循环、结构体等知识点,综合了链表和文件的打开和保存编写的。
可运用于小的管理软件。
软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足用户的需要
根据所构想的功能及模块设计出与之相对算法并建立函数来实现系统运行[1]
根据题目的要求,需要一个主程序main()和12个子程序,分别为quit()、loading ()、menu()、input()、save()、load()、list()、window()、add()、del()、search()、point();可以实现退出、登陆、菜单、输入、保存、导入、列表、界面、增加、删除、查找、积分。
其中,登陆、增加、删除、查找、积分五个函数为主要处理对象,也是网吧管理系统的核心部分。
①创建会员基本信息结构体和会员信息数组.将会员的信息作为一个结构体。
[2]如下:
ID *creat()
{
ID *p1,*p2,*head;
char str[20];
p1=p2=head=NULL;
printf("\t\t\t 开始输入上机会员记录(姓名# 结束)!\n");
while(1)
{
printf("请输入姓名:\n");scanf("%s",str);getchar();
if(strcmp(str,"#")==0) break;
p1=(ID*)malloc(sizeof(ID));
strcpy(p1->name,str);
printf("请输入身份证号码:\n");scanf("%s",p1->tele);getchar();
②main()主函数:
主函数是程序的入口,才用模块化设计,主函数应该尽可能简洁,功能要体现其中,
首先声明一些必要变量,利用无限循环体为开关语句,该语句的条件通过函数的输入值来实现功能选取,同时设置一个断点,即当返回值为一定条件时运行exit()函数来结束程序,以免造成死循环。
void main()
{
ID *head=NULL;
int choise;
printf("\t\t\t* * * * C语言课设* * * *\n");
while(1)
{
printf("\t\t 网吧管理系统\n");
第3章编写程序代码及运行程序
3.1 编写程序代码
为完成这个上机管理系统,我采用了二维数组来储存数据的方法,把输入的数据整数放在数组中,一维代表上机的机号,二维第一个记录上机小时时刻,二位的是代表分钟,然后利用数据运算,最后运算的结果再乘以每分钟的费用(这里初步设顶为0.05元1分钟既3块一小时)。
首先,我用“#define”定义了一个宏N,大小是60,表示多精度整数的长度是60位;再用“typedef”声明了一个整型数组类型。
因为有较多个功能实现,所以在函数里面我运用了if.等循环语句还有break,for和continue等语句。
3.2程序在visual C ++里的运行
3.2.1 运行程序在visual C ++软件里
打开visual C ++6.0软件,新建工程和新建文件,然后把文件添加到工程里,其如图所以:
图3.1 新建工程及新建文件图
在新建的文件里编写程序代码,然后点击编译,运行程序、调试程序、验证程序的正确性。
图3.2 编写程序代码图
3.2.2 调试程序
点击调试程序按钮,程序出现错误,逐行去检查错误,然后更改程序,直到运行正确
图3.3 调试程序出现错误图
3.3 设计结果与分析
在VC++ 6.0环境中输入源程序,在没有提示错误的情况下编译,可以正常运行系统,实现网吧管理.如图3.4所示界面
图3.4程序主界面
①执行文件时,会看到如图3.5所示界面。
运行主函数的时候,首先调用函数ID *creat() ,该函数是一个菜单函数,用scanf 语句来实现各功能模块的输入执行。
根据网吧管理员实际情况的选择数据,分别调用其他自定义函数。
②在输入1按回车后会系统提示输入会员姓名、身份证号码,网吧管理员要把会员的信息进行输入。
如图3.5所示。
图3.5 输入会员上机信息界面
该界面是调用函数ID *creat() 的结果,在ID *creat() 函数中,首先printf姓名用scanf函数接收会员上机信息.最后#结束该函数.回到主函数.
在输入2按回车后系统会显示所有上机人员的信息。
其中包括临时上机人员和会员,如图3.6所示。
图3.6 输入所有上机人员信息结果界面该界面是调用函数ID *creat()的结果,在ID *creat() 函数中,首先printf 姓名用scanf函数接收会员上机信息.最后#结束该函数.回到主函数.
④再输入3按回车后,输入你要查询的会员名系统会出现该会员的相关信息例如输入a按回车结果如图3.7所示。
图3.7 显示所查找会员信息界面该界面是调用ID *search(ID *head)的结果,scanf函数输入要查询的会员名,这里用到while,if语句.当符合输入的信息条件时,系统就会执行输出会员信息,若不符合则输入另一条指令.即"未找到符合记录!"按#回到主界面。
⑤再输入4按回车后,显示临时上机人员需要登记的信息.即填临时上机人员的姓名,身份证号码结果如图3.8所示。
图3.8人员下机信息界面
第4章系统设计的总结
4.1 课程设计中遇到的难点及解决办法
1 结构体数组的定义。
当在结构体中有float型数据时系统会提示错误。
解决方法:用其他变量代替然后再定义。
2 在调试未运行完自动跳出到主界面。
解决方法:是由于系统问题,在遇到float型数据时会出现系统错误。
3 变量未定义而先使用。
解决方法:定义变量。
4 输入名称与数据库中文件的数据匹配。
解决办法:若输入名称存在,则跳回主界面,重新操作。
若不存在,则进行下一项。
5文件的保存与导入。
解决方法:利用文件指针。
6不知道如何使型参于实参一一对应。
解决办法:对应相应参数调试。
7在调试程序是出现死循环。
解决办法:找出循环语句,调试修改范围。
8在进行导入时出错。
解决方法:看变量是否一致,看型参以实参是否对应。
9 整合完善。
解决办法:增加清屏和提示等措施完善美化程序。
4.2 设计体会
C语言是一门计算机基础语言,通过这一学期的学习,对于它的一些特点和算法有了一定程度的了解,并能够做一些中等的题目,但并没有完全掌握。
这两周的课程设计正是让我们巩固以前的知识并在此基础上能够有所突破。
作为一种计算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它可以作为系统设计语言,编写
工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛。
同时,其特点鲜明,它是一种结构化语言。
层次清晰,便于按模块化方式组织程序,易于调试和维护。
C语言的表现能力和处理能力也极强。
它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。
它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
具体来说:
1. 简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2. 运算符丰富
C的运算符包含的范围很广泛,共有种34个运算符。
C语言把括号、赋值、强制类型转换等都作为运算符处理。
从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3. 数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。
能用来实现各种复杂的数据类型的运算。
并引入了指针概念,使程序效率更高。
另外C语言具有强大的图形功能, 支持多种显示器和驱动器。
且计算功能、逻辑判断功能强大。
4. C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5. C语法限制不太严格、程序设计自由度大
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。
而C语言允许程序编写者有较大的自由度。
通过这次创新的课题——网吧管理系统其设想——构造——整合——优化等一系列项目完成,了解到程序设计的严谨性,也更加体会到C语言给大家带来的方便。
同时学会了很多调试程序的方法,在小组成员的探讨中不断学习到许多最优的程序设计,而且懂得了更多更好如何处理错误的方法。
对C语言的使用进一步的提高,加深了我对程序的深层理解,清楚程序中每一步的功能,在程序的运行中是十分重要的,一个好的结构在运行中能够充分的发挥程序的功
能,结构设计的合理性决定了这个程序的价值。
程序设计过程有如解决一实际问题,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;其次,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法。
可得最后结论。
在程序设计中,可认为也是一个社会,每个一同的社会成员都有不同的想法。
程序设计学得的好坏要看你在社会中解决问题的能力的高低,所以不同的人编程的结果是不同的。
在这个社会中,经验与想法最为重要。
C语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。
使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。
使我们体会到自身知识和能力能在实际中的应用和发挥。
不但可以激发创新意识,还可以开发创造能力、培养沟通能力。
这次实习时间虽然仅有一个星期,但确实使我受益非浅。
通过实习我丰富了计算机操作经验,更加深了对C语言的了解,熟悉了其环境,更增强了对C语言的使用技巧。
结论
通过对本程序的编辑和编译使我学会了很多:重视语言的组成结构,熟记各种语句的应用, 因为一个小小的错误可能就会使程序无法运行!所以尽量避免编写时的语句错误是非常必要的,可以省去我们不必要浪费的时间,有利于更加完善自己的设计.C语言的编辑及运行是非常灵活的,所以更需要我们能透彻的掌握这门语言,才能运用的灵活自如.把自己想要编写的东西写出来,是件非常有成就感的事情.所以对于以后的学习更应该刻苦,扎实自己的低.因为是第一次写这种课程设计,难免有些紧张.觉得程序,语句,或多或少还是有些小问题的,以后就努力改进的!在实践种体会到了互帮互助的重要性,第一次编写,幸亏有老师的再三提点还有同学们的意见,让我受益匪浅,感谢老师和同学的帮忙.关于C语言,是我的主修课,通过这次的课程设计,唤起了我对C语言的喜爱,以后会努力学习的!
参考文献
霍亮, 李欣. 3G技术与现代物流管理技术的集成模式研究[J]. 测绘科学, 2003, (3): 59-61.
美国物流业信息化发展状况对我国的启示[EB/OL]. http://www.rfidchina.
南超兰, 李小伟. 我国仓储物流业的发展现状研究[J]. 科协论坛, 2007, (08): 55-58.
杨静. 我国物流信息化发展概况[J]. 内蒙古科技与经济, 2008, (11): 47-49.
张茹, 唐勇, 吴卫东, 余航. 仓库管理中移动终端数据采集系统的应用设计[J]. 电子商务, 2012, (10): 22-23.
曹彬. 现代仓储物流管理信息系统分析与设计[J]. 商品储运与养护, 2008, 30(1):35-37.
姚昱旻, 刘卫国. Android的架构与应用开发研究[J]. 计算机系统用,2008(11):110-112.
贡知洲, 路昭亮. Android发展的分析与研究[J]. 价值工程, 2013, (02): 185-186.
陈璟, 陈平华, 李文亮. Android内核分析[J]. 现代计算机(专业版), 2009, (11): 112-115.
Kellerman J. Eclipse的历史、现状和未来[J].软件世界,Software World, 2006(14):78-79.
周婷, 董海棠. Eclipse平台架构及其插件[J]. 甘肃科技纵横, 2007(03):16.
刘仙艳. 移动终端开放平台—Android[J]. 信息通信技术, 2011, (04): 99-102.
吴小惠. 嵌入式数据库典型技术SQLite的研究[J]. 福建电脑, 2012, (10): 66-67.
张露, 马丽. 数据库设计[J]. 安阳工学院学报, 2007(04):76-79.
杨柳, 庞和明, 姜琳颖, 岳坤. 嵌入式Linux及SQLite数据库在智能监控中的应用研究[J]. 为计算机信息, 2010, (35): 65-67.
邱晓凤, 张文东. 面向对象数据库中数据字典实现的一种方法[J]. 计算机工程与设计, 2007(02):275-277.
杨金勇, 黄克正, 高常青, 等. 面向对象数据概念结构设计过程中功能表面重构技术研究[J]. 机械设计与研究, 2006(06):7-9.
陈红梅. 数据库的逻辑结构设计[J]. 福建电脑, 2012(10):214-215.
王兵. 数据库应用系统逻辑结构设计初探[J]. 现代计算机(专业版), 2012(15):14-16.
李卉. 北京移动动力环境监控系统扩容设计与研究[D]. 复旦大学, 2008.
附录
源程序;
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define ID struct id
struct id
{
char name[20];
char tele[20];
ID *next;
};
int pc=0;
ID *creat()
{
ID *p1,*p2,*head;
char str[20];
p1=p2=head=NULL;
printf("\t\t\t 开始输入上机会员记录(姓名# 结束)!\n");
while(1)
{
printf("请输入姓名:\n");scanf("%s",str);getchar();
if(strcmp(str,"#")==0) break;
p1=(ID*)malloc(sizeof(ID));
strcpy(p1->name,str);
printf("请输入身份证号码:\n");scanf("%s",p1->tele);getchar();
if(head==NULL)
{
head=p1;
p2=p1;
}
else
{
p2->next=p1;
p2=p1;
}
pc++;
}
p2->next=NULL;
return(head);
p2=p1; }
/*输入/添加记录*/
ID *insert(ID *head)
{
ID *temp,*p1,*p2;
printf("临时人员上机操作开始!!!\n");
temp=(ID *)malloc(sizeof(ID));
printf("请输入姓名:\n");scanf("%s",temp->name);getchar();
printf("请输入身份证号码:\n");scanf("%s",temp->tele);getchar();
if (head==NULL)
{
head=temp;
temp->next=NULL;
}
else
{
p1=head;
while(p1!=NULL)
{
p1=p1->next;
}
p2->next=temp;
temp->next=p1;
}
printf("临时上机登陆成功");
pc++;
return (head);
}
/*会员下机记录*/
ID *delet(ID *head)
{
ID *p1,*p2;
char str[20];
printf("请输入要下机会员的身份证号:");scanf("%s",str);getchar(); p1=head;
if (head==NULL)
{
printf("没有记录\n");
goto end;
}
while(p1!=NULL && strcmp(p1->tele,str))
{
p2=p1;p1=p1->next;
}
if(p1==NULL)
printf("未找到符合记录!\n");
else if(strcmp(p1->tele,str)==0)
{
if (p1==head)
head=p1->next;
else
p2->next=p1->next;
printf("下机成功!!!\n");
pc--;
}
end:return head;
}
/*查找记录*/
ID *search(ID *head)
{
ID *p1,*p2;
int flag=0;
char c;
printf("请输入姓名的首字母:");scanf("%c",&c);getchar();
p1=head;
while( p1!=NULL)
{
if(p1->name[0]==c)。