粘的有点乱,凑合看吧。毕业论文(设计)开题报告 论文题目 学生管理系统设计与实现 学生姓名 学 号 专 业 指导教师 职 称 学 历 开题报告文献综述)内容: 一、开发背景 学校学生信息管理是学校教务管理中的一个极为重要的环节,它是整个学校管理的核心和基础。现在我国的大中小学校档案的管理水平还停留在纸介质的基础上,这样的机智已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被以计算机为基础的信息管理所取代。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公室带来极大的方便。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。 二、选题的意义 通过学生管理系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。 三.系统研究内容 此学生信息管理系统需要完成的功能主要有: ● 有关学籍信息的输入,包括学生基本信息、所在班级、所学课程和成绩等. ● 学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等. ● 学生信息的修改. ● 班级管理信息的输入,包括班级设置、年级信息等. ● 班级管理信息的查询. ● 班级管理信息的修改 ● 学校基本课程信息的输入. ● 学校课程信息的修改. ● 学校课程的设置和修改. ● 学生成绩的输入. ● 学生成绩信息的修改 ● 学生信息的查询. ● 学生信息的统计. 四、毕业设计思路框架 (一)设计方法 1.查询相关资料,了解本系统的研究意义。可以上网搜索或者是去图书馆查阅相关资料。 2.通过查询资料了解该系统要如何做,及要做哪些东西。 3.设计出大体上的功能模块,画出模块图。 4.通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。制定出每一步的做法和注意的地方。 5.对设计好的程序进行调试,通过调试发现存在的问题并解决,从而达到完善系统的目的。 6.最后,整理各阶段的设计记录文档,写成论文稿。 开发工具开发工具开发工具开发工具 选用设计语言 目前的可用的设计技术在设计此类系统上的数据库技术已经非常成熟,可提供的开发工具也很多,例如:Visual C++ ,Visual Basic,PowerBuilder,Dephi, visual foxpro等,它们都是很好的数据库开发工具,都是可视化开发工具,功能强大,开发容易,开发周期短,对于本任务都能够胜任。 Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。 总的来说,Visual Basic具有以下特点: 可视化编程: 用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。 面向对象的程序设计 版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。 结构化程序设计语言 Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。 Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。 选用ACCESS作为后台数据库 ACCESS2000 就是关系数据库管理工具,数据库能汇集各种信息以供查询、存储和检索。ACCESS 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel的电子表格,可以使数据库一目了然。另外,ACCESS允许创建自定义报表用于打印或输出数据库中的信息。ACCESS也提供了数据存储库,可以使用桌面数据库文件把数据文件置于网络文件服务器,与其他网络用户共享数据库。ACCESS 是一种关系数据库管理工具,关系数据库是已开发的最通用的数据库之一。如上所述,ACCESS 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 (三)设计要求 数据库相关理论。汽车租赁管理是一个典型的数据库管理信息系统,系统的开发用到许多数据库相关的理论,因此要求作者具有这方面的基础知识,能够正确运用数据库理论进行系统的分析、逻辑设计、实体属性以及ER图等的转换,明白范式的相关内容,从而能够根据系统实际要求,设计出满足要求的合理的数据库。 面向对象理论。当前流行的编程思想是面向对象思想,而且许多工具,如Visual Basic,体现的也正是这种思想。面向对象思想与传统的面向过程编程思想相比,具有明显的优势,而且汽车租赁系统的设计也要求用面向对象编程工具来实现。这就要求作者在进行毕业设计时,应该明白面向对象的思想,并能够运用其思想到实际的工作中。 软件工程思想。大型系统的开发要用到软件工程相关的理论。虽然汽车租赁系统比较小,但是最好也能按照系统设计的生命周期模型来进行。严格按照软件工程思想和管理信息系统的开发步骤,设计并实现一个汽车租赁管理信息系统。以系统开发过程为主线,从需求分析,逻辑设计,总体设计,详细设计以及系统测试、实施各阶段的主要内容和成果,包括系统结构图、业务流程图、数据流程图、E-R模型、数据字典、物理表实现及其关系、功能模块算法流程、界面设计等等。 一定的实际动手能力和实际编程经验。系统最后要落实到windows下的编程,因此要求作者对windows下的数据库编程具有一定的基础,能够较为熟练的进行数据库相关程序的开发。以Microsoft公司的Visual Basic 为开发工具,以ACCESS为后台数据库,对上述逻辑设计的成果进行转换,实现一个完整的可运行的汽车租赁管理系统。 (四)设计环境 硬件环境 随着计算机硬件的高速发展,现在普通的机子已经可以做为一个服务器端使用。 CPU:CⅣ 或更高 硬盘:40G或更多 内存:128M或更高(建议使用256M) 软件环境软件环境软件环境软件环境 操作系统 Windows 2000 Server /Windows XP 网络协议 TCP/IP 数据库 ACCESS 开发语言 VB 其它辅助软件:Microsoft Word等 四、参考文献 [1] 丁宝康:《数据库实用教程》, 清华大学出版社,2004年。 [2] 赛奎春等:《VB数据库开发关键技术与实例应用》,人民邮电出版社,2003年。 [3] 汪诗林等:《数据结构算法与应用》,机械工业出版社,2005年。 [4] 罗征等:《VB 从入门到精通》,电子工业出版社,2004年。 [5] 冯博琴等:《面向对象分析与设计》,机械工业出版社,2003年。 [6] , Gotterer : Visual Basic , 1992. [7] :《Database Principles and Applications》.Williams Brown,2003. 报告人签名: 年 月 指导教师对开题报告指导教师对开题报告指导教师对开题报告((((文献综述文献综述文献综述文献综述))))的评语的评语的评语的评语:::: 指导教师签名: 年 月
汽车租赁是指在约定时间内租赁经营人将租赁汽车交付承租人使用,以取得租赁费用,不提供驾驶劳务的经营方式。 世界汽车租赁业起源于是20世纪的美国,经过半个世纪的发展,目前已经成为全球营业额近千亿美元的一个重要行业。在中国,随着整个社会消费水平的不断提高,汽车租赁从无到有取得了快速发展,虽然仅有十几年的历史,但也表现出巨大的发展潜力和良好的发展前景,特别是汽车租赁业所具有的对于中国汽车工业、汽车流通业、传统运输业,以及旅游业等相关行业发展的带动作用,更是其他行业所无法比拟的。从另一方面看,汽车租赁业在中国尚属起步阶段,租赁营业额较低,行业相关政策法规不配套,而且租赁企业的经营管理水平还有待提高。汽车租赁业对整个社会经济发展的特殊功能和优势尚未发挥出来。 纵观国内外租赁市场状况,对我市汽车租赁市场经营中存在的问题及对策进行如下分析: 一、存在问题 1.行业政策、法律法规不完善,造成行业管理滞后,使企业运作起来无章可循。 2.企业规模小,经营方式单一,管理水平低下。唐山较北京、上海等中心城市的租赁企业经营规模小。汽车租赁业作为资金密集型、科技密集型行业,小作坊式的规模带来的弊端显而易见。车辆周转期短,得不到很好的维护,加之配套设施较差,安全隐患较大。由于服务质量难有大的突破,相互间只能拼价格,造成恶性竞争。科技含量不足,企业或企业间网络化经营难以开展。此外,企业规模偏小,抵御市场经营风险能力也较弱。 3.外部环境制约租赁业发展。这里所讲外部环境一是指社会经济状况,租一辆车的费用每天不少于是200元,对于普通工薪阶层,难以承受,应急而已;二是指社会环境,包括社会治安和公民素质,这些因素关系到经营风险和管理难度,这是多年来汽车租赁企业难以回避的问题,也是制约该行业发展的重要原因。租、盗、逾期不还车、逾期不交费、租金无法收回、超出约定范围行使等屡有发生。在唐山几乎每家租赁企业都遇到过这些事件,有的中小企业因承受不起打击而导致企业倒闭或陷入困境。目前的防范办法就是不断增加对租车者的信誉考证条件使得租赁行业的市场被压缩在极少数消费群体上,但这不仅限制了业务发展,而且仍难以摆脱上述风险的阴影,整个业务过程却由此复杂化,工作效率降低。 二、解决对策 1.通过国家有关部门的努力,逐步建立和完善相应的政策法律法规,创造公平、公正的宏观发展环境。管理部门本着“总量控制,规范管理,规模经营,扶优限劣”的原则开展管理工作,加大宏观调控力度的前提下,增大科技含量。一方面大力培育市场的规范化发展;另一方面加大打击非法经营和服务质量低劣的力度,净化竞争环境。同时争取其他相关国家部门的政策扶持,如物价、税务、公安、金融、保险、修理业。只有这样,汽车租赁业才能真正成为一个新兴产业,为整个国民经济服务。 2.汽车租赁业要不断增强自身实力,提高人员素质,努力改善汽车租赁业自身发展环境,积极与国内其他城市及国际汽车租赁业接轨。加强全国性的联网工作,争取做到属地租车,异地还车业务,加强网络化联系,形成规模,杜绝车欠费等现象的发生,使企业朝着规范化、规模化、正规化、网络话的理念向前发展。 3.汽车租赁业与汽车生产企业之间要加强行业间协作,以利汽车更新换代。如果汽车生产企业与汽车租赁企业能够加强合作,可以说两全其美,互利互惠。对于汽车租赁企业来说,如果汽车生产企业可以像发达国家一样以削价、分期付款等方式销售给汽车租赁公司,将有利于汽车更新换代,提高了竞争力,租赁公司将乐此不疲。另一方面生产企业增大了销售额,也受益匪浅。就目前而言,令租赁公司最头疼也最害怕的事就是汽车降价问题,今天更新的车,明天就可能大幅降价,令公司捶胸顿足,抑制了汽车更新换代。如果生产企业对租赁公司有倾斜政策,能很好地协作,对双方都将很有利。 4.汽车租赁行业应加强自我宣传力度,大力挖掘市场潜力。首先利用媒体等多种手段宣传其不可替代的作用。如:租赁汽车可以解决人们有照无车与出行需要之间的矛盾;可以有效地提高车辆的利用率;可以带动汽车及相关行业的发展;可以缓解现阶段政府机关、单位用车之间的矛盾,节约用车费用;可以满足对社会车辆总量控制的要求,在一定程度上缓解交通拥挤;可以解决婚丧嫁娶、外出旅游、公务商务、会议等用车之急;可以免去购车资金、不必支付保险费、养路费和维修保养费,甚至不需要车库。这一系列好处都要通过宣传让大家了解认可,不断扩大汽车租赁业的知名度,使其像出租车一样走进千家万户。 在中国飞速前进的新时代里,汽车租赁业也一定能够占有一席之地,让我们共同来拓展这条道路。
汽车租赁系统((SSH+MYSQL+JSP))
汽车租赁系统的c语言,数据结构的语言程序 【问题描述】 汽车租赁公司拥有若干种不同类别的汽车,允许持有相应类别驾照的顾客租赁汽车,按照租赁的汽车类型和租赁的时间进行收费,租赁最长时间不能超过一周;若延迟归还,则按延迟的时间进行罚金处理。 其中,汽车信息包括:汽车编号、类别、收费标准、库存数量、延迟归还罚金标准;(汽车类别分为A、B、C三类,收费标准每天分别为:400、300、200元,延迟归还的罚金标准分别为:每天600、500、400元。) 顾客租赁信息包括:顾客编号、顾客名、驾照类别(A、B、C三类)、租赁的汽车编号、租赁天数、延迟归还的天数)。 主要用到的知识点有:结构体、线性表、函数 【基本要求】 设计一个汽车租赁管理系统,能够完成以下功能: 查询并显示汽车信息、顾客的租赁信息 顾客租赁汽车:首先检查顾客驾照类别,然后查询相应类别的汽车数量,若可租赁,则添加顾客信息、同时修改汽车库存量。 顾客归还汽车:首先检查归还日期并计算费用,然后删除该顾客的租赁信息表、修改汽车库存量。 系统以菜单的方式工作:运行界面可选择要执行的操作是查询?租赁还是归还? 【测试数据】由读者自行设定编译器是VC6 #include<> #include<> #include<> #define MaxNum 20 typedef struct A{ int No; /*车辆编号*/ char Type; /*车类型*/ int Payment;/*租费*/ int fine; /*罚金*/ struct A *next;/*指向下一个结点*/ } car; typedef struct B{ int No; /*顾客编号*/ char Name[20]; /*顾客姓名*/ char License; /*执照类别*/ int carNo; /*租凭的车辆编号*/ int Day; /*租的天数*/ int DelayDay;/*延迟的天数*/ struct B *next; } client; struct C{/*这个结构体是车辆链表的头结点,A,B,C每种类型有一种*/ char Type;/*车辆型号*/ int avl; /*可用数*/ car *head;/*指向车辆结点*/ } headNode[3]={{'A',MaxNum,NULL},{'B',MaxNum,NULL},{'C',MaxNum,NULL}} ; client *allClien=NULL; int pay[3]={400,300,200},fine[3]={600,500,400}; void init();/*初始化*/ int menu();/*简单菜单界面*/ void search();/*查询*/ void carSc(); /*查询车辆*/ void clientSc();/*查询顾客*/ void rent(); /*租车*/ void giveback();/*还车*/ void addCli(client *cli);/*向顾客链表增加顾客*/ client* delCli(int clientNo);/*从顾客链表删除一个顾客*/ void addCar();/*向车辆链表归还车辆*/ car* delCar();/*从车辆链表拿出一辆车*/ void Exit();/*退出*/ void main() { init(); while(1) { switch(menu()) { case 1:search();break; case 2:rent();break; case 3:giveback();break; case 4:Exit(); default:; } } } void init() { int i; car *ptr,*pa=headNode[0].head,*pb=headNode[1].head,*pc=headNode[2].head; for(i=1;i<=MaxNum;i++) { ptr=(car *)malloc(sizeof(car)); ptr->No=100+i; ptr->Type='A'; ptr->Payment=400; ptr->fine=600; pa=ptr; pa=ptr->next; ptr=ptr=(car *)malloc(sizeof(car)); ptr->No=200+i; ptr->Type='B'; ptr->Payment=300; ptr->fine=500; pb=ptr; pb=ptr->next; ptr=(car *)malloc(sizeof(car)); ptr->No=300+i; ptr->Type='C'; ptr->Payment=200; ptr->fine=400; pc=ptr; pc=ptr->next; } pa=NULL;pb=NULL;pc=NULL; } int menu() { int choice; printf("\n\n\n选择服务:1.查询 2.租车 3.归还 4.退出\n"); scanf("%d",&choice); while(choice!=1&&choice!=2&&choice!=3&&choice!=4) { printf("\n输入有误,重新输入:"); scanf("%d",&choice); } return choice; } void search() { int choice; printf("\n你想查询:1.汽车 2.顾客 3.返回 \n"); scanf("%d",&choice); while(choice!=1&&choice!=2&&choice!=3) { printf("\n输入有误,重新输入:"); scanf("%d",&choice); } switch(choice) { case 1:carSc(); break; case 2:clientSc(); break; case 3: ; default:; } } void carSc() { printf("\n\n所有汽车信息:\n"); printf("\nA类汽车还剩%d辆.\nB类汽车还剩%d辆.\nC类汽车还剩%d辆.", headNode[0].avl,headNode[1].avl,headNode[2].avl); } void clientSc() { client *ptr=allClien; printf("\n\n所有顾客信息:\n"); while(ptr!=NULL) { printf("\n\n顾客编号:%d",ptr->No); printf("\n顾客姓名:%s",ptr->Name); printf("\n驾照类型:%c",ptr->License); printf("\n租赁车号:%d",ptr->carNo); printf("\n租赁天数:%d",ptr->Day); printf("\n延迟天数:%d",ptr->DelayDay); ptr=ptr->next; } } void addCli(client *cli) { if(allClien) allClien=cli; else { cli->next=allClien->next; allClien=cli; } } client* delCli(int clientNo) { client *ptr,*prePtr;; ptr=allClien; while(ptr!=NULL&&ptr->No!=clientNo) { prePtr=ptr; ptr=ptr->next; } if(ptr!=NULL) { if(ptr==allClien) { allClien=NULL; } else { prePtr->next=ptr->next; } } return ptr; } void rent() { char name[20],type,Yes_No; int num,day,No; car *carPtr; client *cli; printf("\n\n输入执照类型(A/B/C):"); scanf("%c",&type); while(type!='A'&&type!='B'&&type!='C') { printf("输入有误,重新输入:"); scanf("%c",&type); } if(type=='A') num=headNode[0].avl; else if(type=='B') num=headNode[1].avl; else num=headNode[2].avl; printf("\n%c类汽车还剩%d辆,是否要租凭(Y/N):",type,num); scanf("%c",&Yes_No); while(Yes_No!='Y'&&Yes_No!='N'&&Yes_No!='y'&&Yes_No!='n') { printf("Y或N:"); scanf("%c",&Yes_No); } /*增加顾客*/ if(Yes_No=='Y'||Yes_No=='y') { printf("\n输入你的名字:"); scanf("%s",name); printf("\n输入你的租赁天数:"); scanf("%d",&day); } No=rand()%60+200; carPtr=delCar(type); cli=(client *)malloc(sizeof(client)); cli->No=No; strcpy(cli->Name,name); cli->License=type; cli->carNo=carPtr->No; cli->Day=day; cli->DelayDay=0; cli->next=NULL; addCli(cli); /*移出一辆车*/ printf("\n你的顾客编号是:%d",No); printf("\n你所租赁的汽车是%c类车,车号是:%d",type,carPtr->No); printf("\n你的租赁天数是%d天.",day); } void giveback() { int No; long int payment; client *ptr; printf("\n\n顾客编号:"); scanf("%d",&No); if((ptr=delCli(No))==NULL) printf("\n该顾客不存在,无法归还!"); else { switch(ptr->License) { case 1:payment=ptr->Day*400+ptr->DelayDay*600;break; case 2:payment=ptr->Day*300+ptr->DelayDay*500;break; case 3:payment=ptr->Day*200+ptr->DelayDay*400;break; default:; } printf("\n\n顾客姓名:%s",ptr->Name); printf("\n驾照类型:%c",ptr->License); printf("\n租赁车号:%d",ptr->carNo); printf("\n租赁天数:%d",ptr->Day); printf("\n延迟天数:%d",ptr->DelayDay); printf("\n\n所需费用:%ld",payment); addCar(ptr->License,ptr->carNo); free(ptr); } } void addCar(char carType,int carNo) { car *ptr; int index=carType-65; ptr=headNode[index].head; if(ptr==NULL) {ptr=(car *)malloc(sizeof(car)); headNode[index].head=ptr; } else {while(ptr->next) ptr=ptr->next; ptr->next=(car *)malloc(sizeof(car)); ptr=ptr->next; } ptr->No=carNo; ptr->Type=carType; ptr->Payment= pay[index]; ptr->fine=fine[index]; ptr->next=NULL; } car* delCar(char type) { car *rentcar; switch(type) { case 'A':rentcar=headNode[0].head; headNode[0].head=rentcar->next; break; case 'B':rentcar=headNode[1].head; headNode[1].head=rentcar->next; break; case 'C':rentcar=headNode[2].head; headNode[2].head=rentcar->next; break; default:; } return rentcar; } void Exit() { printf("\n欢迎使用.....888888888886666...."); exit(0); }
322 浏览 4 回答
286 浏览 5 回答
116 浏览 7 回答
305 浏览 5 回答
359 浏览 4 回答
230 浏览 2 回答
173 浏览 3 回答
255 浏览 7 回答
300 浏览 4 回答
162 浏览 2 回答
273 浏览 2 回答
261 浏览 3 回答
142 浏览 3 回答
80 浏览 4 回答
297 浏览 3 回答