数据库大作业报告

数据库大作业报告
数据库大作业报告

上海电力学院

数据库应用

课程设计

题目: 电力行业工资管理系统设计

学生姓名:杜志豪

学号: 20121798 班级: 2012053

院系:计算机科学与技术学院

专业年级:计算机科学与技术(电力企业信息化)2012级

2014年07 月 08 日

目录

一、需求分析 (3)

1.1系统功能设计 (3)

1.1.1数据表的创建 (3)

1.1.2数据完整性设计 (4)

1.1.3数据库对象设计 (4)

二、概念结构设计 (5)

三、逻辑结构设计 (6)

四、数据库的物理设计 (8)

五、数据库设计实现及运行 (9)

5.1数据库的创建 (9)

5.2 数据表的创建 (12)

5.3 视图的创建 (13)

5.4存储过程的定义实现 (14)

5.5触发器的定义实现 (15)

5.6自行设计各模块中所涉及的操作语句 (17)

5.6.1 (17)

六、系统详细设计及实现 (21)

七、附录:核心源程序代码 (22)

一、需求分析

电力工资管理系统是电力行业常见的计算机信息管理系统。它的主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。在建立与实现工资管理系统时,应进行功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统守成,这样才能够充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。

1.1系统功能设计

(1)信息输入功能

1)输入电力行业员工的基本信息。包括:电力员工编号、姓名、性别、出生年月、参加工作时间、所属部门、职务、职称、政治面貌、婚姻状况等基本信息。

2)输入电力行业员工的工资信息。包括:基本工资、岗位工资、住房补贴、津贴、工会会费、水电费、住房公积金、养老保险、医疗保险、失业保险金、奖惩。

3)输入电力行业员工的部门信息。包括:部门编号、部门名称、部门负责人、部门人数。(2)数据修改删除功能

1)修改和删除员工的基本信息。当单位人员的信息发生变化,如职称的改变,工作部门变动,或调离本单位等,系统应能修改员工的信息或将其从员工信息表中删除。

2)修改和删除员工的工资信息。员工升职加薪、工资普调是企业中常见的事情,这就需要系统能方便对员工工资进行个别及批量的修改;如员工调离本单位,就应当从员工信息表中删除这个员工信息,将其工资信息表中相应的数据删除。

3)修改和删除部门信息。当撤消一个部门时,管理员可以从部门信息表中将其删除。而当一个部门的名称发生改变时,系统中所有该项部门的名称应一致的改变。

(3)查询和统计功能

1)能够查询指定员工的基本信息。

2)能够查询指定某个部门或全部部门的基本信息。

3)查询某个员工的工资信息。

4)统计、汇总指定年份企业各部门或某个部门每个月或全年工资总额,汇总各部门的人数或本单位的总人数。

5)工资表月工资记录的生成功能。生成当月所有员工或某个部门的工资记录,同时能进行员工工资的计算,即计算应发金额、应扣金额及实发金额。

1.1.1数据表的创建

(1)电力行业员工基本信息表

电力行业员工基本信息表包括以下字段:员工编号、姓名、性别、出生年月、参加工作时间、所

属部门、学历、职务、职称、政治面貌、婚姻状况。

(2)电力行业员工工资信息表

电力行业员工工资信息表包括以下字段:员工编号、基本工资、岗位工资、住房补贴、津贴、工会会费、水电费、住房公积金,养老保险、奖惩、应发金额、应扣金额及实发金额使用计算列。(3)部门信息表

电力行业部门信息表包括以下字段:部门编号、部门名称、部门负责人、部门人数。

1.1.2数据完整性设计

为了保证数据库系统的正确性、完备性和一致性,就必须进行数据完整性设计。就本设计而言应考虑实施如下数据完整性:

1)给每个表实施主键及外键约束。

2)设定缺省约束。如员工性别。

3)设置非空约束。如员工姓名。

4)实施CHECK约束,如养老保险的金额大于0。

5)实施规则,如政治面貌必须是“党员”、“团员”及“群众”、“民主党派”四个选项之一。

1.1.3数据库对象设计

为充分发挥数据库的效能,保证数据库的安全性,提高数据库管理系统的执行效率,可以考虑使用视图、存储过程及表的触发器来实现某些功能。本设计可考虑如下数据库对象:

(1)指定员工或某个部门的信息查询。可以设计一个存储过程,以员工编号或部门编号为输入参数返回指定员工或部门的基本信息。

(2)统计指定年份整个企业或各部门每个月份的工资总额。设计一个以年份为输入参数,以总工资金额为输出参数的存储过程,返回每个月份企业工资支出的总额。

(3)浏览工资表。设计一个视图,返回当前月份所有员工或某个部门员工的工资信息。

(4)为提高检索性能,为表创建索引。

(5)为新调入/调出/内部调动人员创建INSERT、DELETE、UPDATE触发器,实现部门人数的自动更新。

需包含内容为:

(1)问题描述:设计系统的简单描述

(2)系统功能描述,对自己所负责的功能模块,可画出所设计模块的操作流程;

并分析所需要存储的数据信息。

(3)有何安全性与完整性方面的要求(参照所给出的语义规则)。如是否需要显示定

义原子事务、需定义具有什么功能的存储过程、需定义具有什么功能的触发器、对不同

的用户有何不同的系统使用权限等。

二、概念结构设计

画出系统整体的E-R模型;并对模型中所出现的实体及属性等信息加以说明。

三、逻辑结构设计

在这个数据库中,三个关系模式是:

Worker(workerno,workername,workersex,birth,startworktime,departno,job,position,status,marry) Department(departno,departname,departhead,departamount)

Wage(wageno,basewage,gangweiwage,housebutie,jintie,gonghuihuifei,shuidianfei,housegjj,yangl aobx,reward,yingfawage,yingkouwage,finalwage)

这三个关系模式组成了工资管理系统的数据库模式,这三个关系组成了工资管理系统关系数据库;关系worker的主键是workerno,关系department的主键是departno,关系wage的主键是wageno;关系worker和关系department有一个共同属性departno,在表worker中,departno是外键,关系worker和关系wage有一个共同属性workerno,在表wage中,workerno 是外键。

各个属性类型与长度,是否可取空值如下图:

其中workersex默认为男且取值为{’男’或’女’},status的取值在{‘群众’,’团员’,’党员’,’民主党派’},marry默认为未婚且取值在{‘未婚’,’已婚’}。

其中yingfawage,yingkouwage,finalwage为计算列。Yingfawage=basewage+gangweiwage+housebutie+jintie+reward

Yingkouwage=gonghuihuifei+shuidianfei+housegjj+yanglaobx

Finalwage=yingfawage-yingkouwage

四、数据库的物理设计

为了提高在表中搜索元组的速度,在实际实现的时候应该基于某些属性建立索引。给出所建立的索引。(包括按哪些表中哪些属性按升序还是降序来创建索引及相应的T-SQL的创建

语句)。

建立索引:

create unique index wage_PK on wage (wageno ASC)

create unique index worker_PK on worker (workerno ASC)

create unique index department_PK on department (departno ASC)

五、数据库设计实现及运行

5.1数据库的创建

T-SQL语句:

USE[master]

GO

/****** Object: Database [20121798_工资管理系统] Script Date: 2014/7/8 1:46:46 ******/ CREATE DATABASE[20121798_工资管理系统]

CONTAINMENT=NONE

ON PRIMARY

(NAME=N'20121798_工资管理系统',FILENAME=N'C:\Program Files\Microsoft SQL

Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\20121798_工资管理系统.mdf',SIZE= 5120KB, MAXSIZE=UNLIMITED,FILEGROWTH= 1024KB)

LOG ON

(NAME=N'20121798_工资管理系统_log',FILENAME=N'C:\Program Files\Microsoft SQL

Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\20121798_工资管理系统_log.ldf',SIZE= 2048KB, MAXSIZE= 2048GB,FILEGROWTH= 10%)

GO

ALTER DATABASE[20121798_工资管理系统]SET COMPATIBILITY_LEVEL= 110

GO

IF (1 =FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))

begin

EXEC[20121798_工资管理系统].[dbo].[sp_fulltext_database]@action='enable'

end

GO

ALTER DATABASE[20121798_工资管理系统]SET ANSI_NULL_DEFAULT OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET ANSI_NULLS OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET ANSI_PADDING OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET ANSI_WARNINGS OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET ARITHABORT OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET AUTO_CLOSE OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET AUTO_CREATE_STATISTICS ON

GO

ALTER DATABASE[20121798_工资管理系统]SET AUTO_SHRINK OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET AUTO_UPDATE_STATISTICS ON

GO

ALTER DATABASE[20121798_工资管理系统]SET CURSOR_CLOSE_ON_COMMIT OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET CURSOR_DEFAULT GLOBAL

GO

ALTER DATABASE[20121798_工资管理系统]SET CONCAT_NULL_YIELDS_NULL OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET NUMERIC_ROUNDABORT OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET QUOTED_IDENTIFIER OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET RECURSIVE_TRIGGERS OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET DISABLE_BROKER

GO

ALTER DATABASE[20121798_工资管理系统]SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO

ALTER DATABASE[20121798_工资管理系统]SET DATE_CORRELATION_OPTIMIZATION OFF GO

ALTER DATABASE[20121798_工资管理系统]SET TRUSTWORTHY OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET ALLOW_SNAPSHOT_ISOLATION OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET PARAMETERIZATION SIMPLE

GO

ALTER DATABASE[20121798_工资管理系统]SET READ_COMMITTED_SNAPSHOT OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET HONOR_BROKER_PRIORITY OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET RECOVERY FULL

GO

ALTER DATABASE[20121798_工资管理系统]SET MULTI_USER

GO

ALTER DATABASE[20121798_工资管理系统]SET PAGE_VERIFY CHECKSUM

GO

ALTER DATABASE[20121798_工资管理系统]SET DB_CHAINING OFF

GO

ALTER DATABASE[20121798_工资管理系统]SET FILESTREAM(NON_TRANSACTED_ACCESS= OFF)

GO

ALTER DATABASE[20121798_工资管理系统]SET TARGET_RECOVERY_TIME= 0 SECONDS

GO

ALTER DATABASE[20121798_工资管理系统]SET READ_WRITE

GO

5.2 数据表的创建

T-SQL语句:

Worker表的创建:

create table worker (

workerno char(6) not null,

departno char(2) null,

workername char(20) not null,

workersex char(4) not null default '男',

birth datetime null,

startworktime datetime null,

job char(20) null,

position char(20) null,

status char(20) not null,

marry char(8) null default '未婚' )

go

alter table worker

add constraint Rule_1 check (workersex='男'or workersex='女') go

alter table worker

add constraint Rule_2 check (marry='已婚'or marry='未婚') go

department表的创建:

create table department (

departno char(2) not null,

departname varchar(20) null,

departhead varchar(20) null,

departamount int null default 0 )

Go

Wage表达的创建:

create table wage (

wageno char(12) not null,

workerno char(6) null,

basewage money null,

gangweiwage money null,

housebutie money null,

jintie money null,

gonghuihuifei money null,

shuidianfei money null,

housegjj money null,

yanglaobx money null,

reward money null,

yingfawage AS (basewage+gangweiwage+housebutie+jintie+reward),

yingkouwage AS (gonghuihuifei+shuidianfei+housegjj+yanglaobx),

finalwage AS (basewage+gangweiwage+housebutie+jintie+reward-gonghuihuifei-shuidianfei-housegjj-yan glaobx)

)

go

alter table wage

add constraint CKC_YANGLAOBX_WAGE check (yanglaobx is null or (yanglaobx >=

0.1))

go

5.3 视图的创建

T-SQL语句:

create view wageget as

select

worker.workerno,worker.workername,wage.wageno

from

wage,worker

where wage.wageno like worker.workerno+'______'

go

5.4存储过程的定义实现

T-SQL语句:

create procedure department_search

@departno char(8)

as

begin

select* from department

where departno=@departno

end

go

create procedure department_wage

@wageno char(12),@departno char(8), @wagedate char(12) as begin

select department.departno,worker.workerno,wage.wageno from department,worker,wage

where wage.wageno like '____'+@wagedate and

@departno=department.departno and

wage.wageno like worker.workerno+'____' and department.departno=worker.departno

end

go

create procedure worker_search

@workerno char(6) as

begin

select * from worker

where workerno=@workerno

end

go

5.5触发器的定义实现

T-SQL语句:

Worker触发器员工编号前2位必须是部门编号:

create trigger tr1_worker

on worker

for insert

as

declare @workerno char(6),@departno char(2)

select @workerno=workerno,@departno=departno

from inserted

if(@workerno not like @departno+'____')

begin

rollback tran

raiserror('员工编号前2位必须是部门编号',16,10)

End

go

worker insert触发器,部门人数自动更新

create trigger tr2_worker

on worker

for insert

as

declare @x int

select @x=count(worker.departno)

from worker,inserted

where worker.departno=inserted.departno

update department

set departamount=@x

from department,inserted

where department.departno=inserted.departno go

worker delete触发器,部门人数自动更新:

CREATE trigger tr3_worker

on worker

for delete

as

declare @x int

select @x=count(worker.departno)

from worker,deleted

where worker.departno=deleted.departno

update department

set departamount=@x

from department,deleted

where department.departno=deleted.departno go

worker update触发器,部门人数自动更新:CREATE trigger tr4_worker

on worker

for update

as

declare @x int,@y int

select @x=count(worker.departno)

from worker,inserted

where worker.departno=inserted.departno

update department

set departamount=@x

from department,inserted

where department.departno=inserted.departno

select @y=count(worker.departno)

from worker,deleted

where worker.departno=deleted.departno

update department

set departamount=@y

from department,deleted

where department.departno=deleted.departno

go

worker delete触发器,删除员工自动删除该员工工资信息:

create trigger tr5_worker

on worker

for delete

as

declare @x char(6)

select @x=deleted.workerno

from deleted

delete from wage

where wageno like @x+'______'

go

5.6自行设计各模块中所涉及的操作语句

5.6.1功能界面描述

每个功能模块描述方法如下:

功能界面:

功能界面简单描述;员工增、删、改、查:

部门的增、删、改、查:

工资信息的增、删、改、查:

查询部门月工资汇总:

select sum(finalwage) from wage where wageno like'01'+'____'+'201407'

查询员工工资信息:

查询员工某月工资详情:

查询所有员工信息:

select * from worker

web大作业题目

Web程序设计期末考查 一、能力要求 1、能独立的运用开发工具进行基于web程序设计前台的简单系统开发 2、能根据一定主题设计出各个页面模块,使用所学的web技术构建简单的 web系统 3、能撰写简要的设计与开发文档 二、设计题目参考(系统主题): 以下大作业主题仅作参考,作业主题可以自拟。 1.以通讯录为主题 2.以班级信息为主题 3.以课程信息为主题 4.以作业信息为主题 5.以教师信息为主题 6.以教材信息为主题 7.以院系信息为主题 三、考查要求: 1.必须以某个特定的主题为中心,主题可以自拟,系统由5个以上文件(页 面)组成。 2.在页面中要有以下页面元素:图片,超连接,表单,表格设计、JavaScript 特效等。 3.使用Dreamweaver、notopad、fireworks作为开发工具 4.页面的风格属性用CSS技术设置 5.主页面包括滚动文字链接、动态图片(可以使用Dreamweaver时间轴制 作)、按钮等元素 6.撰写出相应的开发文档,主要包括:网站的中心主题、网站的框架、页 面的组织、所用的开发技术、课程的学习心得等 7.作品在一周内完成

四、评价标准 不及格(60分以下):不能独立完成作品,或上交作品完全不符合考查要求。 特别说明,如发现直接使用他人作品,未加任何修改,期末考查成绩评定为不及格(证明抄袭使用他们作品的方式包括教师询问、答辩或他人检举,如发现对所交作品完全陈述不清,但作品本身又明显体现了一定水平即认定是抄袭他人作品)。 及格(60-69):能独立完成作品,作品基本符合考查要求,作者能正确陈述完成作品的开发步骤和思路。没有作品说明文档的一律评定为及格或以下成绩。 中等(70-79):能按时、独立完成作品,作品基本符合考查要求。说明文档基本能体现了作品主题和完成步骤。 良好(80-89):独立完成作品,完成考查要求中规定的功能,界面美观,撰写的说明文档思路清晰,能完整说明作品开发思路与设计理念。 优秀(90-100):独立完成作品,界面美观,完成并适当优化了考查要求中的基本功能,撰写的说明文档格式准确规范。作品和说明文档体现了作者完好的掌握了该课程所要求的知识点和技能要求,并体现了一定的创新水平。

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

大数据实验报告

学生实验报告册 (理工类) 课程名称:大型数据库技术专业班级:12计算机科学与技术(1)学生学号:学生姓名: 所属院部:计算机工程学院指导教师:陈爱萍

2014——20 15学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:Oracle数据库安装与配置实验学时: 1 同组学生姓名:实验地点:1316 实验日期:2015/3/27 实验成绩: 批改教师:陈爱萍批改时间:

实验1:Oracle数据库安装与配置 一、实验目的和要求 (1)掌握Oracle数据库服务器的安装与配置。 (2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。 (4)完成Oracle 11g数据库客户端网路服务名的配置。 (5)检查安装后的数据库服务器产品可用性。 (6)解决Oracle数据库服务器安装过程中出现的问题。 二、实验设备、环境 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版 三、实验步骤 (1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。 (2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。

数据结构大作业报告

数据结构大作业报告 数据结构大作业实验报告课程名称:数据结构设计题目:客户去银行储蓄模拟程序一( 实验题目 (1)内容描述:编写一个程序反映客户到银行储蓄的过程。 (2)基本要求:要实现以下功能:1:排队 2:储蓄 3:查看排队4.:删除自己所排的队 5.不再排队,剩下的客户依次储蓄 6:下班 二( 实验的工程组成图和程序结构图 main bank 本工程的组成结构如左图所示,程序结构图如右图所示。三( 工程所包含的函数的功能描述 Bank():模拟客户到银行去储蓄的过程。客户排队储蓄,所以要用到一个队列, 这里设计了一个不带头结点的单链表作为队列。 四( 实验工程的算法描述及流程图 //客户排队去银行储蓄,用到了队列的知识,这里设计了一个不带头结点的单链表作为队列来完成排队储蓄过程 #include

#include typedef struct qnode { int data; struct qnode *next; } QNode; //定义链队结点类型 typedef struct { QNode *front,*rear; } QType; //定义链队类型 void bank() //模拟客户储蓄的过程 { int cho,onwork=1,no,find; QType *q; //定义链队类型的指针 QNode *p,*r; //定义链队结点的指针 q=(QType *)malloc(sizeof(QType)); //申请链队的空间 q->front=q->rear=NULL; //创建空队 while (onwork==1) //循环执行 { printf("1:排队 2:储蓄 3:查看排队4:删除自己所排的队 5:不再排队,剩下的客户依次储蓄 6:下班请选择:"); scanf("%d",&cho); switch(cho) { case 1://排队

大作业报告格式

《供配电技术课程大作业》 报告书 题目:高低压电气设备的 维护与故障处理指导教师: 姓名: 学号: 日期: 机电工和系2013-2014学年第2学期

报告书格式要求: 一、报告前置部分 (一)摘要内容包括研究目的、方法、结果、结论(300字~400字)四部分 (二)格式要求 1.中文摘要: “摘要”(黑体三号,居中),摘要正文(居左,首行缩进两字,宋体五号)。“关键词”(黑体小四号,居左顶格,单独占行),关键词正文(宋体五号),关键词为报告研究内容3~8核心专有名词,词与词之间用分号间隔。 2.外文摘要:独占一页 “Abstract”(Times New Roman,三号,加粗,居中),Abstract正文(居左顶格,Times New Roman,五号); “Key words”(Times New Roman,小四号,加粗,居左顶格,单独占行),Key words正文(居左顶格,Times New Roman,五号),与中文关键词对应,词与词之间用分号间隔。 二、报告主体部分 (一)正文格式要求 1.页眉(宋体,五号,居中),由“学生姓名:论文题目”格式构成。 2.页码(页面底端(页脚),右侧)。 3.章条序码(阿拉伯数字,小圆点间隔,末尾不加小圆点,左顶格,编号后空一个字距)第一级0,1, 2, 3,…(黑体,小二号) 第二级1.1,1.2,… 2.1,2.2,… 3.1,3.2,……(黑体,小三号) 第三级 1.1.1,1.1.2,…1.2.1,1.2.2,…2.1.1,2.1.2,…2.2.1, 2.2.2,… 3.1.1,3.1.2,…3.2.1,3.2.2,……(黑体,四号) 如在条以下仍需分层,则通常用a,b,…或1),2),…编序,左空2个字距。 4.前言、引言不编序号 (二)图、表及公式格式要求 1.图表字体(宋体、五号),图表名(中外文对照、宋体、五号、居中),图表按章编号(如图1-1、表2-2等),图编号及图名置下,表编号及表名置上。 插图宽度不宜超过10cm,有刻度的坐标图不加箭头,标值线朝里,其标值数字尽量不超过3位数(如用30km代替30000m)或小数以后不多于一个“0”(如用5μg 代替0.005mg);标目中的物理量的符号用斜体,单位符号用正体,纵坐标标目、标值逆时针旋转九十度书写;图中坐标线、尺寸线、引线0.5磅,轮廓线、函数线等主要部分0.75磅;文中图片要清晰。 表格的绘制均用三线表,表内无斜线、竖线,结构比较复杂的表可增加不通长的辅助线;表头中量的写法要规范,量的表示法不允许出现两条斜线(如:动量矩单位kg.m2/s,在表中应为L/kg.m2.s-1);表中“空白”代表未测或无此项,“-”代表未发现,“0”代表实测数据为零。 2.公式。公式统一用Microsoft公式3.0在系统默认状态下编辑,居中放置,其前的“解”、“假设”等文字顶格书写,公式序号按章排,加圆括号,居行尾。如“(1-1)”、“(2-1)”。公式换行书写时与等号对齐,凡正文中未提到的公式可不排序。 (三)引用和注释 1.引用。引用参考文献,在正文引用位置右上角标“[1]”、“[2]”,依据出现先后次序流水编号,相同文献多处引用,统一用首次编号。

黑大数据库实验报告资料

黑龙江大学 “数据库系统原理课程设计”总结报告 学院软件学院 年级2014级 专业软件工程 学号20143983 姓名陆芝浩 报告日期2016.11.9 成绩 黑龙江大学软件学院

1、开发环境 操作系统:Windows7 编程语言环境:VC++6.0 2、DBMS系统架构 3、DBMS主要功能模块 1、实现SQL语句中的Create Table建表语句,建立相应的数据库表,并生成相应的数据字典文件和数据文件。 2、实现alter table表模式的修改功能: ①能够为已建立的表添加属性。 ②能够从已建立的表中删除属性。

3、实现drop table删除表功能。 4、实现create index创建索引的功能。 5、实现drop index删除索引的功能。 6、实现insert可以向已经创建的表插入元组。 7、实现delete从已经创建的表中删除元组。 8、实现update修改表中的数据。 9、实现SELECT语句,包括: 实现单表全属性查询。 实现单表单属性查询。 实现多表的连接全属性查询。 实现多表的连接和选择条件的全属性查询。 实现多表的连接的单属性查询。 实现多表的连接和选择的单属性查询。 实现单表的选择的单属性查询。 实现单表的选择的全属性查询。 10、利用启发式关系代数优化算法进行查询优化。 11、建立访问权限,根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制。 3.1 SQL语言的词法和语法分析 (1)功能介绍 通过编译原理的知识对输入的SQL语句进行词法分析,将SQL语句拆分为若干个单词,对其进行语法分析,确定输入的SQL语句的含义. (2)相关理论 利用编译原理的相关知识,对输入的SQL语句进行模仿SQL语言的词法及语法结构的分析。

数据结构大作业要求

数据结构实验讲义 一实验步骤 随之计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。然而,编制一个10,000行的程序的难度绝不仅仅是一个5,000行的程序两倍,因此软件开发需要系统的方法。一种常用的软件开发方法,是将软件开发过程划分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的实习题的复杂度远不如(从实际问题中提出来的)一个“真正的,,软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,我们制订了如下所述完成实习的五个步骤:’ (一)问题分析和任务定义 通常,实习题目的陈述比较简洁,或者说是有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。注意:本步骤强调的是做什么?而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么?是否接受非法的输入?对非法输入的回答方式是什么等。这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式的输入数据。 (二)数据类型和系统设计 在设计这一步骤中需分逻辑设计和详细设计两步实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为逻辑设计的结果,应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的规格说明),各个主要模块的算法,并画出模块之间的调用关系图。详细设计的结果是对数据结构和基本操作的规格说明作出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类c语言写出函数形式的算法框架。在求精的过程中,应尽量避免陷入语言细节,不必过早表述辅助数据结构和局部变量。 (三)编码实现和静态检查 编码是把详细设计的结果进一步求精为程序设计语言程序。程序的每行不要超过60个字符。每个函数体,即不计首部和规格说明部分,一般不要超过40行,最长不得超过60行,否则应该分割成较小的函数。要控制if语句连续嵌套的深度。其他要求参见第一篇的

JavaWeb期末大作业

西安欧亚学院2015—2016学年第二学期考试成绩评定表专业:软件工程课程:Web开发技术(Java)年级:14级

《Web开发技术(Java)》 大作业 姓名: 题目:Web开发技术大作业 专业:软件工程 班级: 日期:

目录 1.JSP开发概述 (1) 1.1.JSP M ODEL1 (1) 1.2.JSP M ODEL2 (1) 1.3.MVC设计模式 (2) 2.JSP MODEL1案例 (4) 2.1功能描述 (4) 2.2C ACULATOR类分析 (4) 2.3JSP页面代码分析 (4) 2.4功能实现 (4) 2.5测试用例设计 (6) 3.JSP MODEL2案例 (7) 3.1功能描述 (7) 3.2MVC架构分析 (7) 3.3M ODEL层类分析 (8) 3.4控制类分析 (8) 3.5V IEW层界面分析 (8) 3.6功能实现 (8) 3.7测试用例设计 (10)

1.JSP开发概述 1.1.JSP Model1 JSP Model 1采用了JSP+JavaBean的技术,将页面显示和业务逻辑分开。其中,JSP实现流程控制和页面显示,JavaBean对象封装数据和业务逻辑。接下来通过一张图来描述JSP Model 1的工作原理,如图1-1所示。 图1-1 JSP Model 1模型的工作原理图 从图1-1中可以看出,JSP Model 1模型将封装数据以及处理数据的业务逻辑的任务交给了JavaBean组件,JSP只负责接受用户请求和调用JavaBean的组件来响应用户的请求,这种设计实现了数据,业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。 1.2.JSP Model2 JSP Model 2架构模型采用JSP+Servlet+JavaBean的技术,此技术将原本JSP 页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。实际上JSP Model 2模型就是MVC设计模式,其中控制器的角色是由Servlet实现,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现。接下来通过一张图来描述Model 2的工作原理,如图1-2所示。 从图1-2中可以看出,Servlet充当了控制器的角色,它接受用户请求,并实例化JavaBean对象封装数据和对业务逻辑进行处理,然后将调用JSP 页面显示JavaBean中的数据信息。

有限元分析大作业报告

有限元分析大作业报告 试题1: 一、问题描述及数学建模 图示无限长刚性地基上的三角形大坝,受齐顶的水压力作用,试用三节点常应变单元和六节点三角形单元对坝体进行有限元分析,并对以下几种计算方案进行比较: (1)分别采用相同单元数目的三节点常应变单元和六节点三角形单元计算; (2)分别采用不同数量的三节点常应变单元计算; (3)当选常应变三角单元时,分别采用不同划分方案计算。 该问题属于平面应变问题,大坝所受的载荷为面载荷,分布情况及方向如图所示。 二、采用相同单元数目的三节点常应变单元和六节点三角形单元计算 1、有限元建模 (1)设置计算类型:两者因几何条件和载荷条件均满足平面应变问题,故均取Preferences 为Structural (2)选择单元类型:三节点常应变单元选择的类型是Solid Quad 4 node182;六节点三角形单元选择的类型是Solid Quad 8 node183。因研究的问题为平面应变问题,故对Element behavior(K3)设置为plane strain。 (3)定义材料参数:弹性模量E=2.1e11,泊松比σ=0.3 (4)建几何模型:生成特征点;生成坝体截面 (5)网格化分:划分网格时,拾取lineAB和lineBC,设定input NDIV 为15;拾取lineAC,设定input NDIV 为20,选择网格划分方式为Tri+Mapped,最后得到600个单元。

(6)模型施加约束:约束采用的是对底面BC 全约束。大坝所受载荷形式为Pressure ,作用在AB 面上,分析时施加在L AB 上,方向水平向右,载荷大小沿L AB 由小到大均匀分布。以B 为坐标原点,BA 方向为纵轴y ,则沿着y 方向的受力大小可表示为: }{*980098000)10(Y y g gh P -=-==ρρ 2、 计算结果及结果分析 (1) 三节点常应变单元 三节点常应变单元的位移分布图 三节点常应变单元的应力分布图

大型数据库管理实验报告4

武汉轻工大学 经济与管理学院实验报告 实验课程名称大型数据库管理 实验起止日期2019.11.5至2019.12.10 实验指导教师程红莉 实验学生姓名学生班级学号物流管理1702 实 验 评 语 实验 评分 教师 签名 年月日

实验项目名称数据完整性实验日期2019.12.10 学生姓名班级学号物流管理1702 一、预习报告(请阐述本次实验的目的及意义) 1.熟悉通过SQL对数据进行完整性控制。 2.完成书本上习题的上机练习。 二、实验方案(请说明本次实验的步骤和进程) 1.用Constraint和Check建立完整性约束条件 教材164页例[7] Student表的ssex 只允许取‘男’或‘女’ create table student1 (sno char(9) primary key, sname char(8) not null, sex char(2) check(sex in('男','女')), sage smallint, sdept char(20) ); 教材164页例[8] create table sc1 (sno char(9), cno char(4), grade smallint check(grade>=0 and grade<=100), primary key(sno,cno), foreign key(sno)references student1(sno), foreign key(cno)references course(cno) ); 教材164页例[7]、例[8](给学生表的性别增加约束条件,即只允许“男”或“女”。可用语句: alter table student add constraint course1 check(sex in('男','女')) alter table sc add constraint course2 check (score>=0 and score<=100) go

大数据结构大作业报告材料

数据结构课程设计课题名称 专业名称 学生姓名 学号+电话 指导教师

评分细则

目录 评分细则----------------------------------------------------------------------------------------------------------------- 2 一、课题描述 ---------------------------------------------------------------------------------------------------------- 4 二、需求分析 ---------------------------------------------------------------------------------------------------------- 4 2.1 ------------------------------------------------------------------------------------------------------------------ 4 2.2- ------------------------------------------------------------------------------------------------------------------4 2.3--------------------------------------------------------------------------------------------------------------------4 三、概要设计 ---------------------------------------------------------------------------------------------------------- 4 3.1 结构分析 ----------------------------------------------------------------------------------------------------------- 4 3.2函数------------------------------------------------------------------------------------------------------------ 4 3.2.1 malloc() --------------------------------------------------------------------------------------------- 4 3.2.2getchar() ----------------------------------------------------------------------------------------------------- 5 3.2.3 list_create() ------------------------------------------------------------------------------------------------ 5 3.2.4 list_disp() --------------------------------------------------------------------------------------------------- 5 3.2.5 list_sort() --------------------------------------------------------------------------------------------------- 5 四、详细设计 ---------------------------------------------------------------------------------------------------------- 5 4.1课题分析 ----------------------------------------------------------------------------------------------------- 5 4.1.1选择 ------------------------------------------------------------------------------------------------- 5 4.1.2冒泡 --------------------------------------------------------------------------------------------------------- 5 4.1.3 堆------------------------------------------------------------------------------------------------------------ 6 4.1.4 快速--------------------------------------------------------------------------------------------------------- 6 4.1.5 基数--------------------------------------------------------------------------------------------------6 4.1.6 希尔--------------------------------------------------------------------------------------------------------- 6 4.1.7 归并--------------------------------------------------------------------------------------------------6 4.2课题实现 ----------------------------------------------------------------------------------------------------- 7 五、测试数据及结果------------------------------------------------------------------------------------------------- 9 六、调试分析及总结----------------------------------------------------------------------------------------------- 10

《.net程序设计》大作业报告模板

《.net程序设计》大作业报告学院信息科学与技术学院 专业 学号 学生姓名 指导教师 2017年12月

摘要 目前各种资格认证考试的在线考试通过无纸化考试方式实现了跨越时间、空间的限制,节省了大量的物力财力。在线考试和即时阅卷提高了考试效率,减轻了考生和考务人员的负担。学校的传统考试沿用纸质出题、打印,考试、监考、人工阅卷的流程,中间资源浪费较多。相比而言,在线考试能够更好的服务于学生,满足考试的需求,是网络教育的发展重点。在线考试涉及管理学生考试信息、试题信息的维护和更新,是能够实现的有效的考试方式。在线考试是学校网络教育发展的必然趋势。 本文以开发适用于学校的在线模拟考试系统为例,针对试题维护、随机组卷、在线考试进行了开发和测试,进行了相关的探索和研究。 关键词:JSP 在线考试维护

目录 第1章需求分析 (1) 1.1 XXX (1) 第2章系统模块设计 (3) 2.1 XXX (3) 第3章数据库设计 (6) 3.1 XXX (6) 第4章系统实现 (16) 4.1 登录模块 (16) 第5章心得体会 (36) 参考文献 (37) 附录(源代码) (38)

第1章需求分析 页面设置:A4,上、下页边距3cm,左、右页边距2.5cm 正文:宋体小四号字,首行缩进、固定行距20磅 本章最后说明每个组员的具体分工

第2章系统模块设计功能框图参见如下格式: 图2.1 系统的总体结构

第3章数据库设计 数据表采用如下任一种格式: 表3.1 学生表(Student) 表3-1 考生信息表 字段名字段类型可否为空说明 Id Bigint(8) not null 主键自增 Name Varchar(20) not null 姓名 Sex Varchar(2) not null 性别 Answer Profession CardNo Grade Varchar(50) Varchar(30) Varchar(18) Varchar(18) not null not null not null not null 问题答案 专业 身份证号 所属班级

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

大型数据库实验报告

中南大学大型数据库实验报告 课程名称大型数据库技术指导教师 姓名 学号 专业班级

《大型数据库技术》实验三 1.写一个PROC程序,查询并显示表Agents的所有记录。要求定义一个数组类型的宿主变量,一次性把所有记录从服务器端传送到客户端,然后逐行显示。 Java代码如下: public void selectAgents() throws Exception { Connection conn = this.getConnection(); Statement stmnt = conn.createStatement(); ResultSet set = stmnt.executeQuery("select * from Agents"); System.out.println("查询结果如下:\n"); while (set.next()) { String id = set.getString("AID"); String name = set.getString("ANAME"); String city = set.getString("CITY"); int percent = set.getInt("PERCENT"); System.out.println("aid:"+ id + " aname:"+ name + " city:" + city + " percent:" + percent); } set.close(); stmnt.close(); conn.close(); } 测试代码: public static void main(String[] args) throws Exception { String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "jelly"; String pwd = "csusoft"; DBOpers db = new DBOpers(url, user, pwd); db.selectAgents(); } 测试结果: 2.写一个PROC程序,根据用户输入的城市,查询并逐行显示该城市所有顾客的编号、名称和折扣。如果该城市中不存在任何顾客,则调用一个错误处理函数,函数中显示错误信息:“该城市中不存在顾客”。 Java代码如下:

数据结构大作业

数据结构课程设计 题目:长整数四则运算 班级:信管12-1 学号:1201050642 姓名:庄术洁 指导老师:刘晓庆 2014年5月22日

一、需求分析 1、利用双向循环链表实现长整数的存储,每个结点含一个整数变量。任何整形变量的范围是—(2^15—1)~(2^15—1)。输入和输出形式:按中国对于长证书的表示习惯,每四位一组,组间用逗号隔开。 2、测试数据 (1) 0; 0;应输出“0” (2)—2345,6789;—7654,3211;应输出“—1,0000,0000”。 (3)—9999,9999;1,0000,0000,0000;应输出“9999,0000,0001”。 (4)1,0001,0001;—1,0001,0001;应输出“0”。 (5)1,0001,0001;—1,0001,0000;应输入“1”。 (6)—9999,9999,9999;—9999,9999,9999;应输出“—1,9999,9999,9998”。 (7)1,0000,9999,9999;1应输出“1,0001,0000,0000”。 二、概要设计 为上述程序功能,应以有序表实现长整数的存储,为此,需要抽象数据类型:有序表

(8)有序表的抽象数据类型定义为: ADT Dulinklist{ 数据对象: D={ai|ai为带符号整数,1,2,…,n,n>=0} 数据关系:R1={|ai-1,ai属于集合D,ai-1

《网站架设与WEB设计》大作业报告模板

《图书管理系统》 院系:应用数学学院 年级专业:11级信息与计算科学 学号:1110012127 姓名:蔡雪梅 指导教师:胡航宇 成绩: 2013年6月

目录

1. 背景﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 4 2. 开发工具与环境 2.1 开发工具﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍5 2.2 环境配置﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍5 3. 系统需求分析 3.1 系统需求分析﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 6 3.2 功能需求描述﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 6 3.3 性能需求﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 6 3.4 可行性论证﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 7 4 设计步骤及成果 4.1 流程分析﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 8 4.2 系统功能模块图.﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍8 4.3 数据库连接模块设计﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 9 4.4 用户登陆﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 10 4.5 图书查询﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 11 4.6 添加图书信息﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 12 4.7 删除图书﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍ 12 5. 总结错误!未定义书签。﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍13 第一章背景

西电数据结构大作业

题目:数据结构上机报告学院:电子工程学院 专业:信息对抗技术 学生姓名:甘佳霖 学号:14020310092

西安电子科技大学 数据结构课程实验报告实验名称线性表 电子工程学院 1402031 班Array姓名甘佳霖学号 14020310092 同作者 实验日期 2017 年 3 月 18 日

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验要求 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n, e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。 三、设计思路 1.顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end 指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。 2.分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。 四、运行结果 1.单链表逆置:

相关文档
最新文档