数据结构课程设计报告(航班管理系统)分解

数据结构课程设计报告(航班管理系统)分解
数据结构课程设计报告(航班管理系统)分解

数据结构课程设计报告

班级:

指导老师

日期:2014年12月

【需求分析】

2.航空订票系统

试设计一个航空订票系统,基本要求如下:每条航班所涉及的信息有:航班号,航班机型,起飞机场,降落机场,日期(星期几),起飞时间,降落时间,飞行时长,价格,乘员定额,余票量,订定票的客户名单(包括姓名,订票量,舱位等级(头等舱、公务舱、经济仓)以及等候替补的客户名单(包括姓名、所需数量)。采用链式存储结构。要求:

系统能实现的操作和功能如下:

(1)航班信息管理。

(2)查询航线,按以下几种方式查询:

①按航班号查询;

②按起点站查询;

③按终点站查询;

④按日期查询;

每种查询方式中,查询后输出如下信息:航班号,航班机型,起飞机场,降落机场,日期(星期几),起飞时间,降落时间,飞行时长,价格,余票量。

(3)承办订票业务:根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少于订票额,则需重新询问客户要求。若需要,可登记排队候补。(4)承办退票业务:根据客户提出的情况(日期,航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。

【设计】2.1 设计思想

(1)数据结构设计

①.‘航班信息数据结构’

采用链式储存结构,并且设置链接‘订票乘客名单域’和‘排队等候名单域’的借口。

设计如下:

/*航班信息数据结构 */

typedef struct Airp

{

char airnum[10];//航班号

char planenum[10];//机型

char departure[10];//起飞机场

char terminal[10];//降落机场

char weekday[5];//日期

struct time uptim;//起飞时间

time downtim;// 降落时间

time flytim;// 飞行时间

int price;//价格

int tkt_ful;//乘员定额

int tkt_sur;//余票量

Book_list *book;//订票客户名单

Wait_list wait;//等待候补客户名单

Airp *next;

}lineinfo;//

②‘订票乘客名单域’

采用链式存储结构,以单链表形成名单列表。设计如下:

/*订票乘客名单域 */

typedef struct book

{

char name[10]; //乘客姓名

int ord_num; //数量

int ord_grd; //舱位等级

struct book *next; //指向下一名乘客

}Book_list;

③‘排队等候队列名单域’

采用链式储存,以单链表形成名单列表。设计如下:

/*排队等候队列名单域*/

typedef struct wait

{

char name[10]; //乘客姓名

int ord_num; //欲订票数量

struct wait *next; //指向下一名乘客

}wat_queue;

排队队列指针设计如下:

// 排队等候队列头尾指针

typedef struct qwait

{

wat_queue *front; //队头指针

wat_queue *rear; //队尾指针

}Wait_list;

④‘时间数据结构’。

程序定义了一个(**:**)型的时间数据结构,使时间更加精确易读。

设计如下:

//(**:**)型时间数据结构

typedef struct time

{

int hour; //时

int mint; //分

}time;

(1)算法设计

主要算法包括:

①航线信息显示函数:void print(Airp *head)

②航线录入函数:void enter()

③航线删除函数:void Delete()

④航线查询函数:

//a.按航班号查询:Airp* search_1()

设计如下:

Airp* search_1()

{

输入航班号airnum;

while(‘航班信息数据结构’next节点不为空)

{

已存航班号是否有与airnum相同的航班号;

}

若没有相同航班号("对不起,未能找到您所要查找的航班!");

getchar();

return NULL;

}

//b.按起飞站查询:void search_2(),与 a.函数相似,只改变查询变量为起飞站‘s->departure’;

//c.按终点站查询:void search_3(),与 a.函数相似,只改变查询变量为终点站‘s->terminal’

//d.按日期查询:void search_4(),与a.函数相似,只改变查询变量为日期‘s->weekday’

⑤订票业务办理:

//a.订票模块:void or_tkt()

设计如下:

void or_tkt()

{

If(没有查询航班) 函数结束;

输入订票量amount;

if(amount>余票量s->tkt_ful)

{

输出("\n对不起,没有足够的余票!");

函数结束;

}

if(amount<=s->tkt_sur)

{

for(i=0;i

输入订票人姓名和舱位等级;

}

for(i=0;i

{

printf("%s的座位号是:%d\n",name,s->tkt_ful-s->tkt_sur+i+1);

}

s->tkt_sur-=amount;

printf("订票成功!");

输出费用;

}

else

{

询问是否要排队等候;

if(r=='Y'||r=='y')

{

输入乘客姓名;

在排队等候乘员名单域中添加客户信息;

printf("\n排队成功!\n");

}

}

}

//b.订票信息名单域扩充:Book_list *add_1(Book_list *head1,int amount,char name[],int grade)

⑥办理退票业务:

//a.退票模块:void re_tkt()、

//退票模块

void re_tkt()

{

输入退票客户姓名;

从名单中查询客户姓名;

if(名单中没有该客户)

{

printf("对不起,你没有订过票!\n");

返回主菜单;

}

else

{

进行退票操作;

printf("%s先生退票成功!\n",p1->name);

}

while(t)

{

在排队等候队列中查询是否有相同需求的乘客;

If(有){

进行订票操作;

插入到订票客户名单链表中;

将乘客信息从队列中消除;

}

依次打印出订票成功乘客的座位号;

}

}

//b.排队等候名单域扩充:Wait_list add_2(Wait_list q,char name[],int amount)

2.2【设计表示】

(1)模块关系图

(1)函数接口规格说明

①公共函数模块:

//初始化头指针:void AirInitiate(Airp **head)

//航线信息显示:void print(Airp *head)

②航班信息管理模块:

//航班信息录入模块:void enter()

//航班信息删除模块:void Delete()

//航班信息打印:int display()

③航班信息查询模块:

//按照航班号查找:Airp* search_1()

//按照起飞地查找:void search_2()

//按照降落地查找:void search_3()

//按照日期查找:void search_4()

④定票模块:

//订票模块:void or_tkt()

//订票信息名单域扩充:Book_list *add_1(Book_list *head1,int amount,char name[],int grade)

⑤退票模块

//退票模块:void re_tkt()

//排队等候名单域扩充:Wait_list add_2(Wait_list q,char name[],int amount)

⑥菜单模块:

航空订票系统 航班信息管理 航班查询 办理订票业务 办理退票业务 浏览航班信息 录

线

删除航线 按航班号查询 按起点站查询 按终点站查询 按日期查询

//主菜单栏:int menu_1()

//航班信息管理系统菜单:void menu_2()

//航班查询系统菜单:void menu_3()

2.3 详细设计

//航线信息显示:void print(Airp *head)

void print(Airp *head)

{

printf("%-6s %-8s %-8s %-9s %-4s %d:%d %d:%d %d:%d %-4d %

-6d\n",

head->airnum,

head->planenum,

head->departure,

head->terminal,

head->weekday,

head->uptim.hour,

head->uptim.mint,

head->downtim.hour,

head->downtim.mint,

head->flytim.hour,

head->flytim.mint,

head->price,

head->tkt_sur

);

}

//航班信息录入模块:void enter()

void enter()

{

int i,n;

Airp *s;

system("cls"); //清屏显示

printf("******************航班信息录入系统*******************\n");

s=(Airp*)malloc(sizeof(Airp));

printf("请输入航班号:");

scanf("%s",s->airnum);

printf("请输入航班机型:");

scanf("%s",s->planenum);

printf("请输入起飞机场:");

scanf("%s",s->departure);

printf("请输入降落机场:");

scanf("%s",s->terminal);

printf("请输入日期(星期几):");

scanf("%s",s->weekday);

printf("请输入起飞时间:");

scanf("%d%d",&s->uptim.hour,&s->uptim.mint);

printf("请输入降落时间:");

scanf("%d%d",&s->downtim.hour,&s->downtim.mint);

printf("请输入飞行时长:");

scanf("%d%d",&s->flytim.hour,&s->flytim.mint);

printf("请输入价格:");

scanf("%d",&s->price);

printf("请输入乘员定额:");

scanf("%d",&s->tkt_ful);

printf("请输入余票量:");

scanf("%d",&s->tkt_sur);

s->next=head->next;

head->next=s;

}

//航班信息删除模块:void Delete()

void Delete()

{

int i,n,m;

Airp* Del;

Airp* s;

char airnum[10];

Del=head;

int t=0;

printf("请输入您要删除的航班号:");

scanf("%s",airnum);

while(Del->next!=NULL){

if(!strcmp(airnum,Del->next->airnum))

{

t=0;

s=Del;

s->next=Del->next->next;

free(Del->next);

return;

}

Del=Del->next;

}

if(t=0) {

printf("对不起,未能找到您所要删除的航班信息!");

return;

}

}

//订票信息名单域扩充:Book_list *add_1(Book_list *head1,int amount,char name[],int grade)

Book_list *add_1(Book_list *head1,int amount,char name[],int grade)

{

Book_list *p1,*new1;

p1=head1;

new1=(Book_list *)malloc(sizeof(Book_list));

strcpy(new1->name,name);

new1->ord_num=amount;

new1->ord_grd=grade;

new1->next=NULL;

if(head1==NULL)//若原无订票客户信息

{

head1=new1;

new1->next=NULL;

}

else

head1=new1;

new1->next=p1;

return head1;

}

//排队等候名单域扩充:Wait_list add_2(Wait_list q,char name[],int amount) Wait_list add_2(Wait_list q,char name[],int amount)//排队等待模块

{

wait *new1;

new1=(wait *)malloc(sizeof(wait));

strcpy(new1->name,name);

new1->ord_num=amount;

new1->next=NULL;

if(q.front==NULL)//若原排队等候客户名单域为空

q.front=new1;

else

q.rear->next=new1;

q.rear=new1;

return q;

}

3.【调试分析】

程序设计之初,bug很多,主要是有:链表next指针域的错误,函数循环调用错误,返回主菜单异常。

我的程序中的主菜单返回异常主要是无法返回主菜单以及程序异常终止,其主要原因是

我经常使用return语句来返回主菜单。在执行‘按航班号查询’函数Airp* search_1()时,由于函数返回值是Airp*型,需要用return NULL来返回,而如果运行return NULL,程序就会异常终止,于是我把return NULL改为menu_3(),直接回到‘航班查询系统’菜单。

另外,为了UI界面的美观性和人机交互的舒适性,我还参考资料运用了system(“cls”)清屏函数,使得程序运行界面更加赏心悦目。

4.【用户手册】

A主界面:

B进入航班信息管理系统,输入密码123456.

C进入航班管理系统界面

D浏览航线信息

E录入新航线

F然后查询航线

G按航班号查询

H订票

航班有延误时

输入Y或者N继续查找

因为之前已经订过两张票,所以现在这两张票的座位号是3和4:

I退票

【源程序清单】

#include

#include

#include

#include

//订票乘客名单域

typedef struct book

{

char name[10];

int ord_num;

int ord_grd;

struct book *next;

}Book_list;

//排队等候队列名单域

typedef struct wait

{

char name[10];

int ord_num;

struct wait *next;

}wat_queue;

// 排队等候队列头尾指针

typedef struct qwait

{

wat_queue *front;//队头指针

wat_queue *rear;//队尾指针

}Wait_list;

//(**:**)型时间数据结构

typedef struct time

{

int hour;

int mint;

}time;

//航班信息数据结构

typedef struct Airp

{

char airnum[10];//航班号

char planenum[10];//机型

char departure[10];//起飞机场

char terminal[10];//降落机场

char weekday[5];//日期

struct time uptim;//起飞时间

time downtim;// 降落时间

time flytim;// 飞行时间

int price;//价格

int tkt_ful;//乘员定额

int tkt_sur;//余票量

Book_list *book;//订票客户名单

Wait_list wait;//等待候补客户名单

Airp *next;

}lineinfo;//

Airp *head;

int menu_1();

void menu_2();

void menu_3();

int main();

//初始化头指针

void AirInitiate(Airp **head)

{

*head=(Airp*)malloc(sizeof(Airp));

(*head)->next=NULL;

}

//航班信息录入模块

void enter()

{

int i,n;

Airp *s;

system("cls");

printf("**************************航班信息录入系统**************************\n");

s=(Airp*)malloc(sizeof(Airp));

printf("请输入航班号:");

scanf("%s",s->airnum);

printf("请输入航班机型:");

scanf("%s",s->planenum);

printf("请输入起飞机场:");

scanf("%s",s->departure);

printf("请输入降落机场:");

scanf("%s",s->terminal);

printf("请输入日期(星期几):");

scanf("%s",s->weekday);

printf("请输入起飞时间:");

scanf("%d%d",&s->uptim.hour,&s->uptim.mint);

printf("请输入降落时间:");

scanf("%d%d",&s->downtim.hour,&s->downtim.mint);

printf("请输入飞行时长:");

scanf("%d%d",&s->flytim.hour,&s->flytim.mint);

printf("请输入价格:");

scanf("%d",&s->price);

printf("请输入乘员定额:");

scanf("%d",&s->tkt_ful);

printf("请输入余票量:");

scanf("%d",&s->tkt_sur);

s->next=head->next;

head->next=s;

}

//航班信息删除模块

void Delete()

{

int i,n,m;

Airp* Del;

Airp* s;

char airnum[10];

Del=head;

int t=0;

printf("请输入您要删除的航班号:");

scanf("%s",airnum);

while(Del->next!=NULL){

if(!strcmp(airnum,Del->next->airnum))

{

t=0;

s=Del;

s->next=Del->next->next;

free(Del->next);

return;

}

Del=Del->next;

}

if(t=0) {

printf("对不起,未能找到您所要删除的航班信息!");

return;

}

}

//航线信息显示

void print(Airp *head)

{

printf("%-6s %-8s %-8s %-9s %-4s %d:%d %d:%d %d:%d %-4d %-6d\n",

head->airnum,

head->planenum,

head->departure,

head->terminal,

head->weekday,

head->uptim.hour,

head->uptim.mint,

head->downtim.hour,

head->downtim.mint,

head->flytim.hour,

head->flytim.mint,

head->price,

head->tkt_sur

);

}

//航班信息打印

int display()

{

system("cls");

Airp *s;

s=head;

if(s->next==NULL) { //

printf("航班数据库为空!\n");

getchar();

return 0;

}

printf("航班号航班机型起飞机场降落机场日期起飞时间降落时间飞行时长价格余票量\n");

while(s->next!=NULL){ //

print(s->next);

s=s->next;

}

getchar();getchar();

return 1;

}

//按照航班号查找

Airp* search_1()

{

loop1:system("cls");

char airnum[10];

char clk;

s=head;

printf("请输入航班号:");

scanf("%s",airnum);

while(s->next!=NULL){

if(!strcmp(airnum,s->airnum))

{print(s);getchar();getchar();return s;}

s=s->next;

}

printf("对不起,未能找到您所要查找的航班!\n是否继续查询(Y/N):");

clk=getch();

if(clk!='Y'&&clk!='y') {getchar(); getchar(); menu_3();}

else goto loop1;

}

//按照起飞地查找

void search_2()

{

loop2:system("cls");

Airp * s;

char departure[10];

char clk;

int t=0;

s=head;

printf("请输入起飞地点:");

scanf("%s",departure);

while(s->next!=NULL){

if(!strcmp(departure,s->departure))

{t=0;print(s);}

s=s->next;

}

printf("对不起,未能找到您所要查找的航班!\n是否继续查询(Y/N):");

clk=getch();

if(clk!='Y'&&clk!='y') menu_3();

else goto loop2;

}

//按照降落地查找

void search_3()

{

loop3:system("cls");

char terminal[10];

char clk;

int t=0;

s=head;

printf("请输入降落地点:");

scanf("%s",terminal);

while(s->next!=NULL){

if(!strcmp(terminal,s->terminal))

{t=0;print(s);}

s=s->next;

}

printf("对不起,未能找到您所要查找的航班!\n是否继续查询(Y/N):");

clk=getch();

if(clk!='Y'&&clk!='y') menu_3();

else goto loop3;

}

//按照日期查找

void search_4()

{

loop4:system("cls");

Airp * s;

char weekday[10];

char clk;

int t=0;

s=head;

printf("请输入航班日期:");

scanf("%s",weekday);

while(s!=NULL){

if(!strcmp(weekday,s->weekday))

{t=0;print(s);}

s=s->next;

}

printf("对不起,未能找到您所要查找的航班!\n是否继续查询(Y/N):");

clk=getch();

if(clk!='Y'&&clk!='y') menu_3();

else goto loop4;

}

//订票信息名单域扩充

Book_list *add_1(Book_list *head1,int amount,char name[],int grade)

{

Book_list *p1,*new1;

p1=head1;

new1=(Book_list *)malloc(sizeof(Book_list));

strcpy(new1->name,name);

new1->ord_num=amount;

new1->ord_grd=grade;

new1->next=NULL;

if(head1==NULL)//若原无订票客户信息

{

head1=new1;

new1->next=NULL;

}

else

head1=new1;

new1->next=p1;

return head1;

}

//排队等候名单域扩充

Wait_list add_2(Wait_list q,char name[],int amount)//排队等待模块{

wait *new1;

new1=(wait *)malloc(sizeof(wait));

strcpy(new1->name,name);

new1->ord_num=amount;

new1->next=NULL;

if(q.front==NULL)//若原排队等候客户名单域为空

q.front=new1;

else

q.rear->next=new1;

q.rear=new1;

return q;

}

//订票模块

void or_tkt()

{

system("cls");

Airp *s;

int amount,grade,money;

char name1[50][10];

char name2[10];

s=head->next;

if(!(s=search_1())) return; //查询是否有所需航班

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

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

三、系统设计 开发与设计的总体思想 飞机航班信息管理系统主要分为用户和系统管理员2类,因此也将该系统分为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章也是最后一章,为本次实践活动的心得体会。

航空公司运行管理系统(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标准对系统数据结构进行设计,保证系统在今后的建设中可以基本不对目前系统进行修改;通过接口的方式,提供与其它系统的数据交换,可在必要的情况下对系统体系不做修改而增加数据的来源。 高效性:通过基于消息的数据传输,提高对关键数据的响应速度,并有效减轻系统的负荷。 数据完整性:通过对数据库备份方案的严谨设计,以保证在出现硬件故障的情况下,能够尽可能完整地恢复系统数据。 容错性:通过各种数据来源之间的相互备份关系,保证在部分数据源出现故障的情况下,系统仍然可以正常运行。

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

数据结构实验总结报告

数据结构实验总结报告 一、调试过程中遇到哪些问题? (1)在二叉树的调试中,从广义表生成二叉树的模块花了较多时间调试。 由于一开始设计的广义表的字符串表示没有思考清晰,处理只有一个孩子的节点时发生了混乱。调试之初不以为是设计的问题,从而在代码上花了不少时间调试。 目前的设计是: Tree = Identifier(Node,Node) Node = Identifier | () | Tree Identifier = ASCII Character 例子:a(b((),f),c(d,e)) 这样便消除了歧义,保证只有一个孩子的节点和叶节点的处理中不存在问题。 (2)Huffman树的调试花了较长时间。Huffman编码本身并不难处理,麻烦的是输入输出。①Huffman编码后的文件是按位存储的,因此需要位运算。 ②文件结尾要刷新缓冲区,这里容易引发边界错误。 在实际编程时,首先编写了屏幕输入输出(用0、1表示二进制位)的版本,然后再加入二进制文件的读写模块。主要调试时间在后者。 二、要让演示版压缩程序具有实用性,哪些地方有待改进? (1)压缩文件的最后一字节问题。 压缩文件的最后一字节不一定对齐到字节边界,因此可能有几个多余的0,而这些多余的0可能恰好构成一个Huffman编码。解码程序无法获知这个编码是否属于源文件的一部分。因此有的文件解压后末尾可能出现一个多余的字节。 解决方案: ①在压缩文件头部写入源文件的总长度(字节数)。需要四个字节来存储这个信息(假定文件长度不超过4GB)。 ②增加第257个字符(在一个字节的0~255之外)用于EOF。对于较长的文件,

会造成较大的损耗。 ③在压缩文件头写入源文件的总长度%256的值,需要一个字节。由于最后一个字节存在或不存在会影响文件总长%256的值,因此可以根据这个值判断整个压缩文件的最后一字节末尾的0是否在源文件中存在。 (2)压缩程序的效率问题。 在编写压缩解压程序时 ①编写了屏幕输入输出的版本 ②将输入输出语句用位运算封装成一次一个字节的文件输入输出版本 ③为提高输入输出效率,减少系统调用次数,增加了8KB的输入输出缓存窗口 这样一来,每写一位二进制位,就要在内部进行两次函数调用。如果将这些代码合并起来,再针对位运算进行一些优化,显然不利于代码的可读性,但对程序的执行速度将有一定提高。 (3)程序界面更加人性化。 Huffman Tree Demo (C) 2011-12-16 boj Usage: huffman [-c file] [-u file] output_file -c Compress file. e.g. huffman -c test.txt test.huff -u Uncompress file. e.g. huffman -u test.huff test.txt 目前的程序提示如上所示。如果要求实用性,可以考虑加入其他人性化的功能。 三、调研常用的压缩算法,对这些算法进行比较分析 (一)无损压缩算法 ①RLE RLE又叫Run Length Encoding,是一个针对无损压缩的非常简单的算法。它用重复字节和重复的次数来简单描述来代替重复的字节。尽管简单并且对于通常的压缩非常低效,但它有的时候却非常有用(例如,JPEG就使用它)。 变体1:重复次数+字符 文本字符串:A A A B B B C C C C D D D D,编码后得到:3 A 3 B 4 C 4 D。

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

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

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

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

飞机航班管理系统

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

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

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

最新数据结构实训总结

精品文档 这次课程设计的心得体会通过实习我的收获如下1、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。从刚开始得觉得很难,到最后把这个做出来,付出了很多,也得到了很多,以前总以为自己对编程的地方还不行,现在,才发现只要认真做,没有什么不可能。 编程时要认真仔细,出现错误要及时找出并改正,(其中对英语的要求也体现出来了,因为它说明错误的时候都是英语)遇到问题要去查相关的资料。反复的调试程序,最好是多找几个同学来对你的程序进行调试并听其对你的程序的建议,在他们不知道程序怎么写的时候完全以一个用户的身份来用对你的用户界面做一些建议,正所谓当局者迷旁观者清,把各个注意的问题要想到;同时要形成自己的编写程序与调试程序的风格,从每个细节出发,不放过每个知识点,注意与理论的联系和理论与实践的差别。另外,要注意符号的使用,注意对字符处理,特别是对指针的使用很容易出错且调试过程是不会报错的,那么我们要始终注意指针的初始化不管它怎么用以免不必要麻烦。 通过近两周的学习与实践,体验了一下离开课堂的学习,也可以理解为一次实践与理论的很好的连接。特别是本组所做的题目都是课堂上所讲的例子,在实行之的过程中并不是那么容易事让人有一种纸上谈兵的体会,正所谓纸上得来终觉浅绝知此事要躬行。实训过程中让我们对懂得的知识做了进一步深入了解,让我们的理解与记忆更深刻,对不懂的知识与不清楚的东西也做了一定的了解,也形成了一定的个人做事风格。 通过这次课程设计,让我对一个程序的数据结构有更全面更进一步的认识,根据不同的需求,采用不同的数据存储方式,不一定要用栈,二叉树等高级类型,有时用基本的一维数组,只要运用得当,也能达到相同的效果,甚至更佳,就如这次的课程设计,通过用for的多重循环,舍弃多余的循环,提高了程序的运行效率。在编写这个程序的过程中,我复习了之前学的基本语法,哈弗曼树最小路径的求取,哈弗曼编码及译码的应用范围,程序结构算法等一系列的问题它使我对数据结构改变了看法。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,也从中发现自己平时学习的不足和薄弱环节,从而加以弥补。 精品文档

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

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);

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

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

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

数据结构课程设计报告-学生成绩管理系统[]

武汉理工大学华夏学院课程设计报告书 课程名称:数据结构课程设计 题目:用C语言实现成绩统计程序的设计系名:信息工程系 专业班级:计算机1121 姓名:吴涛 学号:10210412104 指导教师:司晓梅 2016年3 月20日

武汉理工大学华夏学院信息工程系 课程设计任务书 课程名称:数据结构课程设计指导教师:司晓梅班级名称:计算机1121 开课系、教研室:信息系计算机 一、课程设计目的与任务 《数据结构》课程设计是为训练学生的数据组织能力和提高程序设计能力而设置的增强实践能力的课程。目的:学习数据结构课程,旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据的逻辑结构和存储结构以及相应操作,把现实世界中的问题转换为计算机内部的表示和处理,这就是一个良好的程序设计技能训练的过程。提高学生的程序设计能力、掌握基本知识、基本技能,提高算法设计质量与程序设计素质的培养就是本门课程的课程设计的目的。 任务:根据题目要求,完成算法设计与程序实现,并按规定写出课程设计报告。 二、课程设计的内容与基本要求 设计题目:用C语言实现成绩统计程序的设计 〔问题描述〕给出n个学生的m门课程的考试成绩信息,每条信息由姓名、课程代号与分数组成,要求设计算法: (1)输入每个人的各门课程的成绩,计算每人的平均成绩; (2)按平均成绩的高低次序,打印出个人的名次,平均成绩相同的为同一名次; (3)按名次列出每个学生的姓名和各科成绩; 〔基本要求〕学生的考试成绩必须通过键盘输入,且需对输出进行格式控制; 〔算法提示〕可以用选择排序、冒泡排序等多种排序算法求解; 具体要完成的任务是: A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。 B. 写出规范的课程设计报告书; 三、课程设计步骤及时间进度和场地安排 时间:1周地点:现代教育中心 具体时间安排如下: 第一天:布置题目,确定任务、查找相关资料 第二天~第四天:功能分析,编写程序,调试程序、运行系统; 第五天上午:撰写设计报告; 第五天下午:程序验收、答辩。 四、课程设计考核及评分标准

关于数据结构课程设计心得体会范文

关于数据结构课程设计心得体会范文 心得体会是指一种读书、实践后所写的感受性文字。是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。下面是小编搜集的关于数据结构课程设计心得体会范文,希望对你有所帮助。 关于数据结构课程设计心得体会(1) 这学期开始两周时间是我们自己选题上机的时间,这学期开始两周时间是我们自己选题上机的时间,虽然上机时间只有短短两个星期但从中确实学到了不少知识。上机时间只有短短两个星期但从中确实学到了不少知识。 数据结构可以说是计算机里一门基础课程,据结构可以说是计算机里一门基础课程,但我觉得我们一低计算机里一门基础课程定要把基础学扎实,定要把基础学扎实,然而这次短短的上机帮我又重新巩固了 c 语言知识,让我的水平又一部的提高。数据结构这是一门语言知识让我的水平又一部的提高。数据结构这是一门知识,纯属于设计的科目,它需用把理论变为上机调试。 纯属于设计的科目,它需用把理论变为上机调试。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。来说具有一定的难度。它是其它编程语言的一门基本学科。我选的上机题目是交叉合并两个链表,对这个题目,我选的上机题目是交叉合并两个链表,对这个题目,我觉得很基础。刚开始调试代码的时候有时就是一个很小的错觉得很基础。 刚开始调试代码的时候有时就是一个很小的错调试代码的时候误,导致整个程序不能运行,然而开始的我还没从暑假的状导致整个程序不能运行,态转到学习上,每当程序错误时我都非常焦躁,态转到学习上,每当程序错误时我都非常焦躁,甚至想到了放弃,但我最终找到了状态,一步一步慢慢来,放弃,但我最终找到了状态,一步一步慢慢来,经过无数次的检查程序错误的原因后慢慢懂得了耐心是一个人成功的必然具备的条件! 同时,通过此次课程设计使我了解到,必然具备的条件! 同时,通过此次课程设计使我了解到,硬件语言必不可缺少,要想成为一个有能力的人,必须懂得件语言必不可缺少,要想成为一个有能力的人,硬件

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目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

数据结构课程设计心得体会

数据结构课程设计心得体会数据结构课程设计心得体会怎么写,以下是XX精心整理的相关内容,希望对大家有所帮助! 数据结构课程设计心得体会这学期开始两周时间是我们自己选题上机的时间,这学期开始两周时间是我们自己选题上机的时间,虽然上机时间只有短短两个星期但从中确实学到了不少知识。上机时间只有短短两个星期但从中确实学到了不少知识。数据结构可以说是计算机里一门基础课程,据结构可以说是计算机里一门基础课程,但我觉得我们一低计算机里一门基础课程定要把基础学扎实,定要把基础学扎实,然而这次短短的上机帮我又重新巩固了C 语言知识,让我的水平又一部的提高。数据结构这是一门语言知识让我的水平又一部的提高。数据结构这是一门知识,纯属于设计的科目,它需用把理论变为上机调试。纯属于设计的科目,它需用把理论变为上机调试。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。来说具有一定的难度。它是其它编程语言的一门基本学科。我选的上机题目是交叉合并两个链表,对这个题目,我选的上机题目是交叉合并两个链表,对这个题目,我觉得很基础。刚开始调试代码的时候有时就是一个很小的错觉得很基础。刚开始调试代码的时候有时就是一个很小的错调试代码的时候误,导致整个程序不能运行,然而开始的我还

没从暑假的状导致整个程序不能运行,态转到学习上,每当程序错误时我都非常焦躁,态转到学习上,每当程序错误时我都非常焦躁,甚至想到了放弃,但我最终找到了状态,一步一步慢慢来,放弃,但我最终找到了状态,一步一步慢慢来,经过无数次的检查程序错误的原因后慢慢懂得了耐心是一个人成功的必然具备的条件! 同时,通过此次课程设计使我了解到,必然具备的条件! 同时,通过此次课程设计使我了解到,硬件语言必不可缺少,要想成为一个有能力的人,必须懂得件语言必不可缺少,要想成为一个有能力的人,硬件基础语言。在这次课程设计中,硬件基础语言。在这次课程设计中,虽然不会成功的编写一个完整的程序,但是在看程序的过程中,个完整的程序,但是在看程序的过程中,不断的上网查资料以及翻阅相关书籍,通过不断的模索,测试,发现问题,以及翻阅相关书籍,通过不断的模索,测试,发现问题,解 决问题和在老师的帮助下一步一步慢慢的正确运行程序,决问题和在老师的帮助下一步一步慢慢的正确运行程序,终于完成了这次课程设计,于完成了这次课程设计,虽然这次课程设计结束了但是总觉得自已懂得的知识很是不足,学无止境,得自已懂得的知识很是不足,学无止境,以后还会更加的努力深入的学习。力深入的学习。 数据结构课程设计心得体会本次课程设计,使我对《数

相关文档
最新文档