数据结构课程设计-停车场管理

2024-08-24

数据结构课程设计-停车场管理(精选6篇)

篇1:数据结构课程设计-停车场管理

C语言上机实习报告

指导老师:吴杰 学生姓名:刘超 班级序号:02305231 学生证号:20051004279

一.题目要求

设有一个可以停放N辆汽车的狭长停车场,它只有1个大门可以供车辆进出。车辆按到达停车时间的早晚依次从停车场罪戾面向大门口停放。如果停车场已放满N辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排放在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在他之后进来的车都必须先退出停车场为它让路,等待其开出停车场后,这些车辆再依原来次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离开,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序。

二.需求分析

停车场采用栈式结构,停车场外的便道采用队列结构(即便道就是等候队列)。

停车场的管理流程如下:①当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈(车辆进入停车场);如果停车场已满,则车辆进入等候队列(车辆进入便道等候)。②当车辆要求出栈时,该车到栈顶的那些车辆先弹出栈(在它之后进入的车辆必须先退出车场为它让路),再让该车出栈,其他车辆再按原次序进栈(进入车场)。当车辆出栈完毕后,检查等候队列(便道)中是否有车,有车则从队列头取出一辆车压入栈中。

三.总体设计

采用面向对象设计方法:先抽象出类,再分析每个类有哪些成员变量,每个类应该实现哪些功能(即应该有哪些成员函数)。最后,根据要求实现类的成员函数,完成该模拟的逻辑设计和实现。

四.详细设计

#include #include #include

#define MAX 2 /*车库容量*/ #define price 0.05 /*每车每分钟费用*/ typedef struct time{ int hour;int min;}Time;/*时间结点*/ typedef struct node{ char num[10];Time reach;Time leave;}CarNode;/*车辆信息结点*/ typedef struct NODE{ CarNode *stack[MAX+1];int top;}SeqStackCar;/*模拟车站*/ typedef struct car{ CarNode *data;struct car *next;}QueueNode;typedef struct Node{ QueueNode *head;QueueNode *rear;}LinkQueueCar;/*模拟通道*/

void InitStack(SeqStackCar *);/*初始化栈*/ int InitQueue(LinkQueueCar *);/*初始化便道*/ int Arrival(SeqStackCar *,LinkQueueCar *);/*车辆到达*/ void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *);/*车辆离开*/ void List(SeqStackCar,LinkQueueCar);/*显示存车信息*/

void main(){ SeqStackCar Enter,Temp;LinkQueueCar Wait;int ch;InitStack(&Enter);/*初始化车站*/ InitStack(&Temp);/*初始化让路的临时栈*/ InitQueue(&Wait);/*初始化通道*/ while(1){ printf(“n1.the car arrive”);printf(“ 2.the car leave”);printf(“ 3.the schedule ”);printf(“ 4.outn”);while(1){ scanf(“%d”,&ch);if(ch>=1&&ch<=4)break;else printf(“nplease choose: 1|2|3|4.”);} switch(ch){ case 1:Arrival(&Enter,&Wait);break;/*车辆到达*/ case 2:Leave(&Enter,&Temp,&Wait);break;/*车辆离开*/ case 3:List(Enter,Wait);break;/*列表打印信息*/ case 4:exit(0);/*退出主程序*/ default: break;} } }

void InitStack(SeqStackCar *s)/*初始化栈*/ { int i;s->top=0;for(i=0;i<=MAX;i++)s->stack[s->top]=NULL;} int InitQueue(LinkQueueCar *Q)/*初始化便道*/ { Q->head=(QueueNode *)malloc(sizeof(QueueNode));if(Q->head!=NULL){ Q->head->next=NULL;Q->rear=Q->head;return(1);} else return(-1);} void PRINT(CarNode *p)/*打印出站车的信息*/ { int A1,A2,B1,B2;printf(“nplease input thedepart time:/**:**/”);scanf(“%d:%d”,&(p->leave.hour),&(p->leave.min));printf(“nthe number of the car:”);puts(p->num);printf(“nthe time the car arrive: %d:%d”,p->reach.hour,p->reach.min);printf(“the depart time: %d:%d”,p->leave.hour,p->leave.min);A1=p->reach.hour;A2=p->reach.min;B1=p->leave.hour;B2=p->leave.min;printf(“nthe fee: %2.1f元”,((B1-A1)*60+(B2-A2))*price);free(p);} int Arrival(SeqStackCar *Enter,LinkQueueCar *W)/*车辆到达*/ { CarNode *p;QueueNode *t;p=(CarNode *)malloc(sizeof(CarNode));flushall();printf(“ninput the number of the car(例:陕A1234):”);gets(p->num);if(Enter->toptop++;printf(“nthe place of the car.”,Enter->top);printf(“nthe time thecar arrive:/**:**/”);scanf(“%d:%d”,&(p->reach.hour),&(p->reach.min));Enter->stack[Enter->top]=p;return(1);} else /*车场已满,车进便道*/ { printf(“n该车须在便道等待!”);t=(QueueNode *)malloc(sizeof(QueueNode));t->data=p;t->next=NULL;W->rear->next=t;W->rear=t;return(1);} } void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W){ /*车辆离开*/ int i, room;CarNode *p,*t;QueueNode *q;/*判断车场内是否有车*/ if(Enter->top>0)/*有车*/ { while(1)/*输入离开车辆的信息*/ { printf(“n请输入车在车场的位置/1--%d/:”,Enter->top);scanf(“%d”,&room);if(room>=1&&room<=Enter->top)break;} while(Enter->top>room)/*车辆离开*/ { Temp->top++;Temp->stack[Temp->top]=Enter->stack[Enter->top];Enter->stack[Enter->top]=NULL;Enter->top--;} p=Enter->stack[Enter->top];Enter->stack[Enter->top]=NULL;Enter->top--;while(Temp->top>=1){ Enter->top++;Enter->stack[Enter->top]=Temp->stack[Temp->top];Temp->stack[Temp->top]=NULL;Temp->top--;} PRINT(p);/*判断通道上是否有车及车站是否已满*/ if((W->head!=W->rear)&&Enter->tophead->next;t=q->data;Enter->top++;printf(“n便道的%s号车进入车场第%d位置.”,t->num,Enter->top);printf(“n请输入现在的时间/**:**/:”);scanf(“%d:%d”,&(t->reach.hour),&(t->reach.min));W->head->next=q->next;if(q==W->rear)W->rear=W->head;Enter->stack[Enter->top]=t;free(q);} else printf(“n便道里没有车.n”);} else printf(“n车场里没有车.”);/*没车*/ } void List1(SeqStackCar *S)/*列表显示车场信息*/ { int i;if(S->top>0)/*判断车站内是否有车*/ { printf(“n车场:”);printf(“n 位置 到达时间 车牌号n”);for(i=1;i<=S->top;i++){ printf(“ %d ”,i);printf(“%d:%d ”,S->stack[i]->reach.hour,S->stack[i]->reach.min);puts(S->stack[i]->num);} } else printf(“n车场里没有车”);} void List2(LinkQueueCar *W)/*列表显示便道信息*/ { QueueNode *p;p=W->head->next;if(W->head!=W->rear)/*判断通道上是否有车*/ { printf(“n等待车辆的号码为:”);while(p!=NULL){ puts(p->data->num);p=p->next;} } else printf(“n便道里没有车.”);} void List(SeqStackCar S,LinkQueueCar W){ int flag,tag;flag=1;while(flag){ printf(“n请选择 1|2|3:”);printf(“n1.车场n2.便道n3.返回n”);while(1){ scanf(“%d”,&tag);if(tag>=1||tag<=3)break;else printf(“n请选择 1|2|3:”);} switch(tag){ case 1:List1(&S);break;/*列表显示车场信息*/ case 2:List2(&W);break;/*列表显示便道信息*/ case 3:flag=0;break;default: break;} } }

程序运行过程:

1。主系统程序

2.选择所需系统

存储完毕程序继续进行。

选择2为车辆离开启动程序:

选择4退出程序。

五.总结

通过该实例的设计分析,掌握了模块设计的方法,理解和运用了结构化程序设计的思想和方法。掌握和提高了利用C语言进行编程设计的能力。

篇2:数据结构课程设计-停车场管理

1.还原数据库

a--打开 开始菜单管理系统数据库配置

b--弹出配置数据库及连接数据库参数

c--点击“配置数据库连接参数”,然后设置数据库连接参数,数据库类型选择“MSS Microsoft SQL Server 6.X/7.X/2000”,服务器名称输入电脑名字或电脑IP地址,登陆名ID输入sa,登陆密码如果安装SQLServer 2000时候登陆数据库密码是选择空密码就不需要输入密码,如果安装数据库时候要密码,则这里输入安装SQLServer 2000时候的登陆数据库密码,数据库名称输入carsafe,然后点击“保存连接参数”,此时不要测试连接,因为carsafe数据库还没还原到数据库中

d--保存连接参数后,点击退出,然后点击“还原数据库”

e--然后点击备份文件名的后面“”按钮,在弹出对话框中,选择程序安装路径下有个DB文件夹里面的carsystemdb.bak文件,然后点打开

f--回到还原数据库界面,点击“还原数据库”,程序开始还原数据库了 g--数据库还原成功会弹出一个提示对话框,成功后关闭此数据库配置系统

2.设置数据库自动备份

a--打开 开始菜单SQL Server企业管理器,数据库中就会有carsafe数据库了

b--接下来设置一下数据库每天自动备份,在企业管理器中,点击管理,然后点击数据库维护计划,在数据库维护计划点击右键,选择“新建维护计划” c--弹出的向导点击下一步

d--选择管理系统的数据库carsafe,然后点击下一步

e--数据优化信息界面直接点击下一步

f--检查数据库完整性直接点击下一步

g--指定数据库备份计划,先点击更改按钮

h--弹出对话框中发生频率选择每天,然后按照图中设置后点击确定 j--回到指定数据库备份计划,点击下一步

k--备份目录界面,先去安装路径下新建一个dbbackup文件夹,然后选择使用此目录,同时选择删除早于此时间的文件设置8周,即保留最近两个月每天备份的数据库,然后点击下一步

l--指定事务日志备份计划界面直接点击下一步

m--要生产的报名界面直接点击下一步

n--维护计划历史记录界面直接点击下一步

篇3:数据结构课程设计-停车场管理

由于立体车库对于系统的安全要求特别高,要求每一个车位都能准确地停靠到位,控制准确、安全;所以应对其整体稳定进行计算,在根据设计要求对各部件初步选型后,还应进行力学校核,保证选择的合理性。取送装置设置在搬运器上时,由统一设置在搬运器上的取送装置存取车辆使立体车库性能良好、动作灵活、操作方便、故障率低、维护简单方便,满足了生产的需要,并保证了搬运器工作时运行的平稳性要求。

1.绕绳轮2.提升平台3.钢丝绳4.垂直架体5.绕绳卷筒支撑座6.绕绳卷筒7.传动轴支撑座8.传动轴9.输出轴10.横移小车11.减速箱12.提升电机13.电气安装台

2 智能立体停车库搬运器框架的弯矩和挠度

如图1,智能立体停车库搬运器门架是搬运器的主要结构物,在门架上安装有卷扬、走行等机械装置,以及配置有电气控制开关、控制装置、配线等。

搬运器的矩形门架是超静定结构。这里按角变位移法解如下(搬运器门架的设计计算参数):Q1-上梁及附件重量;Q2-货台、货物、附件及搭乘人员的总重量;Q3-电气控制盘的重量;Q4-卷扬装置的重量;q-柱的单位长度的平均重量;

作用在门架上的惯性力:Hi=(β/g)Qi及qh1β/g(β:减速度,g=9.8m/s[2])

h1~h4-下梁中心线分别到Q1~Q4的中心高度;l-立柱的中心距;I1-立柱AB、DC的断面惯性距;θ-上梁与下梁端部的偏转角;R-因构件两端变位产生的弯矩;E-纵弹性模量;C-由构件的中间载荷在杠端产生的弯矩,称为载荷项。

K1=I1/h1-立柱的刚度;K=I/l-上下梁的刚度;n=K/K1-刚度比;M-弯矩。

3 由于水平载荷产生的弯曲

作出作用于框架结构的惯性力图解见图2。

解上面各式,可先求出θ″A、θ″B、θ″C、θ″D、R″。

再求出上下梁及立柱的内力

由水平载荷产生的弯矩,可利用图2叠加得出:

又由节点方程式可得

门架立柱端部的线变位δ:

3.1 由行走车轮的反力产生的弯矩(受力分析图如下)列出角变位移方程式:

固端弯矩:C=V·α

V:走行车轮的反力,按1/2(搬运器总重量+载重)求出。

3.2 当有载荷作业时产生的弯矩

由于需存取车作业,在门架上及与走行方向成直角的方向增加了弯矩,产生了挠度。但是,此弯矩相比前两种相差很大,而且不会在伸出的情况下走行,所以可以认为最大弯矩为M1和M2合成的弯矩。

4 设计数据计算校核

4.1 门框架结构的设计数据如下

上下梁(槽钢200×90×8,I=8360cm[4])

柱(290×7.9矩形钢管44角钢,I=19014cm[4])

搬运器总重量(自重+载重)=2000kg

载重增加25%作为试验载荷,为500×(1+25%)=625kg

关于载荷的补加系数,对搬运器的冲击系数ψ=1.4,作业系数M*=1.1。则载荷组合为M*(SG+SL+SH)。

4.2 各部分的弯矩

固端弯矩:CAB=24.9Nm,CBA=28.6Nm,CCD=57.4Nm,CDC=34.5Nm。

走行停止时产生振动的立柱上端的线变位:

(注:δ值容许范围一般在25~50mm,符合要求)由水平载荷产生的各部分的弯矩:

MAD1=M*(M′AD+M″AD)=1.1×(186.5+76.5)=289.4Nm MBC1=M*(M′BC+M″BC)=1.1×(170.7+73.4)=266.1Nm MCB1=M*(M′CB+M″CB)=1.1×(178.2+73.4)=276.8Nm MDA1=M*(M′DA+M″DA)=1.1×(176.2+75)=276.3Nm由走行轮的反力产生的各部分的弯矩:

由走行轮的反力产生的各部分的弯矩:

固端弯矩:C=4906×45=220.8Nm

因此:MAB2=87.4Nm,MBA2=28.2Nm,MDA2=133.4Nm

最大弯矩:MAB=-289.4+87.4=-201Nm

4.3 结构构件的弯曲应力

上下梁的断面系数Z=498cm[3],柱的断面系数Z1=789cm[3]

随着搬运器往复运动,这些应力交变出现,在下梁A和D点产生最大应力振幅。如用应力比法,则K=-28.70/82.30=-0.35,按切口分类为a,可查出疲劳许用应力为125MPa。故能满足上述弯曲应力条件。

摘要:智能立体车库搬运器主要由下横梁、载车机构、立柱、上横梁、平运行机构、起升机构、电护装置和电气控制系组成。由于在平移升降起动、停止及加减速时产生的惯性力,搬运器门架在通道的纵向发生挠曲,使整个搬运器门架成为振动体,所以搬运器门架应具有足够的强度和适当的刚度。

关键词:立体车库,搬运器,强度校核计算

参考文献

[1]杨长暌.起重机械[M].北京:机械工业出版社,1982.

[2]刘鸿文.材料力学[M].北京:高等教育出版社,1991.

[3]王连明,陈铁鸣.机械设计[M].哈尔滨:哈尔滨工业大学出版社,1998.

[4]周骥平,王岗.机械制造自动化技术[M].北京:机械工业出版社,2001.

篇4:数据结构课程设计-停车场管理

摘 要:现有旅游课程研究绝大多数是描述性的,尽管内容广泛,但缺少实证调查。本研究在对7位资深旅游教育专家深度访谈以及对在线收集的48份旅游专业教学大纲内容分析的基础上,对我国旅游课程设计进行了实证性探索研究。研究揭示了目前我国旅游课程设计的主要特征以及面临的主要问题,并在实证研究的基础上对政府部门、教育机构与旅游产业提出了相应的政策建议。

关键词:旅游管理;旅游教育;教学法;课程设计

近三十年来随着中国旅游业的迅速发展,中国旅游教育亦迅速发展,最近的中国旅游统计年鉴表明,中国的旅游教育机构发展迅速,总数从2001年的1152所增加到2008年的1775所,专业数量从2001年的311个迅速增加到2008年的810个,但是不管是业界还是学术界都认为中国对旅游专业人才的需求尚未满足[1]。在学术文献中,针对旅游人才供需不匹配的问题进行了广泛的讨论,得到的共识是:旅游专业数量表面充足与实际旅游人才培养不足,其差距存在的主要原因在于课程设计问题[2-4]。中国核心旅游专业期刊《旅游学刊》已经连续多年刊发了旅游教育专刊,其中课程设计相关的话题是讨论最为广泛的一个议题,但是这些旅游课程设计的文章多为思辨性的描述文章,尽管具有一定的广泛性但是缺少扎实的实证调查,所以对中国旅游教育中的课程设计进行探索性的实证研究确有必要。本研究具体探讨中国大学旅游本科课程的内容构成与设计过程;从教育者的角度调查开发旅游本科课程面临的问题;比较中国不同旅游管理本科教学计划,识别中国旅游本科课程在目标、内容与构成方面的异同;为中国旅游本科课程将来的发展提供建议与发展方向。

一、研究方法

本研究采用质性方法,分两个阶段展开。第一个阶段,为了解旅游本科专业课程结构,根究中国国家旅游研究院发布的《中国旅游教育机构统计报告》,选定61所在2000年前设置旅游学院的大学为研究样本,从这些大学官方网站收集到48份本科教学大纲,根据Ring[5]与吴必虎和黎筱筱[6]的学科分类对48份旅游教学计划进行内容分析。第二个阶段,为理解中国旅游管理本科课程设计过程及面临的问题,对资深旅游教育者进行深度访谈。首先根据国内外文献设计访谈提纲,涉及专业发展历史、课程开设状况、课程评估机制、专业之间的异同、课程设计存在的问题。根据大学旅游本科专业开办的历史、学界认可度及其知名度以及区域分布选择北京、天津、大连、上海、广州、重庆等地区10所大学作为便利抽样的样本。首先通过邮件寄发邀请信给这10所大学的旅游学院院长,邀请他们本人或指派一个合适的人接受大约45分钟的面对面的深度访谈,有7个大学愿意接受访谈。本研究所有受访者均为在旅游领域有十余年教研经验的教授,都参与过或者现在仍直接参与所在学院的课程设计,因此本研究的深度访谈仍具有较好的代表性。访谈获得受访者同意后进行了录音。访谈结束后立即对访谈资料进行第一轮的手工编码,把编码的结果与誊录好的访谈文稿发给受访者进行审查,对经过审查的资料进行第二轮的编码作为最终分析使用。深度访谈的同时收集7所大学旅游专业教学计划,旨在比较他们在专业培养目标、课程组成方面的异同。

二、实证结果

1. 旅游本科课程的构成与培养目标

我国旅游本科专业课程的内容构成主要分为三大块——管理课程、旅游课程与会展课程(见表1),其中管理课程是主要部分,所占比例最高。在48个旅游管理专业教学计划中,管理课程所占比例达42.8%,所有6个酒店专业中所占比例达到73.8%,10个会议经济管理专业中所占比例为32.8%。像饭店管理、市场营销、会计学、管理学、餐饮管理、人力资源管理、战略管理、危机管理与财务管理等都归为管理课程。同时,旅游规划、旅行社管理与生态旅游专业核心课程主要为旅游业方面的,其旅游课程在课程总数中所占比例各为53.7%、34.8% 与 88%。但是即使这些课程在旅游课程名目下,有些仍偏向旅游地理学科,比如旅游规划专业开设的区域旅游规划、城乡旅游规划与计算机扶助旅游制图,生态旅游专业开设的旅游生态学、旅游景观生态学与旅游林学等课程。由于中国旅游管理专业属于工商管理一级学科下的二级学科,工商管理一级学科所要求开设的核心课程必须开设出,所以管理类课程所在比例就非常高。20世纪90年代国家鼓励发展旅游教育,一些历史、地理、语言、社会学等学院为了缓解就业压力并促进学院创收纷纷开设旅游专业,尽管专业名称相同,但是他们的师资基本上没有太大变化,这样就使某些专业开设的课程具有明显的原有学科的痕迹。由课程大纲内容分析可以发现会议展览与奖励旅游是中国旅游本科教育中一个相对较新的领域,在所有旅游专业中占课程总数的比例为0—5.6%。

旅游本科课程培养的基本技能主要包括三种类型——沟通技能、服务礼仪与计算机使用,还有少量的学校培养摄影、茶道与自我阅读等能力,但是其他重要的个人技能,比如个人发展、跨文化交流、团队工作与问题解决能力、社会与个人责任方面的知识很少出现在课程计划中。其次,旅游本科课程强调语言能力。不管在中国还是其他很多国家旅游课程中都强调语言能力,绝大部分专业都至少提供一门旅游专业英语课程,有些还提供第二外语作为选修课,种类广泛的语言课程也支持了强调外语的观点:很多大学提供涵盖听说读写至少2个方面的英语课程,有些甚至还把口译作为主要选修课。另外,中国旅游课程对科研方法训练不足。72所院校中只有5所院校提供研究方法方面的课程,三所院校是旅游研究外文文献,其他两所是研究方法与设计,在课程总数的比例为0—1.3%。研究方法课程较低的比例反映了中国旅游本科教育中对科研训练的不足。

2.旅游专业课程设计过程

有4位受访者说他们有一定的规定,隔年修改教学计划并且当准备开设新专业或方向的时候或者增删课程的时候需要经过一个组织良好的程序,通常由学院院长与教授组成一个教学委员会,当决定修改专业计划的时候就召开一个会议。有时候,当教师希望开设或取消某一课程的时候,他(她)要提交一个论证报告或申请,并且由教学委员会讨论。教学委员会把会议决议上报给校教学委员会以表明接收了这种修改。另三所大学的受访者说,尽管当他们决定修改教学计划的时候有一定的程序执行,但是往往由院长或教学院长基于他们个人对旅游业发展变化的认识或教学需要进行修改。

对课程设计过程的访谈结果显示,政府与教育者是课程的决策者并且旅游本科课程的其他利益相关者——业界、在校学生或校友——偶尔参与这个决策过程。只有一个受访者提到他们当开始开设一个新专业高尔夫球管理时试着探寻业界的期望并且与业界人士进行沟通,并且最终从这种沟通中获益良多。因为他们认识到业界对本科生的期望是具有更多的运动管理的知识而不是操作知识,否则基于当前的师资与现有资源他们不可能获得这种认识并且不符合学院既有的教学与研究方向。最终学院考虑到现有的体制与教学资源把业界需要的高尔夫球管理变通为俱乐部管理。三个受访者承认在现有实践下,即使有必要,其他利益相关者也很少能够参与课程设计过程。另一个受访者反映,公立大学甚至没有认识到诸如业界和学生也是利益相关者。因为官方对高等教育机构的评价准则几乎是纯学术的,旅游专业也无不例外,即使旅游学被认为是一种应用性的社会科学并且需要与实践紧密联系。

3. 旅游本科课程设计面临的问题

首先,缺少旅游课程评价与总体质量标准。当问到对中国旅游本科课程的评估与质量标准时,受访者说基本上没有一个专门针对旅游课程的相关标准。

其次,师资紧缺,实习机会缺乏。师资紧缺是7位受访者共同反映的问题,由于没有合格的教员,一些想开设的课程没有开出来。另一个例子就是由于师资缺乏,一名讲师一个学期主讲多门课程,即使有些课程脱离了他们的学术专长。对教师学历的高要求也被认为是师资缺乏的一个原因,有些实践课程或管理层次的课程如果由具有业界经验的教师讲授效果可能更好,但是在我国那些具有实践经验的人通常没有获得较高学历,所以不能在旅游本科教育机构谋取一个教职,这也从某种程度上降低了课程质量。由于用人单位喜欢聘用具有一定实践经验的毕业生,如果旅游本科生在毕业前没有积累足够的实践经验,那么用人单位的这种偏好就会进一步影响到本科生毕业后的就业。

最后,学科定位影响课程设计。现在旅游管理是在管理学目录下,制约了旅游学科的发展,因而也影响旅游本科教育以及课程设计。当旅游业在1978年起步的时候当时中国政府决定促进入境旅游的发展以赚取外汇,旅游专业最初设置在经济学目录下。当兴办旅游企业后如何管理旅游与饭店企业的开始出现,因而教育部1998年高校专业目录调整的时候决定把旅游专业设置在管理学目录下以响应这种需要。但是随着中国旅游业在过去十年里的发展,休闲与游憩开始成为人们日常生活中重要部分,与此同时,休闲研究、旅游社会学与旅游人类学逐渐出现在旅游本科课程中,但是考虑到只有2年的主要课程的学习时间,还要留出来半年到一年给实习与论文写作,其实只剩下一年到一年半的专业课程学习时间,如此短的时间造成很多课程无法开设。

4. 不同高校旅游本科课程设计的比较

专业培养计划显示,绝大部分教学与专业培养目标是按照教育部相关规定与指南制定的。教学计划里面都有相应的运营与管理技能、实务与理论能力方面的类似要求,同样也强调对旅游本科学习打下多学科与跨学科的知识基础。但是,就期望毕业生担任的职位与职业要求的表述方面,每一个专业在某种程度上是有差异的。比如南方某大学的会展专业预期他们的学生毕业后从事会展业的规划、营销与公共关系、谈判、经营与收益管理方面的工作。另一个例子是西南某师范大学旅游管理与酒店管理两个专业在培养目标方面也有差异。对旅游管理的专业培养要求是了解营销、文化与旅游业,能够从事调查、制作计划与促销,擅长写作、数理统计与信息工作;酒店管理对学生的要求是了解管理、文化与商业,能够制定计划,胜任服务与宣传工作,擅长外语、信息技术与沟通工作。同时,某财经大学旅游管理专业要求他们的学生能够从事定性与定量研究,基本了解国际酒店与旅游业实务,也要求他们的毕业生遵守工作道德规范,这一点在其他的专业目标与要求里面没有发现。东部某师范大学要求他们的毕业生胜任旅游行政与企业管理中的高级职位,同时希望他们的学生能够寻找研究缺口,利用可能的研究方法从事调查并且写出可以汇报的研究结果。

开设课程方面,我国旅游本科课程主要是由两个部分组成——通选课与专业课,尽管在专业课下面可能会有不同的单元,比如专业基础课与专业课。专业课的比例比通选课大,占到所有课程总数的50%以上。在西南某师范大学与某财经大学,将毕业论文、实习与社会实践单列,而东部某师范大学与南方某大学则包括在专业课单元里面。四个专业计划里面毕业论文大约都占到毕业要求学分的3%~4%,而社会实践所占的比例在每个教学计划里面都不同,从2.5%到8.2%不等。西南某师范大学分配给社会实践的学分是毕业论文的2倍多,某财经大学教学计划分配给实习与实地研究的学分也比毕业论文多。南方某大学在实习与毕业论文分配的学分一样多,东部某师范大学分配给毕业论文的学分比实习的更多(6∶4)。在四学年里面,对毕业学分的要求从155—180个学分。

旅游本科课程专业课之间的异同。首先,旅游本科主干课程几乎不一样,有些专业把宏观层次的课程,比如旅游心理学、旅游社会学作为他们的专业必修课或专业基础课,但是其他专业把这些课程归为他们的选修课,而有些大学在他们的旅游管理与会展专业都没有提供这两门课。其次,不同专业之间的必修课与选修课名单中提供的课程也不一样。最后,同样专业方向下的课程也有巨大的差异。但是,就旅游管理涵盖的学科范围来说,旅游本科课程的内容有些类似,并且都强调信息技术与礼仪。

三、结论与启示

中国旅游本科课程面临的最重要的问题是资源缺乏与学科地位问题,它需要大学与旅游业之间有紧密的沟通与合作。当前中国的旅游本科课程是现有政策规定与资源的产物,因而这种课程仅仅反映了教育政策的趋向与教育者对外部环境的了解,而不是实际开设效果。目前为止中国学术界对旅游学科的核心知识还没有取得一致意见,对旅游学科核心知识缺少共识可能是旅游课程之间有巨大差异的直接原因,也影响旅游专业培养规格的连贯性。由于中国各地区域差异明显,旅游业的人才需求、教育资源的分配与获得也各有不同,专业之间允许有一定程度的差异,能够使专业较好地适应各个区域及专业的具体情况。各具特色的旅游专业才能更好地促进中国旅游高等教育的总体发展。

从文献与上述讨论得出几点启发与建议:政府方面,建议下放课程设计的主导权,给大学自主权设计更灵活的课程来响应旅游业需求与变化;同时要给旅游教育特别是旅游高等教育更多的资源,加大旅游教育的研究投入将会提高旅游教育品质,最终提供给旅游业更优良的人力资源。旅游教育机构方面,建议考虑引入全面质量管理与旅游教育认证;成立旅游教育顾问委员会,推动旅游业对旅游教育的参与,增加旅游教育机构与旅游业密切沟通的机会。旅游产业方面,要考虑平衡社会责任感与生产效率,那些业界知名人士应积极介入旅游教育事业,担当起其社会角色,建立一个好的公司形象。

参考文献:

[1] 保继刚,朱峰. 中国旅游本科教育萎缩的问题及出路——对旅游高等教育 30 年发展现状的思考[J]. 旅游学刊, 2008,23(5):13-17.

[2] Gu, H., Hobson, P.The dragon is roaring... The development of tourism, hospitality & event management education in China[J].Journal of Hospitality & Tourism Education, 2008. 20(1): 20-29.

[3] Xiao, H.Tourism education in China: past and present[J]. Asia Pacific Journal of Tourism Research, 1999.4(2): 68 - 72.

[4] Lam, T. , Xiao ,H.Challenges and constraints of hospitality and tourism education in China[J]. International Journal of Contemporary Hospitality Management, 2000. 12(5): 291-295.

[5] Ring, A., A. Dickinger, K. W?ber, Designing the ideal undergraduate program in tourism[J]. Journal of Travel Research, 2009. 48(1): 106-121.

[6] 吴必虎, 黎筱筱.中国旅游专业教育发展报告[J].旅游学刊.2005,19(s1):9-15.

篇5:数据结构课程设计-停车场管理

static boolean isDelete = true;

static boolean isFind = true;

public static void main(String [] args)//主方法,程序从这里开始运行

throws IOException,NumberNotFoundException

{

int choice=-1;

do{

LittleProgram lp = new LittleProgram();

System.out.println();

System.out.println(“t

#”);

System.out.println();

System.out.println(“tt通訊錄管理系统”);

System.out.println(“t

请用号码插入,查找,修改,删除数据”);

System.out.println();

System.out.println(“t

#n”);

System.out.print(“1.增加号码:n”+

“2.查找号码:n”+

“3.删除号码:n”+ “4.清除所有号码:n”+ “5.把号码全部打印到屏幕n”+ “6.把通讯录按号码排序n”+

“7.修改号码n”+

“8.统计通码讯录的总人数n”+

“9.关于作者n”+

“0.退出程序.n” +

“输入:”);

BufferedReader in =

//从终

new BufferedReader(//端接

new InputStreamReader(System.in));//收数

String inputLine = in.readLine();

//字选

choice= Integer.valueOf(inputLine).intValue();//项;

switch(choice)

{

case 1: {//1.增加号码

String str = lp.inputData();

lp.addData(str);

System.out.println(“增加号码成功.”);

timeOut(1);

}break;

case 2: {//2.查找号码

long find = 0;

System.out.print(“请输入你要查找的号码:”);

BufferedReader inn =

new BufferedReader(new InputStreamReader(System.in));

String inputLi = inn.readLine();

find = Integer.valueOf(inputLi).longValue();

lp.findData(find);

timeOut(2);

}break;

case 3: {//3.删除号码

long deleteNumber = 0;

System.out.print(“请输入你想删除号码:”);

BufferedReader bf =

new BufferedReader(new InputStreamReader(System.in));

String inputL = bf.readLine();

deleteNumber = Integer.valueOf(inputL).longValue();

lp.deleteData(deleteNumber);

if(isDelete)

System.out.println(“删除号码成功!”);

timeOut(1);

}break;

case 4: {

lp.clearData();//4.清除所有号码

timeOut(1);

}break;

case 5: {

print();//5.把号码全部打印到屏幕

timeOut(2);

}break;

case 6: {

lp.numSort();//6.把号码按号码排序

System.out.println(“按照号码从小到大排序成功!n”+

“排序后:n”);

print();

timeOut(2);

}break;

case 7: {

lp.rewrite();//7.修改号码

timeOut(2);

}break;

case 8: {

int count = lp.count();

System.out.println(“共有”+count+“个号码记录.”);

timeOut(2);

}break;

case 9: {

System.out.print(“tt李雪萍n”+

“tt安徽理工大學理學院n”+

“ttQQ:1154646392n”);

timeOut(4);

}break;

}}while(choice!= 0);

System.out.println(“Bye!^-^”);

System.exit(0);

}

public String inputData()//从终端接收数据的方法,返回字符串

throws IOException,NumberFormatException

{

System.out.print(“请依次输入 :号码 姓名 地址 生日n” +

“每项数据请用空格隔开:”);

String all = “";

try{

BufferedReader in =

//从终

new BufferedReader(//端接

new InputStreamReader(System.in));

//收数

String inputLine = in.readLine();

//据

StringTokenizer str =

new StringTokenizer(inputLine,” “);//接收的数据用空格隔开,这个类用来提取每个字符串

long num = Integer.valueOf(str.nextToken()).longValue();//号码

String name =(String)str.nextToken();

//姓名

String add =(String)str.nextToken();

// 地址

String birth =(String)str.nextToken();//出生年月

all = String.valueOf(num)+” , “+

name +” , “+

add +” , “+

String.valueOf(birth);//把所有的数据用” , “隔开然后在连起来放进字符串all

}catch(IOException e){}

catch(NumberFormatException e){}

return all;//返回字符串all

}

public void addData(String str)//增加号码的方法

throws IOException

{

String s1 =”“,s2=”“ ,s3= ”“;

File file = new File(”c:data.txt“);

if(file.exists())//如果文件data.txt存在 {

try{

BufferedReader in =

new BufferedReader(new FileReader(file));

while((s1=in.readLine())!=null)

s2+=s1+”n“;//把文件中的每行数据全部放进一个字符串s2

s2+=str+”n“;

//再把s2于形参str相连放进s2

BufferedReader in2 =

//把字符

new BufferedReader(//串s2也

new StringReader(s2));

//就是原

PrintWriter out =

//文件+

new PrintWriter(//形参str(新输入的一行数据)

new BufferedWriter(//重新写进data.txt

new FileWriter(file)));

//覆盖原来的数据

while((s3=in2.readLine())!= null)

{

out.println(s3);

}

out.close();

//System.out.println(”write data true.“);

}catch(IOException e){}

}else{

System.err.println(”File “data” Missing!“);

}

}

public void clearData()//清除data.txt的所有数据的方法

throws IOException

{

File file = new File(”c:data.txt“);

if(file.exists())//如果文件在{

try{

PrintWriter out =

new PrintWriter(new BufferedWriter(new FileWriter(file)));

out.print(”“);//在文件data.txt里写进一个空字符,所以清除了原来的内容

out.close();//关闭文件

System.out.println(”clear data true!“);

}catch(IOException e){}

}else{

System.err.println(”File “data” Missing!“);

}

}

public void deleteData(long deleteNumber)//删除某条号码数据

throws IOException,FileNotFoundException

{

isDelete = true;

try{

DataMap mp = new DataMap();//生成一个自己编写的容器

long j=0;

String s1=”“,s2=”“,s3=”“;

BufferedReader in =

new BufferedReader(new FileReader(”c:data.txt“));

while((s1=in.readLine())!=null)

{

j=numberTokenizer(s1);

mp.put(j,s1);

}

try{

if(mp.containsKey(String.valueOf(deleteNumber).toString()))

{

mp.remove(deleteNumber);

}else

throw new NumberNotFoundException();

Collection c = mp.values();

Iterator iter = c.iterator();

while(iter.hasNext())

{

s1 =(String)iter.next();

s3 +=s1+”n“;

}

BufferedReader in2 =

new BufferedReader(new StringReader(s3));

PrintWriter out =

new PrintWriter(new BufferedWriter(new FileWriter(”c:data.txt“)));

//System.out.println(”delete No“+deleteNumber);

while((s1 = in2.readLine())!=null)

{

out.println(s1);

} out.close();}catch(NumberNotFoundException e){

isDelete = false;

System.out.println(deleteNumber+” no found :(“);

}

}catch(IOException e){}

}

public long numberTokenizer(String s)

throws IOException

{

StringTokenizer st =

new StringTokenizer(s,” “);

return Integer.valueOf((st.nextToken())).longValue();

}

public void findData(long find)//查找数据

throws IOException,NumberNotFoundException

{

isFind = true;

String s = ”“,findString =”“;long i;DataMap dm = new DataMap();BufferedReader in =

new BufferedReader(new FileReader(”c:data.txt“));

while((s=in.readLine())!=null)

{

i=numberTokenizer(s);

dm.put(i,s);

}

//in.close();

try{

if(dm.containsKey(String.valueOf(find).toString()))

{

findString = dm.get(find);

System.out.println(”学号“+find+”学生的资料是:“);

System.out.println(findString);

}else

throw new NumberNotFoundException();

}catch(NumberNotFoundException e){

System.out.println(find+” no found :(“);

isFind = false;

}

}

public static void print()//读取文本文件把数据打印到终端的方法

throws IOException

{

try{

BufferedReader in =

new BufferedReader(new FileReader(”c:data.txt“));

String read = ”“;

while((read = in.readLine())!=null)

System.out.println(read);

}catch(IOException e){}

}

public static void timeOut(double sec)//停顿短暂时间的一个方法完全可以不要这个功能

{

double seconds = sec;

long t = System.currentTimeMillis()+(int)(seconds*1000);

while((System.currentTimeMillis())

;

}

public void numSort()//按学号排序

throws IOException

{

long i = 0;

String s = ”“;

try{

DataArrayList dal = new DataArrayList();

BufferedReader in =

new BufferedReader(new FileReader(”c:data.txt“));

while((s=in.readLine())!=null)

{

i=numberTokenizer(s);

dal.add(i);

}

Collections.sort(dal);

DataMap dm = new DataMap();

BufferedReader in2 =

new BufferedReader(new FileReader(”c:data.txt“));

while((s=in2.readLine())!=null)

{

i=numberTokenizer(s);

dm.put(i,s);

}

PrintWriter out =

new PrintWriter(new BufferedWriter(new FileWriter(”c:data.txt“)));

Iterator it = dal.iterator();

long temp = 0;

String tempStr = ”“;

while(it.hasNext())

{

temp = Integer.valueOf((String)it.next()).longValue();

tempStr = dm.get(temp);

out.println(tempStr);

}

out.close();

}catch(IOException e){}

}

public void rewrite()

throws IOException,NumberNotFoundException

{

try{

System.out.print(”请输入你要修改的学生号码:“);

BufferedReader in =

new BufferedReader(new InputStreamReader(System.in));

String inputLine = in.readLine();

long num = Integer.valueOf(inputLine).longValue();

findData(num);

if(isFind)

{ deleteData(num);System.out.print(”请重新输入该号码:“);String str = inputData();

addData(str);

System.out.println(”rewrite true!“);

}

}catch(IOException e){}

catch(NumberNotFoundException e){}

}

public int count()

throws IOException

{

DataArrayList dal = new DataArrayList();

try{

String s = ”“;

long i =0;

BufferedReader in =

new BufferedReader(new FileReader(”c:data.txt“));

while((s=in.readLine())!=null)

{

i=numberTokenizer(s);

dal.add(i);

}

}catch(IOException e){}

return dal.size();

} } /* *

* @author RangWei * TODO 这是个写的一个容器,继承公共类HashMap * 大概的功能就相当一个数组

*

*/ class DataMap extends HashMap//一个存储数据的Map

{

public void put(long i,String str)//把学号和数据放进这个Map

{

//以后一个学号(key)对应的是一个人的数据(value)

put(String.valueOf(i).toString(),str);

}

public void remove(long i)//接收学号,然后删除学号(key)和它对应的数据(value)

{

remove(String.valueOf(i).toString().toString());

}

public String get(long i)//接收一个学号,然后返回这个key对应的value

{

String s = String.valueOf(i).toString();

if(!containsKey(s))

{

System.err.println(”Not found Key: "+s);

}

return(String)get(s);

} } /*

*

* @author RangWei * * TODO 这个类继承ArrayList * 用来按数字排序,在用号码排序时要用到它

*

*/ class DataArrayList extends ArrayList {

public void add(long num)

{

String numToString = String.valueOf(num).toString();

add(numToString);

} } /* *

* @author RangWei * * TODO 增加的一个Exception,主要是在文件里没有要找

* 的号码就抛出

*

*/ class NumberNotFoundException extends Exception {

public NumberNotFoundException()

篇6:数据库课程设计工资管理系统.

组员:廖翔, 刘小芳, 强江波, 张晶晶,冯兆强,夏冲 组长 :刘小芳 需求分析员 :张晶晶

程序员 :廖翔 , 刘小芳 , 强将波 测试员 :冯兆强 界面设计员 :夏冲 目录

一 绪论 ··········································3 二 课程设计说明····································3 三 需求分析·········································4 四 物理结结构设计···································5 五 数据字典·········································5 六 数据库设计·······································10 七 功能实现截图·····································11 八,小结············································21 附录 1.(组员及学号

廖翔(,刘小芳(41009040127,冯兆强(, 张晶晶(41009040130,夏冲(,强将波(2.开发环境说明

使用 C#进行客户端应用程序的开发,数据库管理系统采用 SQL SERVER

一、绪论

随着计算机技术的飞速发展和经济体制改革的不断深入, 传统企业管理方法、手段以及 工作效率已不能适应新的发展需要, 无法很好地完成员工工资管理工作。提高公司企业管理 水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 C#与 SQL server 数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等 功能, 功能比较的齐全, 并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理 员和公司的要求。

此次数据库课程设计的主要设计如下: 原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。二.课程设计说明

1.设计题目:工资管理系统 2.设计任务与要求: 2.1实验任务

1.掌握数据库设计和实现的基本过程 2.掌握数据库模式设计、分析和实现的方法 3.了解数据库应用系统软件开发的一般过程。2.2 实验基本要求(1学习相关的预备知识

(2按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运 行

(3写出课程设计报 3.目的

本说明书目的在于明确说明系统需求,界定系统实现功能的范围, 指导系统设计以 及编码。本文档作为人力资源管理系统的需求说明文档,用于与用户确定最终的目标, 并成为协议文本的一部分,同时也是本系统设计人员的基础文档。

4.背景 工资管理系统

工资管理部门希望建立一个数据库来管理员工的工资。要计算员工的工资, 就需要考虑 不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。必须指明给每个员工 发薪水的方式, 随着时间的推移, 方式可能会有些改变。大多数的员工是通过银行卡来结算 工资的, 但是也有一部分人使用现金或支票。如果是通过银行卡, 就需要知道账号和卡的类 型。付款方式只可能是一种方式。有几种原因可以扣除工资:例如,个人所得税、国家税、医疗保险、退休保险或者预付款。

5.主要包括三大功能模块: 1.登录界面选择 [员工登录 ]即可进入 [员工登陆界面 ], 选择 [管理员登陆 ]即可进入 [管理员 登录界面 ]。

2.管理员功能模块。3.员工功能模块.6.操作说明

6.1 无论是管理员还是员工,操作都以员工编号来进行。

6.2 管理员可以对员工基本信息增、删、查、改, 员工只能对本人基本信息和工资信息查询。三.需求分析

1.功能需求分析: 该通用工资管理系统具备下列功能:登录界面选择 [员工登录 ]即可进入 [员工登陆界面 ], 选 择 [管理员登陆 ]即可进入 [管理员登录界面 ].管理员通过输入用户名和密码进下该系统后, 可以进行一些基本查询(员工个人信息查 询 , 员工工资信息查询 , 修改(修改员工基本信息 , 修改工资信息 , 删除(员工个人资料删除 , 员工工资信息删除 , 录入(员工资料录入 , 员工工资资料录入;;通过输入密码,可以进行 查询员工的数据(工资,奖金津贴,加班情况。

员工通过输入用户名和密码即可进入系统 , 可以进行查询(查询个人基本信息和工资信 息.2.数据流需求分析:

数据库 数据库需求分析——数据流图 四.物理结构设计 1.系统模块划分

五.数据字典 2.1表字典

2.2表字段字典

六.数据库设计 1.建表 : EmpInfoTable(Id[主键 ],Name,Position,Status;SalaryInfoTable(Id主键 ],Name,Prize,Pasepay,RetirementInsurance,Income,Stute,Medical, Dayleave,Deduced,Paytpe,CardNumber,Cardtype,GrossSalary,NetSalary,Date;(1 员工基本信息表 :(2员工工资表 :

七.功能实现截图 1.登录界面

2.管理员部分 :(1管理员登陆界面

(2管理员功能选择界面

(3.录入员工基本信息界面(4录入员工工资信息

(5.修改功能选择界面

A.修改员工基本信息

B.修改工资信息

(6.管理员查询界面 A.查询功能选择界面

B.查询员工基本信息

C.查询工资信息

(7.管理员查询界面 A.功能选择界面

B.管理员修改员工个人信息

C.管理员修改员工工资界面界面

(8.管理员删除界面 A.功能选择界面

B.删除员工个人信息及工资信息界面

C.删除员工工资信息界面

3.员工功能界面(1.员工登录界面

(2.员工功能选择界面

(3.员工查询本人基本信息(4.员工查询本人工资信息 4.测试分析 4.1 更改员工资料不可以更改身份。4.2 修改员工工资信息一旦失败 就会把原有信息删除。4.3 管理员固定,且只有一个。八.小结 该工资管理系统总体说来功能比较齐全,管理

员和员工的一些基本的功能 都已经具备; 数据库的设计方面,建有员工表、工资表。数据库中存在一些问题,如数据冗余,不够完善。但在做课程设计的过程中也遇到很多问题,一开始时其中最大的问题是数 据库的连接部分,该部分直接影响到数据库与应用程序接口实现,而且必须注意 数据库数据库的名称与连接数据库的取名以致.后来经过大家的合作努力解决了 这个问题.在编写程序时,确实也遇到了很多困难,后来经过调试后终于把自已想 到实现的功能一步步实现了,通过这次课程设计使我收获了好多,熟悉了 C#的 运用,还复习了数据库相关语句的编写。此次课程设计让我感受颇多:做一个数据库其实是一件很有趣的事情。想到

上一篇:对医生感谢信范文下一篇:孩子生日宴会简短致辞