文档库 最新最全的文档下载
当前位置:文档库 › 中南大学数据库课程设计报告

中南大学数据库课程设计报告

数据库课程设计报告

学院:信息科学与工程学院专业班级:物联网工程1201班指导老师:盛津芳

学号:0909120122

姓名:李浩

日期:2015年1月10日

目录

课程设计要求 (4)

概要设计:(数据库) (6)

概要设计:(程序) (8)

详细设计(数据库) (9)

详细设计(程序) (12)

系统展示 (13)

安全性控制 (20)

关键技术 (21)

心得体会 (21)

《数据库课程设计》任务书

1 任务概述

某医院拟开发一个挂号系统,以方便患者就医,提高医疗服务水平。患者在医院就诊前需要提供姓名、身份证号码、联系电话等个人信息并办理一张诊疗卡,该诊疗卡在每次挂号时需要出示给挂号的工作人员。患者在挂号时,需说明科室名称以及医生的职称。挂号以半个工作日为一个班次,系统中保存各科室门诊医生的排班表,每位医生每个班次能够接诊的病人人数可设置一个上限。

本次课程设计要求设计并实现一个虚拟的医院挂号系统。系统中包含两个子系统,即由医院内部工作人员使用的挂号系统,以及患者使用的网上预约挂号系统。其中网上预约挂号系统的前端要求是浏览器,即采用B/S模式开发。医院工作人员使用的挂号系统采用C/S 模式开发,前端开发工具不限,可采用PowerBuilder, Delphi, VB,VC,Java等。后台数据库要求采用SQL SERVER2005或Oracle 11g及以上版本。

2 功能描述

2.1 医院工作人员使用的挂号系统

该系统仅供医院内部工作人员使用,主要分为挂号人员和系统管理人员两类角色,需提供以下功能:

1)办理诊疗卡。患者提供姓名、身份证号码、联系电话等个人信息,挂号人员为其办理一张长期有效的诊疗卡。

2)挂号。挂号人员根据患者要求的科室、医生职称分配一个候诊号,并收取相应的诊疗费用,诊疗费用根据医生的职称分为不同的档次。医生当班次接诊患者人数

不能超过预先设定的上限。

3)修改挂号。患者可更改就诊的科室,挂号人员根据更改后的科室和医生职称,重新计算诊疗费用的差值,多退少补。

4)查询挂号情况。挂号人员可查询某位医生目前的挂号情况。

5)挂号费当班结转。系统对每个班次收取的挂号费生成相应的统计表,并提供查询功能,包括该班次总的挂号费用、各个挂号人员该班次总的挂号费用、各位医生

该班次总的挂号费用。

6)参数维护。系统管理人员负责维护各种参数,包括科室、医生、医生排班表、号类字典。医生的基本信息、排班表、诊疗费标准、各班次医生接诊人数上限都是

可以修改的,尽量提高系统的灵活性和可扩展性。

7)系统维护。系统管理人员负责管理用户、分配权限、管理密码。

2.2 网上预约挂号系统

该系统供患者使用,需提供以下功能:

1)用户注册。提供注册所需基本信息,必须实名注册。

2)用户可修改注册信息。

3)用户可查询指定时间的某科室的医生排班表。

4)用户可以在网上预约挂号。系统不提供当日预约服务,用户可预约部分科室次日至一个月内的就诊号源。同一患者实名(有效证件号)在同一就诊日、同一科室只能预约一次;在同一就诊日的预约总量不可超过两次;在一个月内的预约总量不可超过三次。

2.3 安全性控制要求

1)所有用户密码在数据库中都要求加密存储。

2)网上预约挂号系统要进行输入验证,防止SQL注入。

3)系统管理员只能进行系统维护和参数维护,不能进行挂号操作。

实验环境:

电脑:联想G460

操作系统:Windows8.1 64位

语言:Java、JavaScript、JSP、HTML、SQL

编程工具:Eclipse IDE for Java EE Developers(Kepler版)

数据库:MySQL 5.6.21

数据库工具:MySQLWorkbench 6.2 CE、navicat

其他工具:Sublime Text 2

概要设计:(数据库)

E-R 图

1

n

1

n

1

n

m

n

医生

级别 安排

科室

病人

挂号 日期

班次

ID

名字

密码 性别 年龄

电话

病情

电话 ID

名字

性别

属于

属于

属于

ID

名称 电话

ID(自增)

ID

名称

挂号费

ID(自增)

日期

班次

除了上面的E-R图,数据库中还有另外三张表,分别是管理员表(Administrator)、员工表(Worker)、结算表(Calculate)

物理模型

用MySQLWorkbench所建

管理员表、员工表、结算表

备注:由于数据库模型是在课设最初建立的,后期根据编程的需求对表结构有了不少修改,虽然后来根据对表的修改已经对Model进行了更新,但可能仍有略微不同

概要设计:(程序)

系统主要功能

管理员更改科室更改职称排班表

管理用户管理密码

详细设计(数据库)

表结构

Doctor 表(医生表)

Patient 表(诊疗卡表)

Arrangement 表(排班表)

Orderregist 表(挂号表)

Calculate 表(结算表)

员工

办理诊疗卡

挂号

修改挂号

挂号结算

DoctorLevel表(级别表)

备注:其他几张表结构太简单,就不一一列举了。

视图

该系统中暂时只用到了一个视图,用于将Doctor表、Arrangement表、Doctorlevel表、Department表Join起来,方便查询。

存储过程

一共用到了4个存储过程

分别是

procedure_calculate:用来结算

procedure_find_registinfo:用来找到挂号信息

procedure_regist:用来挂号

procedure_update_regist:用于修改挂号

下面是procedure_regist的部分代码:

if regcount > 0

THEN

insert into orderregist

V ALUES(null,patId,doId,deId,regDate,regTime,cost,worId,isCalculate);

update arrangement set ArrangeAccptCount = ArrangeAccptCount - 1;

END IF;

这里用来判断剩余的接诊人数是否大于零,如果大于零则能挂号,否则不能。

详细设计(程序)

如上图所示,整个系统写了很多个类,很多个jsp页面,以下介绍一下各个包的功能,然后就几个重要的类简单介绍一下。

Action包:主要是对用户和管理员的Action事件进行处理。

App包:许多个Thread类,用于务器与客户端进行通讯。

Bean包:许多bean类,也是为JavaBean技术服务的重要一部分。

Commom包:许多公共类,包括:

Conf类:通讯协议。

Constants类:SQL语句集合。

Dbcp类:获取数据库连接对象。

Log类:为了调试所用(跟系统功能关系不大)

PageBean类:分页类

Dao包:许多对数据库的操作。

ViewAdmin包:管理员界面包。

ViewWorker包:工作人员界面包。

WebContent中Main包,主要是包含很多JSP页面。

系统展示

C/S端

以员工身份登录后,可以看到如下图所示。

系统中有

诊疗卡的操作、预约挂号、挂号信息的查看与修改、排班表、挂号费结算。

添加诊疗卡的信息

双击表格后,弹出对信息修改界面

预约挂号界面,可以选择挂号的日期已经班次。然后系统会根据时间和班次、科室、级别筛选出医生。

这里可以查到挂号的信息。

排班信息

挂号费的结算(前两条信息是我手动添加的)

以管理员身份登陆后,可以看到如下图所示。

系统中有

科室的操作、医生、排班表、工作人员、诊疗费标准。

可以对诊疗费用进行修改

其他功能大同小异,就不一一列举了。

B/S 端

B/S端登录界面

B/S端主界面

B/S端注册界面

信息查看和修改

查看医生排版表

预约挂号界面

安全性控制

MD5加密

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。

---摘自百度百科

关键代码如下:

private static String encodeByMD5(String originString){

if (originString != null){

try{

MessageDigest md = MessageDigest.getInstance("MD5");

//使用指定的字节数组对摘要进行最后更新,然后完成摘要计算

byte[] results = md.digest(originString.getBytes());

//将得到的字节数组变成字符串返回

String resultString = byteArrayToHexString(results);

String pass = resultString.toUpperCase();

return pass;

} catch(Exception ex){

ex.printStackTrace();

中南大学C++实验报告

《C++程序设计》上机实验报告 上机内容:C++程序的运行环境和运行一个C++程序的方法 数据类型和表达式 专业班级:电气信息类1203班 学号:0909120320 姓名:李湖 日期:2013年3月16日

目录 1.实验目的 2.实验内容 3.程序源码 4.调试结果 5.实验心得

程序设计实验(一) 1、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序 (3)通过运行简单的C++程序,初步了解C++源程序的结构和特点。 应学会在一种以上的编译环境下运行C++的程序,建议学习并 掌握Visual C++ 6.0和GCC(RHIDE和DJGPP)的使用方法。2、实验内容和步骤 (1)检查所用所用的计算机系统是否已安装了C++编译系统,并确定他所在的子目录。如果使用的是Windows操作系 统,可以按以下步骤进行: 如果想查找Visual C++ 6.0,可以单击Windows桌面上“开 始”按钮,在菜单中选择“查找”窗口,在“名称”栏中 输入文件名“Microsoft Visual C++ 6.0”,请注意搜索范围, 应当使“搜索”栏中的内容为“C:\”,表示从C盘根目录 开始寻找,即搜索整个C盘。单击“开始查找”按钮, 系统会自动在指定的范围内找寻所需的文件,如果找到, 就会显示出文件路径,如“C:\Windows 000\Start Mean\Program\Microsoft Visual Studio 6.0,表示在

C:\Windows 000\Start Mean\Program\Microsoft Visual Studio 6.0文件中有Visual C++ 6.0。也可以选择Windows 桌面上的“开始”—>“程序”命令,在其弹出的菜单中 选择“Microsoft Visual Studio 6.0”命令,再在其子菜单中 查有无“Microsoft Visual C++ 6.0”命令。如果在安装时采 用系统提供的默认方式安装,应该在这个位置找到 Microsoft Visual C++ 6.0。 如果想查找RHIDE和DJGPP,只须选择“开始”—>“查找(F)”—>“文件或文件夹(F)”命令,并指定RHIDE 和DJGPP即可。 (2)在Visual C++环境下编译和运行C++程序。 在第一次上机时,按以下步骤建立和运行C++程序: ①先进入Visual C++ 6.0环境。 ②按照第15章15.2节介绍的方法,在自己指定的子目录中 建立一个名为test.cpp的新文件(此事尚未向文件输入内 容)。 ③从键盘输入以下程序(第1章第8题): int main(); { int a,b; c=a+b; cout>>”a+b=”>>a+b;

中南大学微机课程设计报告交通灯课案

微机课程设计报告

目录 一、需求分析 1、系统设计的意义 (3) 2、设计内容 (3) 3、设计目的 (3) 4、设计要求 (3) 5、系统功能 (4) 二、总体设计 1、交通灯工作过程 (4) 三、设计仿真图、设计流程图 1、系统仿真图 (5) 2、流程图 (6) 3、8253、8255A结构及功能 (8) 四、系统程序分析 (10) 五、总结与体会 (13) 六、参考文献 (13)

一、需求分析 1系统设计的意义: 随着社会经济的发展,城市问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏通的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 随着城市机动车量的不断增加,组多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速通道,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速通道,缓解主干道与匝道、城市同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通灯的控制方式很多,本系统采用可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现本系统的各种功能。同时,本系统实用性强,操作简单。 2、设计内容 采用8255A设计交通灯控制的接口方案,根据设计的方案搭建电路,画出程序流程图,并编写程序进行调试 3、设计目的 综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。针对此次课程设计主要是运用本课程的理论知识进行交通灯控制分析及设计,掌握8255A方式0的使用与编程方法,通从而复习巩固了课堂所学的理论知识,提高了对所学知识的综合应用能力。 4、设计要求: (1)、分别用C语言和汇编语言编程完成硬件接口功能设计; (2)、硬件电路基于80x86微机接口;

工程训练总结报告

工程训练总结报告 ——纸上得来终觉浅 为期一学期每周半天的工程训练结束了,还有些恋恋不舍的感觉。在还没有开始实习的时候大家都很积极和热情的想着投入到训练中。然而,实习后,我觉得实习生活和以前想象的不一样了,实习不是一件简单的事。 为期一学期每周半天的工程训练,对我们学土木工科学生来说,也是特别的宝贵。因为这是一次理论与实践相结合的绝好机会,又将全面地检验我们的知识水平然而,实习后,我觉得实习生活和以前想象的不一样了,实习不是一件简单的事,并不是我们想象中的那么简单,金工实习不是一件轻松的事,而是一件劳心劳力的事。在这个短暂的一个学期的实习中,我学到许多在课堂里无法学到的东西,并在意志品质上得到了锻炼。 我们实习的第一天看了有关金工实习的知识和金工实习过程中的注意事项的碟片。这是作为学生的期的实习中,感觉很充实,学到了很多的东西。。 金工实习是培养学生实践能力的有效途径。又是我们大学生、工科类的大学生,十分重要的也特别有意义的实习课。金工实习又是我们的一次实际掌握知识的机会,离开了课堂严谨的环境,我们会感受到车间的气氛。同时也更加感受到了当一名工人的心情,使我们更加清醒地认识到肩负的责任。 钳工 通过碟片的演示和老师的讲解。我终于明白了什么是钳工。同时也懂得了为什么有人说“当钳工是最累的!” 钳工是以手工操作为主,使用各种工具来完成零件的加工、装配和修理等工作。与机械加工相比,劳动强度大、生产效率低,但是可以完成机械加工不便加工或难以完成的工作,同时设备简单,故在机械制造和修配工作中,仍是不可缺少的重要工种。 第一天,来到车间,听完老师的要求,我们需要制作一个小锤子。看了黑板上那看似简简单单的图样,我们便开始了我们的实习。首先要正确的握锉刀,锉削平面时保持锉刀的平直运动是锉削的关键,锉削力有水平推力和垂直压力两种。锉刀推进时,前手压力逐渐减小后手压力大则后小,锉刀推到中间位置时,两手压力相同,继续推进锉刀时,前手压力逐渐减小后压力加大。锉刀返回时不施加压力。这样我们锉削也就比较简单了。在经过了不断重复的锉削,粗糙的铁块表面已经被我们削的很光滑了。 接着便是刮削、研磨、钻孔等。虽然不是很标准,但却是我们汗水的结晶,是我们两天来奋斗的结果,虽然我们的小锤子制作的没有工人师傅做得那么好但是我们还是很高兴! 钳工的实习说实话是很枯燥的,可能干一个上午却都是在反反复复着一个动作,还要有力气,还要做到位,那就是手握锉刀在工件上来来回回的锉,锉到中午时,整个人的手都酸疼酸疼的,腿也站的有一些僵直了,然而每每累时,却能看见老师在一旁指导,并且亲自示范,他也是满头的汗水,气喘呼呼的,看到

中南大学数据结构实验报告(六)

实验六 1.需求分析 2.二分查找算法(设计性实验) 问题描述 从键盘读入一串整数和一个待查键,查找在该整数串中是否有这个待查键。如果有,就输出它在 整数串中的位置;如果没有,输出1。 基本要求 掌握二分查找算法。 测试数据 由读者依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 实现提示 利用二分查找算法查找实现。 4.简单个人电话号码查询系统(综合性实验) 问题描述 人们在日常生活中经常要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话 号码查询系统,根据用户输入的信息(如姓名等)进行快速查询。 基本要求 (1) 在外存上,用文件保存电话号码信息。 (2) 在内存中,设计数据结构存储电话号码信息。 (3) 提供查询功能:根据姓名实现快速查询。 (4) 提供其他维护功能,如插入、删除、修改等。 测试数据 由读者依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 实现提示 由于要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码 信息采用文件的形式存放到外存中。在系统运行时,要将电话号码信息从文件调入内存来进行查找等操作。为了接收文件中的内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据。const int max=10; struct TeleNumber { String name;// 姓名 String phoneNumber,// 固定电话号码 String mobileNumber,// 移动电话号码 String email;// 电子邮箱 }Tele[max]; 为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用二分查找,但是,在数组 中实现插入和删除操作的代价较高。如果记录需频繁进行插入或删除操作,可以考虑采用二叉排序树组织电话号码信息,这样查找和维护都能获得较高的时间性能。更复杂地,需考虑该二叉排序树是否平衡,如何使之达到平衡。

中南大学JAVA实验报告

中南大学 《JAVA语言与系统设计》 实验报告 题目运用运用JavaFx画时钟运用JavaFx实现时钟动画学生姓名 指导教师 学院信息科学与工程学院 专业班级 完成时间

目录 第一章绪论............................................................................................... 1.1实验背景............................................................................................... 1.2实验意义.............................................................................................. 1.3JavaFX介绍......................................................................................... 第二章需求分析..................................................................................... 2.1题目描述............................................................................................. 2.1.1 实验一.................................................................................... 2.1.2 实验二.................................................................................... 2.2 概要设计........................................................................................... 2.2.1 实验一.................................................................................... 2.2.2 实验二.................................................................................... 2.3 程序清单........................................................................................... 2.3.1 实验一代码............................................................................ 2.3.2 实验二代码............................................................................ 第三章调试分析.................................................................................... 3.1 结果分析......................................................................................... 3.1.1 实验一结果............................................................................ 3.1.2 实验二结果............................................................................ 3.2 调试报告........................................................................................ 心得体会.................................................................................................

计算机网络课程设计实验报告

中南大学课程设计报告 课程:计算机网络课程设计 题目:基于Winpcap的网络流量统计分析 指导教师:张伟 目录 第一章总体设计 一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3

第二章详细设计 一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章源代码清单及说明 一、CaptureUtil.java --------P7 二、MyPcapPacketHandler.java --------P9 三、PacketMatch.java --------P9 四、Windows.java --------P13 第四章运行结果 --------P19 第五章心得体会 --------P21 第一章总体设计 一、实体类设计 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计 二、功能类设计 (1)网卡获取 (2)包的抓捕

(3)包的处理 三、界面设计 (1)布局 (2)按钮功能连接 第二章第二章详细设计 一、实体类实现 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。 本程序采用Java编写,基于win10pcap。Win10pcap是winpcap在win10系统上的适用版本。Java对于winpcap使用jnetpcap进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap的jar包中大部分已经封装好了相关的实体类型。对应如下:ARP 实体类:https://www.wendangku.net/doc/4c9254094.html,work.Arp; UPD 实体类:https://www.wendangku.net/doc/4c9254094.html,work.Icmp;

中南大学制造工程训练试卷一

中南大学制造工程训练试卷(一) 1、空气锤的规格以_______________来表示; 2、常用的手弧焊设备有两类: _______________弧焊变压器与_______________弧焊发电机; 3、焊缝的缺陷主要有___________、___________ 、___________、___________和___________等几种; 4、常用的特种铸造方法有___________、___________ 、___________与___________ 等几种; 5、MEM350熔融挤压成形制造的成形材料为___________ ,成形温度为___________, 每层成形厚度为___________ ; 6、传统制造采用___________ 法制造实体或零件,而快速成形制造技术采用___________法制造实体或零件; 7、在逆向工程系统中,测量点资料的设备按探头不同可分为___________ 和___________两种; 二、判断下列叙述的正误,正确者在题后括号内标记“√”,不正确者在题后括号内标记“×”:(10分) 1、透气性太差的型砂易使铸件形成气孔;( ) 2、型砂强度过高,阻碍铸件收缩,而使铸件产生过大的应力或裂纹;( ) 3、起模时在模样周围刷水可提高型砂的可塑性;() 4、将内浇口开设在铸件的薄壁处,有利于铸件同时凝固和收缩, 防止铸造应力() 5、型芯的主要作用是获得铸件的内腔;( ) 6、面砂的强度,耐火性等性能要求较高;( ) 7、锻造时,加热温度越高,钢材的可锻性越好;() 8、真空注型快速制造所用的液体材料必须在真空条件下进行脱泡处理;() 9、氧气切割简便易行,适合于所有的金属;() 10、焊接件产生应力,是因为工件局部受热温度分布不均匀引起的;() 三、下列各题均有三个可供选择的答案,请你选择正确的答案填在括号内:(10分) 1、型砂的耐火性差,造成铸件( ); A、气孔; B、粘砂; C、冷隔; 2、型砂中加锯木屑是为了改善型砂的( ); A、耐火性; B、退让性; C、强度;

操作系统实验报告-中南大学

操作系统原理试验报告 班级: 学号: 姓名:

实验一:CPU调度 一、实验内容 选择一个调度算法,实现处理机调度。 二、实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。 三、实验题目 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 四、实验要求 PCB内容: 进程名/PID; 要求运行时间(单位时间); 优先权; 状态: PCB指针; 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度 4、最好采用图形界面; 5、可随时增加进程; 6、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可自动从后备 队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列。 7、每次调度后,显示各进程状态。 实验二:内存管理 一、实验内容 主存储器空间的分配和回收 二、实验目的 帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 三、实验题目 在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。

四、实验要求 1、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 2、结合实验一,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,PCB指针} 3、采用最先适应算法分配主存空间; 4、进程完成后,回收主存,并与相邻空闲分区合并 .1、Vo类说明(数据存储结构) 进程控制块PCB的结构: Public class PCB{ //进程控制块PCB,代表一个进程 //进程名,作为进程的标识; private String name; //要求运行时间,假设进程运行的单位时间数; private int time; //赋予进程的优先权,调度时总是选取优先数小的进程先执行; private int priority; //状态,假设有“就绪”状态(ready)、“运行”状态(running)、 //“后备”状态(waiting)、“挂起”状态(handup) private String state; //进程存放在table中的位置 private int start; //进程的大小 private int length; //进程是否进入内存,1为进入,0为未进入 private int isIn; //进程在内存中的起始位置 private int base; //进程的大小 private int limit; //一些get和set方法以及构造器省略… };

中南大学程序设计语言C++(课程设计2015级) - 副本

智能15级《程序设计语言(C++)》 课程设计任务书 一、课程设计目的 本课程设计是智能科学与技术专业的重要实践性课程。是学习完《计算机与程序设计语言基础》课程后进行的一次全面的综合练习。通过课程设计,一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参与一系列综合项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。为后续课程面向对象程序设计等课程奠定必要的实践基础。 设计目的如下: 1.进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。 2.针对C++语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 3.掌握C++语言的编程技巧和上机调试程序的方法。 4.掌握程序设计中的常用算法。 为了使学生从课程设计中尽可能取得比较大的收获,对课程设计题目分成二类,一类为基础训练题目,从中学习到程序设计的常用算法,另一类为综合题目。学生可根据自己的能力和兴趣从两类中各选择一个设计题完成。 二、课程设计内容 分组形式:可2-4人组队 题目要求:A类题目必须全部完成,B类题目3题内选择2题完成 A组题型:基本知识单项训练() 设计题1、数据连接 编写函数实现两个字符单向链表的连接。函数以对两个链表头的引用作为参数,把第二个链表连接到第一个链表后面。 设计题2、字符处理 设计函数,实现英文字符的大小写转换并去除其他字符。要求:字符串中的小写字

符自动变换成对应的大写字符,而大写字符则变换成对应的小写字符。另,如果字符串中存在除英文大小写之外的字符请去除掉。 设计题3、数据统计 求数组中离平均数最近的那个数。假定函数int mid(int a[], int len); 计算数组a中所有数的平均值,并返回数组中离该平均值最近的那个数。 设计题4、抓交通肇事犯 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号中后4位数字的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。满足上述要求的车牌号只有一个。请根据以上线索求出该车号后4位数字。 B组题型:综合训练类 设计题5、投票管理系统 设计一个如图1所示的投票管理系统界面 图1投票管理系统界面 要求输入候选人名单后,点击确认按钮实现使用选择框代表候选人,计选择框的名字就是候选人的名字。点击取消按钮候选人输入框为空,重新输入候选人名单。选中候选人的选择框时,表示给该候选人投一票。点击确定按钮时表示产生一张选票。点击刷新

学生成绩管理系统_课程设计报告

中南大学 《C语言程序设计》 课程设计报告课题名称:学生成绩管理系统 专业电气信息 学生姓名舒畅 班级0914 学号0909091424 指导教师穆帅 完成日期2010年7月10日 信息科学与工程学院

目录 1 课程设计的目的 (1) 2 设计内容与要求 (1) 3 主要技术指标及特点 (2) 3.1 登录界面显示 (2) 3.2登记学生资料 (4) 3.3保存学生资料 (5) 3.4 删除学生资料 (6) 3.5修改学生资料 (7) 3.6 查询学生资料 (8) 3.6统计学生资料(自加功能) (8) 3.8对学生资料进行排序 (9) 3.9程序主要代码 (9) 4 设计小结 (31)

成绩管理系统 1 课程设计的目的 1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤; 2.进一步掌握和利用C语言进行程设计的能力; 3.进一步理解和运用结构化程序设计的思想和方法; 4.初步掌握开发一个小型实用系统的基本方法; 5.学会调试一个较长程序的基本方法; 6.学会利用流程图或N-S图表示算法; 7.掌握书写程设计开发文档的能力(书写课程设计报告)。 2 设计内容与要求 设计内容:成绩管理系统 现有学生成绩信息,内容如下: 姓名学号 C 数学英语 shuchang 12 99 98 99 jiutian 32 87 68 87 changzi 33 98 89 99 jiutia 13 7 43 45 设计要求: ?封面(参见任务书最后一页) ?系统描述:分析和描述系统的基本要求和内容; ?功能模块结构:包括如何划分功能模块,各功能模块之间的结构图,以及各模块 的功能描述; ?数据结构设计:设计数据结构以满足系统的功能要求,并加以注释说明; ?主要模块的算法说明:即实现该模块的思路; ?运行结果:包括典型的界面、输入和输出数据等; ?总结:包括C语言程序设计实践中遇到的问题,解决问题的过程及体会、收获、

工程训练总结报告

工程训练实习总结报告 课程:工程训练D/E班级: 工程训练是一门实践性较强的课。对于多年来只基于理论学习而很少参与实践的我们来说,工程训练是一门培养我们实践能力的重要课程。在课程中,老师短短十几分钟高效率讲课,对我们来说也是一种挑战和有效地训练。这要求我们每个人都要在这短暂的时间内掌握机械设备相关的基本步骤,操作方法和注意事项。总之,通过此次工程训练的学习让我们的动手能力和实践能力都有了提高。 工程训练中安全最重要,这就要求我们必须严格遵守相关规章制度。上工程训练要统一穿军训服。不穿拖鞋,凉鞋。女同学的长发还需卷起,戴上安全帽。实习时要认真听老师讲解,仔细观察老师的示范,操作设备是要胆大心细,认真遵守各类设备的安全操作规程,避免人身、设备事故的发生。。这些基本要求确保了我们工程训练中的人身安全。 在工程训练课程中,数控车削,数控铣削,数控切割都是比较现代电气化,自动化的设备。这几个工程训练主要学习任务就是编写程序。这几个工程实验编写的程序都是十分相近的,编写的程序都有固定的模式。这些实验是我对数控机床有了全面的认识。 在工程训练中最具有挑战性的实验是铸造实验,铸造工程训练操作比较复杂,容易因细节失败。我们组就因为某个细节的疏忽最终没能达到老师的要求。老师先讲解了铸造的过程及注意事项,然后重点演示了铸造实验的整个工程。老师演示完后,我们头脑都快懵了。接

下来就该我们自己动手操作。首先进行砂子的筛选,砂是专门用于铸造实验的。我们先用筛子将砂分选出细颗粒,将下砂箱放在平台上,将飞机的上半模具放入。用细砂将小飞机掩埋用手按紧,再用铲子铲砂填满,一边填一边用捣砂锤沿砂箱四周将砂压紧。砂不能压的太紧,但也不能太松,要均匀压实。填满后,将砂刮平于砂箱。然后将下砂箱翻转后来。将飞机模具的下半部与上部合在一起。在砂表面均匀的撒下另一种砂。用毛刷清理模具表面的分型砂砂粒,再将上砂箱放上,在相应位置放入直浇道棒与通气孔棒。填满砂。,再用通气针沿通气孔边缘下插形成许多通气小孔。再用湿润的粘土,在上下砂箱接缝处做一个标记,用刀接缝画一条横线,再竖向画3条竖线。然后取出模具,将上下砂箱分离,竖直向上迅速将上砂箱抬起。取出模具时要小心避免砂型垮塌或被破坏。当模具腔内有砂粒时,需用工具将其取出,以免形成的铸件表面有砂眼。最后将上砂箱与下砂箱按标记准确合型,灌入铝水,冷却后取出。将多余部分锯掉,整个实验就完成了。 通过工程训练这门课程的学习,我受益匪浅。我熟悉了一些常用数控设备和基本的工艺知识,,增强了我的工程实践能力和提高了综合素质,提高了团队合作与助人为乐的意识。最后,感谢老师们的认真、悉心地谆谆教诲,感谢同学的热情帮助。 姓名: 学号: 年月日

中南大学机械基础实验报告机类

机械基础实验报告 (机械类) 中南大学机械基础实验教学中心 2011年8月 目录 训练一机构运动简图测绘 (1) 实验二动平衡实验 (3) 实验三速度波动调节实验 (4) 实验四机构创意组合实验 (5) 实验五平面机构创新设计及运动测试分析实验 (6) 实验六螺栓联接静动态实验 (7) 实验七螺旋传动效率实验 (8) 实验八带传动实验 (9) 实验九液体动压轴承实验 (10) 实验十机械传动性能综合测试实验 (12) 实验十一滚动轴承综合性能测试分析实验 (13) 实验十二机械传动设计及多轴搭接实验 (14) 实验十三减速器拆装实验 (15)

训练一机构运动简图测绘 专业班级第组姓名成绩 1.一个正确的“机构运动简图”应能说明哪些内容?绘制机构运动简图的基本步骤是什么? 2.机构自由度与原动件的数目各为多少?当机构自由度=原动件的数目,机构的

运动是否确定? 五.收获与建议

实验二动平衡实验 专业班级第组姓名成绩一、实验目的: 二?设备名称: 三?实验数据 实验转速: 四.思考题: 转子动平衡为什么要在左右两个平面上进行平衡?

实验三速度波动调节实验专业班级第组姓名成绩一?实验目的: 二?设备名称: 三?实验数据 1?当转速不变时,采用不同的飞轮,数据记录: 结论:当转速不变时,飞轮转动惯量越大,则机构的速度波动越二?当飞轮不变时,转速变化,数据记录: 结论:当飞轮不变时,转速越大,则机构的速度波动越

实验四机构创意组合实验 专业班级第组姓名成绩 一、机构运动简图(要求符号规范标注参数) 二、机构的设计方案图(复印件) 三、机构有____________个活动构件?有______个低副,其中转动副_______个, 移动副__________个,有____________复合铰链,在_________处?有________处?有__________个虚约束,在__________处? 四、机构自由度数目为F=3n-2PL-PH=3X-2X-0= 五、机构有_________个原动件 在___________处用__________驱动,在__________处用___________驱动? 六、针对原设计要求,按照实验结果简述机构的有关杆件是否运动到位?曲柄是 否存在?是否实现急回特性?最小传动角数值?是否有“卡住”现象?(原无要求的项目可以不作涉及) 七、指出在机构中自己有所创新之处? 八、指出机构的设计存在的不足之处,简述进一步改进的设想?

中南大学C语言课程设计-学生成绩管理系统

中南大学 二○一三~二○一四学年第一学期 信息科学与工程学院 程序设计基础实践 设计报告 课程名称:程序设计基础实践 班级:2013级物联网工程1302班学号:0919130205 姓名:X晨 指导教师:杨希

二○一三年十二月 目录/Contet 课程设计题目 (1) 题目初步分析 (1) 程序总体设计 (2) 程序具体设计……………………………………………………… 10 程序调试测试……………………………………………………… 12 心得与体会………………………………………………………… 33 源代码……………………………………………………………… 33

课程设计题目 学生成绩管理系统 学生信息为:学号、XX、年龄、性别、出生年月、地址、、各科成绩等,试设计一个学生信息管理系统,使之能提供以下功能。 1.学生信息录入; 2.学生信息浏览; 3.按学号、XX查询; 4.学生成绩排序; 5.学生信息修改与删除。 6.综合信息输出。 题目初步分析 对对象的处理 1.由于每一个对象都包括多个成属性,所以要考虑数据的存储形式要用结构体类型来实现。 2.假如以数组的方式来存储,当然可以,但是定义一个数组,首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。 3.由于题目中的数据需要长期保存,用普通的函数来写已经不可以满足要求了,所以需要用到文件来存储。 对过程的处理 1.输入学生信息(设计一个生成链表程序,并将链表中的数据保存到一个数据文件中); 2.插入(修改)学生信息(设计一个从数据文件中读数据的程序并将数据存放在链表中进行操作,最后将处理后链表中的数据再次保存到一个数据文件中); 3.删除学生信息(设计一个从数据文件中读数据的程序并将数据存放在链表中进行操作,最后按照要求将链表中的某个数据删除后再次保存到一个数据文件中);

中南大学C++课程设计实践报告!

中南大学 本科生课程设计(实践)任务书、设计报告 (C++程序设计) 题目学生成绩管理系统 学生姓名 指导教师 学院 专业班级 学生学号 计算机基础教学实验中心 年月日

学生成绩管理系统 关键字:学生成绩 MFC 编写系统 内容:定义一个结构体,存放下列信息: 学号、姓名、性别、系名、班级名、成绩等 1.学生成绩管理系统开发设计思想 要求: 一:数据输入:输入学生的相关信息,若用户输入数据或信息不正确,给出“错误”信息显示,重复刚才的操作;至少要输入10个学生的数据;可以随时插入学生信息记录; 二:每个学生数据能够进行修改并进行保存; 三:可以根据学号或者姓名删除某学生数据; 四:查询模块要求能按学号,按姓名,按班级等条件进行查询; 五:界面要求美观,提示信息准确,所有功能可以反复使用。 学生成绩管理程序从总体设计方面来看,基本的功能包括主控模块,数据输入模块,数据修改模块,数据查询模块等。 设计模块图:

2.系统功能及系统设计介绍 详细设计: 对于总体设计说明的软件模块,进一步细化,要说明各个模块的逻辑实现方法。下面逐个说明。 主控模块:主要完成初始化工作,包括屏幕的初始化,显示初始操作界面。初始界面中主要包括功能的菜单选择项。 输入处理:利用链表技术输入多名学生的数据,直到输入学生的学号以“@”开头,则结束数据的输入。程序运行流程图如下:删除处理:利用链表技术删除某学号的学生成绩信息,如果找到该学号则进行删除,否则输出“未找到”的信息。程序运行流程图略。 查找处理:利用链表技术根据学生学号或姓名等方式查找某学号

的学生成绩信息,其程序流程图略。 排序处理:利用链表技术根据学生学号对学生数据进行排序,其 部分源代码如下:/***********xuesheng.c***********/ /******头文件(.h)***********/ #include "stdio.h" /*I/O函数*/ #include "stdlib.h" /*其它说明*/ #include "string.h" /*字符串函数*/ #include "conio.h" /*屏幕操作函数*/ #include "mem.h" /*内存操作函数*/ #include "ctype.h" /*字符操作函数*/ #include "alloc.h" /*动态地址分配函数*/ #define N 3 /*定义常数*/ typedef struct z1 /*定义数据结构*/ { char no[11]; char name[15]; char sex[5]; char major[15]; char class[15];

中南大学工程训练报告15

自动化工程训练 —基于MATLAB的电力电子系统仿真 学院:信息科学与工程学院 仿真内容:三相桥式整流电路 班级姓名:自动化0801 肖娉 学号:0909080320 指导老师:桂武鸣老师 日期:2011.08.29--2011.09.09

电力电子技术综合了电子电路、电机拖动、计算机控制等多学科知识,是一门实践性和应用性很强的课程。由于电力电子器件自身的开关非线性,给电力电子电路的分析带来了一定的复杂性和困难,一般常用波形分析的方法来研究。仿真技术为电力电子电路的分析提供了崭新的方法。 本次工程训练的目的是初步掌握在MA TLAB/Simulink环境下电力电子系统的仿真。通过为期两周的学习,掌握一些MA TLAB的基础、Simulink环境和模型库、电力电子器件模型、变压器和电动机模型等。 MATLAB是一种科学计算软件,它是一种以矩阵为基础的交互式程序计算语言。SIMULINK是基于框图的仿真平台,它挂接在MATLAB环境上,以MATLAB的强大计算功能为基础,以直观的模块框图进行仿真和计算。 本文主要以MATLAB/SIMULINK仿真软件为基础,完成了对三相桥式整流电路带电阻、阻感、反电动势、直流电机负载的建模与仿真,并且给出了仿真结果波形,同时根据仿真结果进行了分析。证实了该方法的简便直观、高效快捷和真实准确性。

前言 第一章MATLAB/Simulink仿真的目的与意义 (1) 第二章MATLAB/Simulink的基础知识 (2) 2.1 MATLAB基础 (2) 2.1.1 MATLAB语言的功能 (2) 2.2.2 MATLAB集成环境 (3) 2.2 Simulink仿真基础 (5) 2.2.1 Simulink的模块库介绍 (6) 2.2.2 SimPowerSystems的介绍 (6) 2.2.3 Simulink部分模型介绍 (7) 2.2.4 Simulink仿真运行 (8) 第三章三相桥式可控整流电路的仿真 (10) 3.1 三相桥式整流电路 (10) 3.1 电阻、阻感和反电动势负载 (11) 3.2 直流电机负载 (16) 3.2.1 整流状态 (16) 3.2.2 有源逆变状态 (18) 第四章心得体会 (21) 参考文献 (23)

工程训练实习总结报告

工程训练实习总结报告 课程:工程训练D 班级:生医1401 在大学一年级的下学期,我学习并参加了由学校为提高在校大学生实践能力而开设的工程训练课程D。它包括有工程实践概论、车削实验、铣削实验、焊接实验、铸造实验、钳工实验、数控铣削实验、数控车削实验、数控线切割实验、自行车拆装实验。 当然,因为每个同学的选课不同,上课时间以及课程顺序都有所不同。比如我第一节课上的是钳工实验,由于第一次接触这种课程,我心里比较紧张,所以第一节课做的不是太好。而且用了很多的时间,不过最后还是做了出来,这让我还是很有成就感的。所以,从那后我便对这门学科有了好感。 通过这一系列的课程,我学到了很多,它教会我们的不仅仅是实际操作的能力,还有团队合作的能力、应及操作的能力等等。由于设备有限,所以我们的课程的每一个实验都是分小组进行的。我个人认为在这些实验中自行车拆装实验和铸造实验最为锻炼我们的团队合作能力,而钳工实验以及焊接实验则最能提高我们的个人操作能力。钳工实验除了第一步需要合作外,其余步骤皆需我们独立完成。我们

要独立打磨出一个螺丝钉,而这都是以前不曾接触过的。甚至有一些不小心的同学在打磨的时候伤到了自己的手。焊接实验则有些惊心动魄,看着那些飞射的火花,开始做的时候总是畏首畏尾的,导致训练并不顺利。不过好在我们独立练习的时间较长,因此最后放开了,所以,成绩还是比较让人满意的。而自行车拆装实验和铸造实验算是我印象最深的两次实验了。因为这两次实验都让我体验到了团队的宝贵,在实验过程中每个人都非常认真而用心,而实验后的成就感也让每个人由衷的感到开心。比如自行车拆装实验,我们是四个人一组,在看完讲解视频和老师的教学后,我们四个人拆前轮的、拆龙头的、拿工具的,一下就忙碌开来。所以我们完成的也很快,不在最后装自行车的时候就没有这么顺利了,因此我们完成的总时间算比较长的了。而在铸造实验中,我们是两个人合作。这次合作遇到了一些问题,因为铸造实验的难度较大且步骤复杂,所以我们两个都不能完整的记住每一个步骤,所以我们会讨论而导致分工并不算太好。一开始还出现了错误,不过还好的是因为我们的谨慎,沙模型一次性就做成功了。之后,我们还给其他同学提供了一些帮助。我想,每一位同学都或多或少的会有一些感悟,一些收获。 当然,这里面其实还是有一些不足之处。首先是我们学生,许多

中南大学课程设计报告

CENTRAL SOUTH UNIVERSITY 课程设计说明书 现代铝电解槽新型阳极结构设计 题目(单槽日产量2.4t,电流密度0.76A·cm-2) 学生姓名刘冬 专业班级冶金 00906 班 学生学号0503090706 指导教师伍上元 学院冶金科学与工程学院 完成时间2012年9月11日

目录 第一章概述 1.1现代铝电解槽结构发展趋势 (3) 1.2所设计电解槽阳极结构的特点 (4) 第二章铝电解槽结构简介 2.1 上部结构 (5) 2.1.1 阳极炭块组 (6) 2.1.2 阳极升降装臵 (6) 2.1.3 承重结构 (7) 2.1.4 加料装臵 (7) 2.1.5 集气装臵 (8) 2.2 阴极结构 (9) 2.2.1 槽壳与摇篮架 (10) 2.2.2 槽内衬 (11) 2.3 母线结构 (13) 2.3.1 阳极母线 (13) 2.3.2 阴极母线 (14) 2.4 绝缘设施 (15) 第三章铝电解结构计算 3.1 阳极电流密度 (15) 3.2 阳极炭块尺寸 (15) 3.3 阳极炭块数目 (17) 3.4 槽膛尺寸 (17) 3.5 槽壳尺寸 (17) 3.6 阴极碳块尺寸 (17) 第四章阳极结构设计 4.1 阳极炭块组 (18) 4.2 换极周期与顺序 (19) 4.3 阳极炭块质量要求与组装 (20) 4.3.1 阳极炭块质量要求 (20) 4.3.2 阳极组装 (21) 第五章参考文献 (22) 2

第一章概述 1.1现代铝电解槽结构发展趋势 20世纪80年代以前,工业铝电解的发展经历了几个重要阶段,其标志的变化有:电解槽电流由24kA、60kA增加至100-150kA;槽型主要由侧插棒式(及上插棒式)自焙阳极电解槽改变为预焙阳极电解槽;电能消耗由吨铝22000kW·h降低至15000kW·h;电流效率由70%-80%逐步提高到85-90%。 1980年开始,电解槽技术突破了175kA的壁垒,采用了磁场补偿技术,配合点式下料及电阻跟踪的过程控制技术,使电解槽能在氧化铝浓度变化范围很窄的条件下工作,为此逐渐改进了电解质,降低了温度,为最终获得高电流效率和低电耗创造了条件。在以后的年份中,吨铝最低电耗曾降低到12900-13200 kW·h,阳极效应频率比以前降低了一个数量级。 80年代中叶,电解槽更加大型化,点式下料量降低到每次2kg氧化铝,采用了单个或多个废气捕集系统,采用了微机过程控制系统,对电解槽能量参数每5s进行采样,还采用了自动供料系统,减少了灰尘对环境的影响。进入90年代,进一步增大电解槽容量,吨铝投资较以前更节省,然而大型槽(特别是超过300kA)能耗并不低于80年代初期较小的电解槽,这是由于大型槽采取较高的阳极电流密度,槽内由于混合效率不高而存在氧化铝的浓度梯度;槽寿命也有所降低,因为炉帮状况不理想,并且随着电流密度增大,增加了阴极的腐蚀,以及槽底沉淀增多,后者是下料的频率比较高,而电解质的混合程度不足造成的。尽管如此,总的经济状况还是良好的。 90年代以来,电解槽的技术发展有如下特点: (1)电流效率达到96%; (2)电解过程的能量效率接近50%,其余的能量成为电解槽的热损而耗散; (3)阳极的消耗方面,炭阳极净耗降低到0.397kg/kg(Al); (4)尽管设计和材料方面都有很大的进步,然而电解槽侧部仍需要保护性的炉帮存在,否则金属质量和槽寿命都会受负面影响; (5)维护电解槽的热平衡(和能量平衡)更显出重要性,既需要确保极距以产生足够的热能保持生产的稳定,又需要适当增大热损失以形成完好的炉帮,提高槽 寿命。 我国的电解铝工业可自1954年第一家铝电解厂(抚顺铝厂)投产算起,至2010年已有56年历史,在电解槽设计中,已掌握“三场”仿真技术,在模拟与优化方面采用了ANSYS 3

相关文档
相关文档 最新文档