资源描述:
《商务1101张怀平车库管理系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浙江工商大学计算机与信息工程学院数据结构实验大作业报告专业:电子商务班级:商务1101学号:1112200108姓名:张怀平指导教师:邵俊2012年6月一•问题描述设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车
2、都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原來的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。[实现要求]耍求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。二•需求分析2.1市场分析目前,我国经济逐渐发达,汽车数量不断增加。因此,人量的停车场也随之而至。虽然某些大型停
3、车场在工作中已经开始向计算机化靠拢,但仍不够完善。而中小型停车场更为稀少,陈旧的管理手段给顾客带来极大的不便,同时为了提高工作效率及服务质量,一套完整的停车厂管理系统的出现就I•分必要了。本次设计,仅为一个简单的小型停车场管理系统。釆用c语言编写,主要强调车辆的进站和出站操作,以及车场和通道之间的相互关系。根据车场内车道狭长且为一边开口的特点,将车库和便道中的车辆信息记录在一个结构体数组中,这样设计可以方便的记录车辆的数据,读取和删除。2.2系统用户分析“停车场管理系统”主要是针对车辆存取工作而开发的
4、应用软件。通常有系统管理员、停车场车辆管理员和顾客三种用户,他们的使用权限如下:系统管理员:计算机人员,对系统进行维护。停车场管理员:对停车信息进行数据操作。顾客:仅限于查阅。注:本设计的设计对象是停车场车辆管理员。三•程序设计2.1数据结构设计该程序主要应用了栈和队列的数据结构。1.栈抽象数据类型定义ADTSeqStack{数据对象:D={aiGSeqStackli=l,2,3,......n;}数据关系:数据间是线性关系,先入栈的元素后出栈基本操作:Putcar(s,q):〃将到达车辆的信息入栈s
5、(若车库满了则入队列q)Getcar(s,q):〃将待离开车辆出栈s,并将q中相应车辆入栈并进行相关的操作}ADTSeqStack2•队列抽象数据类型定义ADTLinkqueue{数据对象:D={aieQNode11=1,2,3,・・・・・・n;}数据关系:数据间是线性关系,只能在队尾入队,在对头出队(先进先出)基本操作:Putcar(s,q):〃将到达车辆的信息入栈s(若车库满了则入队列q)Getcar(s,q,):〃将待离开车辆出栈s,并将q中相应车辆入栈并进行相关的操作}ADTLinkqueue
6、2.2系统总体框图停车场管理系统2.3算法设计主要函数算法:1.用户注册函数Register算法定义两个数组,一个存放用户名,一个存放用户密码。将用户输入的用户名和密码写入到文件d://zhuce.txt中。在写完用户的用户名后再写入一个特殊字符&用丁•划分用户的用户名和密码在文件屮的位置。代码:uoidRegisterO//用户注册函数FILE*Fp;inti=0;charname[16];charnina[11];Fp={=open(,1d://zhuce.txt";getchar();〃读岀回车
7、符printF「•请输入您的用户名(最大为15个字符):W);gets(name);while(name[i]?=1 *)Fprintf(fp,name[i]);i**;Fprintf(fp,i,%cii,i&,);PrintF「请输入您的密码(最大为1吟字符gets(mima);i=9;while(inima[i]?=, ,)FprintF(Fp,mima[i]);i**;Fclose(Fp);>2.用户名和密码验证函数password算法首先定义4个数组si,s2,s3,s4osi用于存放从文
8、件中读取的用户名,s2用于存放用户输入的用户名,S3用于存放从文件中读取的用户密码,s4用于存放用户输入的密码。再定义两个变量i和j,分别记录用户输入的密码和输入的用户名的次数。用户最多有3次输入用户名和密码的机会,超过三次,系统自动退出。程序先验证用户输入的用户名,若用户名输入正确,再验证用户输入的密码。代码:voidpassword()//用尸笛和密為抱证圈報intlabel1=0,label2=0,i=0,j=O,t;charc;chars1[16