文档库 最新最全的文档下载
当前位置:文档库 › 数据结构 程序设计 机票管理系统

数据结构 程序设计 机票管理系统

数据结构 程序设计 机票管理系统
数据结构 程序设计 机票管理系统

学号

数据结构课程设计

设计说明书

机票管理系统

起止日期:2011年12月12 日至2011 年12月16日

学生姓名

班级

成绩

指导教师(签字)

电子与信息工程系

2011年12月16日

天津城市建设学院

课程设计任务书

2011—2012学年第1学期

电子与信息工程系软件工程专业班级

课程设计名称:数据结构课程设计

设计题目:机票管理系统

完成期限:自2011 年12 月12 日至2011 年12 月16 日共 1 周

设计依据、要求及主要内容(可另加附页):

一、设计目的

熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。

二、设计要求

(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;

(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;

(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;

(4)认真编写课程设计报告。

三、设计内容

机票管理系统

1)问题描述

一机场每天有n个航班,每个班次都有一班次号(1、2、3…n),固定的起飞时间,固定的路线(起始站、终点站),大致的飞行车时间,固定的额定载客量。如

班次起飞时间起点站终点站飞行时间额定载量已定票人数

1 8:00 天津广汉

2 145 130

2 6:30 天津成都 0.5 140 140

3 7:00 天津成都 0.5 140 120

4 10:00 天津成都 0.

5 140 120

试设计一个机票管理系统,对机场的售票情况进行管理。

2) 基本要求

功能要求:

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据;

(2)浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的起飞时间,则显示“此班已发出”的提示信息)。

(3)查询路线:可按班次号查询 ,可按终点站查询;

(4)售票和退票功能

A:当查询出已定票人数小于额定载量且当前系统时间小于起飞时间时才能售票,自动更新已售票人数

B:退票时,输入退票的班次,当本航班飞机未发出时才能退票,自动更新已售票人数。

目录

一、需求分析 (6)

二、问题求解 (6)

三、总体设计 (6)

1.程序设计组成框图: (5)

2.程序设计流程图 (6)

四、详细设计 (7)

1.根据飞机订票系统的可设要求,要实现以下功能: (8)

2.具体的方法及函数调用的思想: (8)

定义要存储的变量:..................................... 错误!未定义书签。

3.方法的实现: (8)

五、调试与测试 (9)

1.录入信息时 (9)

2.订票时: (9)

3.退票时: (10)

六、关键源程序清单和执行结果 (10)

1.源程序: (10)

2.执行结果: (14)

七、参考文献 (19)

一、需求分析

本课程设计的名称是机票管理系统,本系统主要是描述了机票管理的一些具体情况,包括录入航班、查询情况和订票以及退票,查询航班号是否存在,确定订票管理根据飞机的载量判断是否有剩余的载量,当载量小于飞机的载量可以订票,有特殊情况发生时会伴随着退票的发生。这就是产生订票系统产生的原因。

二、问题求解

当我们遇到飞机订票这件事情的时候,我们通常发生的地点是飞机场,首先,我们应该到售票大

首先就要查询是否有该路线的票,如果有的话则进行购买,即要通过把信息录入accept()方法来实现。则要录入航班号(prn),起飞时间(qifei),飞行时间(shijian),起始站(from),终点站(to)等。

在查找chaxun()方法中,首先定义航班号*getprn指针,然后读入文件信息,输入要查询的航班号用指针查询,用strcmp()是用来比较字符串的大小,它的返回值是char类型。

用accept写入信息并存入文件passenger.txt,在读取dis()方法中,读取已有的航班,航班mainmune()输出。

订票时,首先应输入飞机航班号(cin>>prn),因为事先在列表里存储了四个航班信息,输入的订票数量。根据订票的数量和载量做对比strcmp,如果小于载量就可以订票,则订票成功,返回"订票成功 ",返回是输出mainmune()。

退票时,首先输入航班号prn(),确认退票,就可以显示退票成功。输出mainmune。

三、总体设计

1.程序设计组成框图

2.程序设计流程图

四、详细设计

1.根据订票管理系统的可设要求,要实现以下功能:

(1)录入:

录入航班情况

(2)查询:

根据航班号进行查询

(3)订票:

1)当有余票时显示剩余票数,则可以订票成功,如果没有载量,则订票失败。

2)当系统时间小于起飞时间的方法没有时间。

(4)退票:

1)当飞机没有起飞,则可以退票成功。

2.具体的方法及函数调用的思想:

(1)函数实现:

可以通过以下的声明来建立如图的数据类型

char prn[20];

char qifei[20];

char from[20];

char to[20];

char shijian[20];

char zailiang[20];

int piaoshu;

{ }里的变量依次表示为:航班号,起飞时间,起始站点,终点站名,飞行时间,载量,已订票人

3.方法的实现:

1)accept ( ); //写入信息并存入文件

因为可设要求把数据存储在文件中,所以必须编写此保存方法,

写入实现方式:ofstream out("passenger.txt",ios::app); //输出方式打开文件,写入数据添加在文件末尾

2)dis( ); //从文件读取信息并显示

read方法是用来读取airpline.txt文件中航班数据的,ios:in 以输入方式打开文件

保存 ("passenger.txt")目录下。并且在目录里显示信息。

3)chaxun( ); //查询,按航班号来查询

根据已有的飞机信息来依据航班号信息来查询航班。查询到并输出列表。

4)dingpiao(); //订票函数

可以根据航班的载量来判定是否可以订票。如果当查询出已定票人数小于额定载量,则可以订票,输出订票成功。

5)tuipiao( ); //订票函数

当订票的时候,首先要输入要订票的航班号,因此在这之后应读入在系统中的航班的航班号,航班有没有起飞做对比,则可以办理退票。

五、调试与测试

1.录入信息时

定义的是字符型,注意输入的时候不能输入别的类型。否则不能识别。

2.系统时间小于起飞时间的功能没有实现

自己经过反复的试着把这功能实现,但是最后都是无功而返,经过同学咨询同学也模糊,由于我的类方法实现的,很难定义结构体时间函数,由于这个功能的缺陷,本人改编将系统的时间在主函数里定义,测试时候显示出来了

struct tm *newtime;

char tmpbuf[128];

time_t lt1;

time( <1 );

newtime=localtime(<1);

strftime( tmpbuf, 128, " TODASY 9 月 %d %A %H:%M \n", newtime);

printf(tmpbuf);

),由于个人能力有限,时间有限,根据老师的要求最后决定是自己用C++实现的(本人操作实现)。自己知道怎么实现的思路但是实际操作还是差点,另外在类中很难实现,但是要把这功能加上根据本人能力。由于时间关系,这部分功能未能实现。

六、关键源程序清单和执行结果

1.源程序:

#include

#include

#include

#include

using namespace std;

class Airplay //定义类

{public:

char prn[20];

char qifei[20];

char from[20];

char to[20];

char shijian[20];

char zailiang[20];

int piaoshu;

public:

void getdetail()

{

cout<<"请输入航班号: ";

cin>>prn;

cout<<"请输入起飞时间: ";

cin>>qifei;

cout<<"请输入起点: ";

cin.ignore();

cin.getline(from,20);

cout<<"请输入终点: ";

cin.getline(to,20);

cout<<"请输入飞行时间: ";

cin>>shijian;

cout<<"请输入载量: ";

cin>>zailiang;

cout<<"请输入订票数: ";

cin>>piaoshu;

}

void display()

{

cout<<"航班号\t起飞\t起点\t终点\t飞行\t载量\t订票数"<

}

void print() //显示信息

{

cout<

}

char *getPrn()

{

return prn;

}

};

void mainmune()

{

cout<<"------------------------------------"<

cout<<"***********机票管理系统*************"<

cout<<"------------------------------------"<

cout<<"1.) 录入机票信息"<

cout<<"2.) 显示所有信息"<

cout<<"3.) 按航班号查询"<

cout<<"4.) 售票的功能"<

cout<<"5.) 退票的功能"<

cout<<"6.) 退出"<

cout<<"please choice:"<

}

void accept() //写入信息并存入文件

{

system("cls");

mainmune();

Airplay rai;

ofstream out("passenger.txt",ios::app); //输出方式打开文件,写入数据添加在文件末尾rai.getdetail();

out.write((char *)&rai,sizeof(rai));

out.close();

}

void dis() //从文件读取信息并显示

{

system("cls");

mainmune();

Airplay rai;

ifstream in("passenger.txt");

rai.display();

while(in.read((char *)&rai,sizeof(rai)))

{

rai.print();

}

in.close();

}

void chaxun() //按航班号查询

{

system("cls");

mainmune();

char prns[20];

Airplay rai;

cout<<"输入航班号:";

cin>>prns;

fstream fs("passenger.txt",ios::in|ios::out);

while(fs.read((char *)&rai,sizeof(rai)))

{

if(strcmp(prns,rai.getPrn())==0)

{

rai.display();

rai.print();

fs.close();

break;

}

}

}

void shoupiao() //售票的功能

{

system("cls");

mainmune();

int i;

char j[20];

cout<<"要定的航班:";

cin>>j;

cout<<"顾客订票数:";

cin>>i;

system("cls");

mainmune();

Airplay rai;

ifstream in("passenger.txt");

rai.display();

while(in.read((char *)&rai,sizeof(rai))) {

if(strcmp(j,rai.getPrn())==0)

{

rai.print();

rai.piaoshu+=i;

}

}

cout<<"订票成功";

}

void tuipiao() //退票的功能

{

system("cls");

mainmune();

char h[20];

cout<<"顾客退票的班次:";

cin>>h;

system("cls");

mainmune();

Airplay rai;

ifstream in("passenger.txt");

rai.display();

while(in.read((char *)&rai,sizeof(rai))) {

if(strcmp(h,rai.getPrn())==0)

{

rai.print();

rai.piaoshu-=1;

}

}

cout<<"退票成功";

}

void main() //主函数

{

struct tm *newtime;

char tmpbuf[128];

time_t lt1;

time( <1 );

newtime=localtime(<1);

strftime( tmpbuf, 128, " TODASY 9 月 %d %A %H:%M \n", newtime); printf(tmpbuf);

int choice;

while(true)

{

mainmune();

cin>>choice;

switch(choice)

{

case 1: accept();

break;

case 2: dis();

break;

case 3: chaxun();

break;

case 4: shoupiao();

break;

case 5: tuipiao();

break;

case 6: exit(0);

}

}

}

2.执行结果:

查询:

售票:

退票:

退出:

七、参考文献

1.王红梅.数据结构.清华大学出版社

2.王红梅.数据结构学习辅导与实验指导.清华大学出版社3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社

Java课程设计-----飞机航班管理系统

一.引言 1.1项目的名称 飞机航班信息管理系统 1.2项目背景和目标 飞机航班信息管理系统主要能够查询飞机的航班情况,飞行线路,票价,折扣等等情况,并能够在数据库中更新维护飞机航班的信息,对飞机航班 数据库进行管理,如航班的增加,删除和修改等。我们的目标就是为该系 统提供后台连接数据库程序设计以及前台用户界面设计。 1.3项目的可行性研究 设计此系统需要java面向对象编程基础,数据库应用知识以及功能分析。 根据目前所开设的课程,学生已经具备这样的知识,有能力综合java编 程知识和数据库应用知识做出一个这样的飞机航班信息管理系统。二、需求分析 2.1系统概述 此系统提供给系统管理员和用户。系统管理员登陆后可以对飞机航班信息进行管理,如:添加飞机航班信息,删除飞机航班信息,修改飞机航班属性。用户登陆后能进行飞机航班信息查询,订票以及退订。 2.2系统运行环境 Java运行在eclipse软件上,数据库用mysql数据库 2.3功能需求描述 用户选择相关的服务项目可以查看相关航班基本信息,并且可以根据自己需求选择相应服务,系统的信息更新时,相关的信息经过相应处理后,会存入到飞机航班数据库中的航班信息记录表中;系统管理员根据航空公司实际情况可以更新航班信息,并通过修改信息处理后被保存到飞机航班表中。

三、系统设计 开发与设计的总体思想 飞机航班信息管理系统主要分为用户和系统管理员2类,因此也将该系统分为2个相应的大的功能模块。 用户可以通过服务项目选择查询相关航班情况,进行订票,退订等服务项目。系统会将数据库中相应信息反馈给顾客。 系统管理员负责管系统信息的及时更新,可以根据航空公司航班的具体的情况更新数据库。 系统模块结构图

数据结构课程设计

题目: 学院: 专业班级: 学生姓名: 指导教师: 2016 年06 月2 9日

目录 一、课程设计目的 (3) 二、课程设计步骤 (3) 三、课程设计内容 (4) 四、课程设计报告 (6) 五、提交材料 (6) 六、考核方式与评分标准 (7) 七、参考文献 (8) 附录1 齐齐哈尔大学软件工程系课程设计说明书(报告)撰写规范 (9)

一、课程设计目的及要求 《数据结构与算法分析》课程设计培养计算机专业的学生的算法程序设计能力。通过上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对数据结构课程和算法的理解。使学生更好地掌握数据结构的基本概念、基本原理、及基本算法,具有分析算法、设计算法、构造和开发较复杂算法的基本能力。 要求学生能综合运用《数据结构与算法分析》的相关知识,培养学生上机解决一些与实际应用结合紧密的、规模较大的问题的能力,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析实际问题的能力并提高C语言编程技巧,培养良好的编程风格。 课程设计要求独立完成,题目自选(参考题目见三,也可自拟),但需要老师确认(6月16日前定题),一人一题,要求程序有能采用交互式工作方式的界面进行功能的选择,只能用文件存储数据和处理数据不能使用数据库。要求在教学周的第18周前完成。 二、课程设计步骤 随着计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。然而,编制一个10000行的程序的难度绝不仅仅是一个5000行的程序的两倍,因此软件开发需要系统的方法。一种常用的软件开发方法,是将软件开发过程分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的课程设计的复杂度远不如(从实际问题中提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,完成课程设计的应有如下的5个步骤: 1.问题分析和任务定义 通常,课程设计题目的陈述比较简洁,或者说是有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么,限制条件是什么。注意:本步骤强调的是做什么,而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等。这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式输入的数据。 2.数据类型和系统设计 在设计这一步骤中需分逻辑设计和详细设计两步实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各过程和函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为逻辑设计的结果,应写出每个

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

员工信息管理系统(数据结构)

员工信息管理系统课程设计报告 系别:计算机与信息工程系 班级: B080501 姓名:李海鹏 学号: B08050128 指导教师:张红霞 课设时间:2010-6-21到2010-6-25

摘要 员工信息管理系统属于信息管理系统。员工信息管理是每个公司不可缺少的。系统用C程序开发,主要在于建立好一个合适的数据结构,并要求程序简洁实用。 本系统利用C语言简洁、灵活,数据结构丰富等特点,编写适合公司使用的系统。整个系统使用起来也比较方便,入手简单,操作方便。论文主要介绍了程序设计过程、设计方案以及测试过程,重点讲解了设计过程中的思想,技术解决方案等等。 关键字:员工信息管理,C程序,数据结构

前言 (3) 第1章课设题目 (4) 第2章开发运行环境及相关知识 (4) 第3章程序总体设计 (5) 3.1 主要功能模块 (5) 3.2 数据结构 (6) 第4章程序详细设计及实现 (7) 4.1 输入函数 (7) 4.2 排序函数 (7) 4.3 显示函数 (7) 4.4 查找函数 (7) 4.5更改函数 (8) 4.6 删除函数 (8) 4.7 主函数 (8) 4.8 其他函数 (9) 第5章系统功能测试 (9) 5.1 系统主界面 (9) 5.2 输入数据 (9) 5.3 显示数据 (10) 5.4 信息排序 (10) 5.5 更改信息 (11) 5.6 删除信息 (11) 第6章课设总结 (12) 第7章程序清单 (13) 参考文献 (22)

前言 本课程设计旨在理论学习和基础实验的基础上,开发规模较大的程序,掌握应用计算机编程解决实际问题的基本方法,熟悉C程序开发的全过程,掌握数据结构的使用方法,熟练应用各种数据结构。 本次任务是根据给定的数据和程序,应用单向链表处理一系列公司员工的信息。通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。 报告将分6个章节来详细讲述本次课设题目的开发过程。 第1章主要描述课设的题目及要求; 第2章来介绍程序开发运行环境; 第3章介绍程序主体设计,网络程序概要; 第4章是对程序进行详细分析,对各个函数进行详细描述,并阐述程序实现技术等信息; 第5章为测试过程,主要用测试过程中的图片来表述最终信息; 第6章也是最后一章,为本次实践活动的心得体会。

天津大学数据结构和程序设计考研真题

天津大学数据结构和程序设计考研真题-考研资料- 笔记讲义 许多学生在考研复习的时候,都会遇到重点不明确,不知道从何复习的情况。为此,天津考研网建议,考研复习中,专业的考研复习资料,是帮助考生能够快速掌握复习重点及方法必不可少的因素,然后就是真题和讲义,可以让同学了解历年考研的出题方向和大致范围。天津考研网推出了天津大学数据结构和程序设计的考研复习资料及真题解析班,以下为详细介绍: 天津大学数据结构和程序设计考研真题等资料由天津考研网签约的天津大学计算机科学与技术学院高分考研学生历时近一月所作,该考生在考研中取得了专业课129分的好成绩并在复试中更胜一筹,该资料包含该优秀本校考生的考研经验、考研试题解题思路分析、复试流程经验介绍以及针对官方指定参考书的重难要点并根据天津大学本科授课重点整理等,从漫漫初试长路到紧张复试亮剑为各位研友提供全程考研指导攻关。 特别说明:此科目06年以前科目名称为数据结构;自06年到08年科目名称改为计算机基础(包含数据结构、程序设计、计算机原理);自09年开始全国统考,科目名称为计算机学科专业基础综合;自2013年开始由学校自主命题,科目名称改为901数据结构与程序设计。 第一部分由天津考研网提供的核心复习资料: 天津大学数据结构和程序设计资料编者序言:本文的重点在于C++,数据结构的复习和复试基本情况介绍。C++、数据结构又分别从复习规划,复习用书,重点知识点结合历年考题这四个方面来展开的。复习规划大家务必看一下,然后根据自己的实际情况在制定自己的复习时间,因为内容很多,大多数同学都在考试之前复习不完,在心理因素上就落了一节。重点知识点一定要看了,这些知识点几乎每年都会有题了。另外我还给了历年试题的答案供大家参考。有的答案是自己做的答案,可能会有疏忽的地方。望大家提出宝贵的意见和建议。复试的东西现在了解一下即可,等到进复试了,还是有足够的时间看的。另外我还给了些自己复习心得。考完后感慨很多,回顾了这多半年来自己的成败得失。希望大家从一开始就沿着比较高效的方向前进,减少不必要时间的浪费。本资料格式为A4纸打印版,总量达到了130页

航空公司运行管理系统(FOC)解决方案

航空公司运行管理系统(FOC)解决方案 1.方案简述 1.1 FOC的定义 FOC(Flight Operations Control)是一个对航空公司进行运行管理的系统,它囊括了公司运行所涉及到的各部门的职能,同时还应与公司进行机务、商务管理的系统建立接口,以及与机场和空管局等相关单位的生产系统建立接口。 1.2 FOC总体结构 目前,各航空公司FOC系统根据其特点会有所不同,但从总体上包括的内容基本上是一致的,下图描述了航空公司FOC系统的总体结构。 1.3 建设目标 航空公司通过FOC系统的建设,基本上可以实现运行管理的自动化、规范化和信息化,具体体现在:

1. 建立整个航空公司的数据仓库,对历年的航班时刻数据、飞机的性能数据、全球的导航数据、各航班的运营数据等等进行有效的管理。一方面可以为本系统所用,同时也可以为其它系统提供数据上的有力支持。 2. 对航班运行计划进行有效的管理,确保各部门是按照同一份航班计划来工作,避免产生工作脱节现象。 3. 有效及时地监控公司航班的执行情况,并根据实际情况(如天气、延误、旅客人数等)对航班进行合理有效地调整。 4. 根据各方面汇总的信息(如油量、机组、飞机、气象、NOTAM等)对飞机进行放行评估,保障飞机飞行的安全性。 5. 建立ACARS、SITA、AFTN等报文系统的接口,提高获取信息及发送信息的效率。 6. 制作计算机飞行计划,在最大程度上节约燃油成本,保障飞行安全。 7. 对本公司飞机的飞行进行全程监控,保障飞行安全。 8. 提供多种信息的网上查询手段,为旅客提供方便;同时也为相关人员的航前准备提供方便。 1.4 系统特点 安全性:通过对用户的有效管理,可有效防止非法用户登录和修改数据;通过应急系统的的设计,使主系统出现故障时仍能开展基本的工作。 可扩展性:完全按照IATA AHM和SSIM标准对系统数据结构进行设计,保证系统在今后的建设中可以基本不对目前系统进行修改;通过接口的方式,提供与其它系统的数据交换,可在必要的情况下对系统体系不做修改而增加数据的来源。 高效性:通过基于消息的数据传输,提高对关键数据的响应速度,并有效减轻系统的负荷。 数据完整性:通过对数据库备份方案的严谨设计,以保证在出现硬件故障的情况下,能够尽可能完整地恢复系统数据。 容错性:通过各种数据来源之间的相互备份关系,保证在部分数据源出现故障的情况下,系统仍然可以正常运行。

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

数据结构与程序设计C++描述(Kruse著)高等教育出版社_课后答案.

Programming Principles 1 1.2 THE GAME OF LIFE Exercises 1.2 Determine by hand calculation what will happen to each of the configurations shown in Figure 1.1 over the course of five generations. [Suggestion: Set up the Life configuration on a checkerboard. Use one color of checkers for living cells in the current generation and a second color to mark those that will be born or die in the next generation.] Answer (a) Figure remains stable. (b) (c) (d) Figure is stable. 1 2 Chapter 1 _ Programming Principles (e) (f) Figure repeats itself. (g) (h) (i) Figure repeats itself. (j) (k) (l) Figure repeats itself. Section 1.3 _ Programming Style 3 1.3 PROGRAMMING STYLE Exercises 1.3

E1. What classes would you define in implementing the following projects? What methods would your classes possess? (a) A program to store telephone numbers. Answer The program could use classes called Phone_book and Person. The methods for a Phone_book object would include look_up_name, add_person, remove_person. The methods for a Person object would include Look_up_number. Additional methods to initialize and print objects of both classes would also be useful. (b) A program to play Monopoly. Answer The program could use classes called Game_board, Property, Bank, Player, and Dice. In addition to initialization and printing methods for all classes, the following methods would be useful. The class Game_board needs methods next_card and operate_jail. The class Property needs methods change_owner, look_up_owner, rent, build, mortgage, and unmortgage. The class Bank needs methods pay and collect. The class Player needs methods roll_dice, move_location, buy_property and pay_rent. The class Dice needs a method roll. (c) A program to play tic-tac-toe. Answer The program could use classes called Game_board and Square. The classes need initialization and printing methods. The class Game_board would also need methods make_move and is_game_over. The class Square would need methods is_occupied, occupied_by, and occupy. (d) A program to model the build up of queues of cars waiting at a busy intersection with a traffic light. Answer The program could use classes Car, Traffic_light, and Queue. The classes would all need initialization and printing methods. The class Traffic_light would need additional methods change_status and status. The class Queue would need additional methods add_car and remove_car. E2. Rewrite the following class definition, which is supposed to model a deck of playing cards, so that it conforms to our principles of style. class a { // a deck of cards int X; thing Y1[52]; /* X is the location of the top card in the deck. Y1 lists the cards. */ public: a( ); void Shuffle( ); // Shuffle randomly arranges the cards. thing d( ); // deals the top card off the deck } ; Answer class Card_deck { Card deck[52]; int top_card; public: Card_deck( ); void Shuffle( ); Card deal( );

数据结构课程设计

<<数据结构>> 课 程 设 计 班级:111004 姓名:董丽美 学号:111004122 指导教师:史延新 完成日期:2013 _07 _10

题目一:约瑟夫环问题 【问题描述】约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n 的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m 的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出列顺序。【基本要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出各人的编号。 【测试数据】m的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6(正确的出列顺序应为:6,1,4,7,2,3,5) 一 .需求分析 1.用单循环链表存储并遍历及删除节点的方法,计算并输出约瑟夫环的问题。 2.环中总人数和节点信息由用户输入,且均为正整数。3.在窗口界面输出出列顺序的编号。 二.概要设计

1.设定链表的抽象数据类型定义: ADT List{ 数据对象:D={a(i)|a(i)∝Elemset,i=1,2,…,n,n>=0} 数据关系:R1={|a(i-1),a(i)∝D,i=2,…,n}基本操作: InitList(&L) 操作结果:构造一个空的线性表 ListInsert(&L,i,e) 初始条件:线性表L已经存在。 操作结果:在L中第i个位置之前插入新的数据元素 e,L的长度增加1。 ListDelete(&L,i,&e) 初始条件:线性表L已经存在且非空,1<=i<=ListLength(L)。操作结果:删除L的第i个数据元素,并用e返回其值,L 的长度减1 。 } 2.算法的基本思想: 根据题目要求,采用单循环线性表的基本操作来实现约瑟夫环问题。首先根据所给信息生成链表节点并插入,根据节点记录密码及其所在链表中的顺序,由给出的初始访问值进行遍历,当变量i增量等于所给的值(即关键字)时,指针所指的节点处的顺序值即为所需输出的顺序号。每输出一次顺

数据结构课程设计报告

山东建筑大学 课程设计成果报告 题目: 1.数组实现两个矩阵的相乘运算 2.成绩分析问题 课程:数据结构A课程设计 院(部):管理工程学院 专业:信息管理与信息系统 班级:信管*** 学生姓名:*** 学号:******** 指导教师:******* 完成日期:2016年12月29日

目录 目录 (2) 一、课程设计概述 (3) 二、课程设计题目一 (3) 用数组实现两个矩阵的相乘运算 (3) 2.1[问题描述] (3) 2.2[要求及提示]: (3) 2.3[详细设计] (4) 2.4[调试分析] (5) 2.5[运行结果及分析] (5) 三、课程设计题目二 (6) 成绩分析问题 (6) 3.1[问题描述] (6) 3.2[概要设计] (6) 3.3[存储结构] (7) 3.4[流程图] (7) 3.5[详细设计] (8) 3.6[调试分析] (8) 3.7[运行结果及分析] (22) 四、参考文献: (25)

一、课程设计概述 本次数据结构课程设计共完成两个题:用数组实现两个矩阵相乘运算、成绩分析问题。使用语言:C 编译环境:vc6.0 二、课程设计题目一 用数组实现两个矩阵的相乘运算 2.1[问题描述] #include “stdio.h” int r[6][6]; void mult(int a[6][6] , int b[6][6]){ } main(){ int i,j; int num1[6][6],num2[6][6]; printf(“请输入第一个矩阵的值:”,); for(i=1;i<=6;i++) for(j=1;j<=6;j++) scanf(“%d”,&num1[i][j]); printf(“请输入第二个矩阵的值:”,); for(i=1;i<=6;i++) for(j=1;j<=6;j++) scanf(“%d”,&num2[i][j]); mult(num1,num2); printf(“\n两个矩阵相乘后的结果为:”); for(i=1;i<=6;i++) {for(j=1;j<=6;j++) printf(“%4d”,r[i][j]); printf(“\n”); } } 2.2[要求及提示]: 1、要求完善函数mult( ),

飞机航班管理系统

飞机航班管理系统数据库设计 1 概述(设计题目与可行性分析) 1.1设计题目 本次课程设计的题目是飞机航班管理系统设计。根据给出初始条件建立一个管理飞机航班的数据库,能够从中查询飞机的航班情况,飞行线路,票价,折扣等等情况。并能在数据库中更新维护飞机航班的信息,进行需求分析、概念设计、逻辑设计和物理实现,实现飞机航班数据库,并且基于该数据库实现具有一定功能的应用程序。 1.2可行性分析 对于飞机航班管理,航空公司里可能有很多飞行班次。简单的书面管理无法满足对客户的服务需求和自身的高效运作。该系统实现后可对航班进行科学的微机管理,也使得用户可以直接在网上享受对航班的查询,订票,退票等服务,大大提高管理效率和服务水平。综上,飞机航班数据库是值得去现实的,下面从技术可行性、经济可行性和操作可行性3个方面进行分析: (1)技术可行性:与飞机航班管理数据库相类似的一些数据库,如学生学籍数 据库等都早已实现,为该数据库的设计和实现提供了一定的经验。同时 市场上和数据库相关的一些技术都发展的十分成熟了,如微软开发的 mssql、甲骨文开发的oracle、开源免费的mysql等都可以支持不同种类 数据库的开发。因此,该数据库的设计和实现在技术上是可以行得通的; (2)经济可行性:该飞机航班数据库设计并且实现后,可供用户相关的航班 服务,一方面可以节省部分人力资源减少对大量客户直接接待的费用, 提高工作效率;另一方面也可以更为科学和合理的管理飞机航班系统, 对其进行及时管理,以提高公司的服务水平。因此,该数据库的的实现 在经济上是可行的;

(3)操作可行性:通过基于飞机航班管理数据库的相关的应用系统的实现, 用户即便不是数据库方面的专业人员,只要懂得计算机相应的输入输出,在系统的提示下就可以完成对飞机航班数据库的相关的操作。因此,具 有操作可行性。 总体上来看,可以在尽可能短的时间里,以最小的代价实现飞机航班数据库及其相关的应用系统,供航空公司对其航班进行更科学的管理,使用户获得更方便的服务。 2系统目标和建设原则 2.1系统目标 飞机航班数据库的设计和实现需要航空公司根据自己的需求对本公司的飞机航班进行科学高效管理,并为用户提供方便实用的系统服务。数据库中需要保存航班的基本信息、并对航班信息做出及时的更新和维护。飞机航班主要包括1个记录表,此表包含航班的航班号,飞行时间,飞行路线,机票价格等信息,系统应对这些信息进行及时更新和维护。除了这些飞机航班数据库的基本组成表之外,该数据库的设计和实现还应当便于相关的应用程序开发人员的理解相关的信息,方便的进行相关的数据库操作,尽可能的为应用系统效率的提高奠定基础。 2.2建设原则 数据库建设实质数据库应用系统从设计、实施到运行维护的全过程。数据库建设的基本规律是“三分技术,七分管理,十二分基础数据”。在数据库建设中,开发技术固然重要,但是管理更为重要,而且包括项目管理和企业的业务管理。经过长期的实践,人们越来越深刻的认识到一个企业数据库设计的过程是企业管理模式的改革和提高的过程,只有把企业的管理做好才能实现技术创新,才能建设好一个数据库应用系统。“十二分基础数据”则强调了数据的收集、整理、组织和不断更新是数据库建设中的重要环节,基础数据的手机、入库时数据库建立初期工作量最大、最繁琐、最细致的工作,在以后数据库运行过程中更需要不断的把新的数据加到数据库中,使之成为一个“活库”,具有更高的使用价值。 同时,我们还不得不在进行结构设计的同时,也注意行为设计。数据库设计应该和应用系统设计相结合,也就是说,整个设计过程要把数据库结构设计和对

数据结构毕业设计题目整理

数据结构课程设计题目 1.飞机订票系统(限1 人完成)(顺序或链式存储) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息: 当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息,客户信息的存储结构,设计程序完成功能; 2.宿舍管理查询软件(限1 人完成) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: 采用交互工作方式 建立数据文件,包括学生信息、宿舍信息、住宿信息,学生信息按关键字(姓名、学号)进行排序(排序方法自选,不能相同); 查询: (用二分查找实现以下操作) 按姓名查询 按学号查询 (用顺序查找实现以下操作) 按房号查询 3.校园导航问题(限1 人完成) 设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 要求:能增加场所 4.图书借阅管理系统(限1 人完成)(顺序或链式存储) 主要分为两大功能: 1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书); 2)会员管理(增加会员、查询会员、删除会员、借书信息); 5.学生成绩管理(限1 人完成)(顺序或链式存储) 包括:课程信息,学生信息等;能增加课程或学生。 实现功能:输入、输出、插入、删除、查找、显示、保存、排序、退出。6.活期储蓄帐目管理(限1 人完成) 活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求: 1)能比较迅速地找到储户的帐户,以实现存款、取款记账;

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

数据结构物流信息管理系统

2014-2015学年第一学期学号 《数据结构》 课程设计报告 题目:物流信息管理系统 专业:计算机科学与技术 班级: 姓名: 学号: 指导教师: 成绩: 目录 摘要 (1) 1设计内容及要求 (1) 1.1内容描述 (1) 1.2基本要求 (1) 2详细设计 (1) 2.1概要设计 (1) 2.2功能模块详细设计 (1) 2.3程序流程图 (4) 3源代码 (5)

4程序结果 (9) 5总结 (12) 6参考文献 (12)

摘要 物流信息管理系统是利用单链表实现信息管理,进而掌握C语言中的结构体,链表,指针,函数(系统函数,自定义函数)等C语言知识。 本文通过利用模块化程序设计思想,使用单链表和结构体等编写出的创建,删除,查询等功能的物流信息管理系统。通过完成这个程序设计让我们熟悉并掌握c语言中使用结构体,单链表,指针,函数,和模块化设计思想。 关键词结构体,链表,指针,函数 1设计内容及要求 1.1内容描述 对客户的基本信息进行存储,利用取货号来查询顾客信息,核对信息后方可取货。 1.2基本要求 1.采用一定的存储结构进行客户信息的存储; 2.对客户的信息可以进行修改、删除、查询; 2详细设计 2.1概要设计 本系统用到的主要数据结构为数组和文件。一个数组对应一个客户,里面用3个字符串分别存储着用户的客户号、姓名和电话号码。然后将数组写入文件,查询时读取文件,提取相应信息。 2.2功能模块详细设计 本程序运用链表对客户信息进行存储,首先对结点进行定义,结点中的数据域分别定义了取货人的取货号、身份证、姓名、电话号码,其中身份证用了字符型数组进行定义,然后定义了客户取货链表,每添加一个取货人,先分配内存,再添加取货人的信息,之后将链表中最后一个指针指向该新的取货人,删除时,需先找到该取货人前面的取货人,直接将其指针指向删除取货人的下一个取货人,修改信息时,先找到该去人,选择修改的内容,再进行修改。 void create(Linklist &h){ Linklist s,t; int j=1; char x; h=(Listnode *)malloc(sizeof(Listnode)); h->next=NULL;t=h; while(j){ s=(Listnode*)malloc(sizeof(Listnode)); printf("顾客取货号为%d\n",i); s->customer.m=i; printf("请输入身份证号码:"); scanf("%c",&x);

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

数据结构物流信息管理系统设计

数据结构物流信息管 理系统设计 Revised on November 25, 2020

目 录 摘要...................................................1 1设计内容及要求...........................................................................1 内容描述..............................................................................1 基本要求..............................................................................1 2详细设计....................................................................................1 概要设计..............................................................................1 功能模块详细设计..................................................................1 程序流程图...........................................................................4 3源代码 .....................................................................................5 4程序结果....................................................................................9 5总结...........................................................................................12 6参考文献 (12) 数据结构物流信息管理系统设计 【最新资料,WORD 文档,可编辑修改】

C语言程序设计-航班管理系统

仲恺农业工程学院 C语言程序设计报告 航班信息管理系统 课程名称C语言程序设计 姓名XXX 院(系)信息科学与技术学院 专业班级网络工程XX 学号201320XX 指导教师XXX 仲恺农业工程学院教务处制

目录 1 需求分析 (1) 2 系统总框图和功能模块说明 (1) 2.1 系统总框图 (1) 2.2 功能模块说明 (2) 3 系统设计 (3) 3.1 主要结构体 (3) 3.2主要功能函数 (3) 3.3 关键函数的流程图 (4) 4 系统调试 (5) 5 总结 (7) 6 源程序清单 (7)

1 需求分析 航班信息包括航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号、票价,八项信息。 试设计航班信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●航班信息录入功能(航班信息用文件保存)--输入 ●航班信息浏览功能--输出 ●航班信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等) ●航班信息排序、筛选功能 2 系统总框图和功能模块说明 2.1 系统总框图 图1 系

统总框图 2.2 功能模块说明 输入航班信息模块,完成航班信息的录入。航班信息的录入前,录入系统先完成新建文件,检测文件是否存在的功能。检测完毕,采用循环的输入流程,以检测文件是否终止为循环的判定条件;输入信息时,以检测编号判断输入的信息与文件中的信息是否有冲突,防止输入的信息存在冲突;把航班信息一一输入后,判断其有没有存入文件中。 排序航班信息模块,完成航班信息中的价格排序,便于筛选信息结果的查看,排序是利用冒泡排序法,按照价格从高到低编排。 查询航班信息模块,根据输入的航班编号,查询航班编号的信息,。其过程中,首先是

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