报告模本Word格式文档下载.docx

上传人:b****5 文档编号:20344124 上传时间:2023-01-22 格式:DOCX 页数:20 大小:75.93KB
下载 相关 举报
报告模本Word格式文档下载.docx_第1页
第1页 / 共20页
报告模本Word格式文档下载.docx_第2页
第2页 / 共20页
报告模本Word格式文档下载.docx_第3页
第3页 / 共20页
报告模本Word格式文档下载.docx_第4页
第4页 / 共20页
报告模本Word格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

报告模本Word格式文档下载.docx

《报告模本Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《报告模本Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

报告模本Word格式文档下载.docx

写出各模块的类C码算法;

画出函数的调用关系图。

④调试分析、设计体会、测试数据:

准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;

程序调试中遇到的问题以及解决问题的方法;

课程设计过程经验教训、心得体会。

⑤关键源程序(带注释)

⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。

二、进度安排

第19周星期一8:

30——11:

30

星期二8:

星期三8:

30

星期四8:

设计课题:

一、问题描述:

假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

二、功能要求:

1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:

起飞地、目的地、航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。

2、本系统显示这样的菜单:

(1)输入航班信息

(2)输出航班信息

(3)查找航班信息

a.显示空座的数量

b.显示空座的信息

c.显示已订座的信息

d.起飞时间

(4)订票预约

(5)删除订票预约

(6)退出系统

1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

2、查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开

始的时候,它首先从该文件读入数据

三、算法提示:

1、数据结构:

结构体类型数组

2、数据库结构:

下表构成该系统的基本数据库。

航班号

起飞时间

目的地

座次号

座次订出与否的标记

订票者姓名

订票者身份证号码

int

char

Char

四、测试数据:

每架飞机的座位N=12,M=5

五、其它:

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。

目录

1.系统需求分析1

2.总体设计1

3.详细设计1

4.系统调试1

5.结果分析1

6.总结1

1系统需求分析

系统要求程序能执行以下功能

1、输入航班信息

2、输出航班信息

3、查找航班信息

4、订票预约

5、删除订票预约

并要求程序在两次运行之间,数据被保存于一个文件里,当本程序重新开

1.总体设计

总体结构图

管理员可以通过密码验证输入机票信息,可以对机票信息进行查询;

修改;

删除等功能。

一般用户可以使用订票;

显示;

退票等功能,在输入机票信息时用户输入密码。

具体功能如下:

1、输入模块:

(输入密码)首先输入航班起飞时间,再输入航班添加的人的信息

2、输出模块:

输出所有航班的所有座位信息。

3查询模块:

(1)航班起飞时间

(2)航班空位数(3)航班空位具体信息(4)航班非空位具体信息

4订票模块:

输入航班号,座位号验证是否有人定,无人定就输入起飞地,目的地,姓名,证件号。

5、退票模块:

输入退票的航班号,座位号;

验证是否已定,如无人定则输出输入有误请重新输入,否则输出退票成功。

2.详细设计

main()

input()

output()

search()

tingpiao()

tuipiao()

input是输入模块

output是输出模块

search是查询模块

dingpiao是订票模块

tupiao是退票模块

结构体:

程序中用到了一个结构体数组,其中用到了结构体的嵌套;

结构体定

义如下:

structhangban

{

structzuowei

{

charbegin[10];

//起始地

charend[10];

//目的地

charflag[10];

//判断是否有人

charname[10];

//姓名

charsheng[10];

//身份证

}b[12];

//表示12个座位;

chartime[10];

//航班时间

intkong;

//航班空位

}a[5];

//表示五个航班;

文件:

设置了一个文件用来保存航班的信息;

每次运行程序,他自动从文件中读取信息;

结束文件是又向文件中保存信息;

具体定义如下:

FILE*f;

模块实现:

各个模块实现都比较简单,就不一一解释;

voiddingpiao()//订票模块

inti,j;

charch;

//判断是否继续订票的变量

ch='

Y'

;

while(ch=='

)//ch为Y时进行订票

system("

cls"

);

//清屏

kaitou();

//开头的输出

printf("

请输入航班号及其座位号:

"

scanf("

%d%d"

&

i,&

j);

//输入航班号、座位号

if(strcmp(a[i].b[j].flag,"

yes"

)==0)//判断此座位是否被定

{

printf("

此座位可订,请输入乘客的起飞地,目的地,姓名,身份证号码:

scanf("

%s%s"

a[i].b[j].begin,a[i].b[j].end);

//输入起飞地,目的地

scanf("

a[i].b[j].name,a[i].b[j].sheng);

//输入姓名,身份证

strcpy(a[i].b[j].flag,"

no"

//把此座位设为已定

a[i].kong--;

//把航班的空座减一

}else

您输入的航班座位已定."

是否继续定票(是请输入Y,否请输入N):

"

do

%c"

ch);

while(ch!

='

&

ch!

N'

//直到输入Y或N时退出输入

}

}

密码部分:

printf("

请输入密码:

scanf("

%d"

k);

//输入密码,用k保存

if(k!

=666666)//设置初始密码为666666,判断输入是否与密码相同

密码有误\n"

return;

//不同则直接退出函数

判断是否退出函数的部分:

)判断是否退出函数

……

do

scanf("

直到输入一个Y或N时才结束输入

直到输入一个Y或N时才结束输入,防止程序随便读入一个回车符或其他字符就进行条件判断。

3.系统调试

在开始,出现了不知该如何定义变量的问题,定义的变量不能很好的保存我所用的信息,后面用了一个结构体数组嵌套一个结构体数组;

发现问题一下子就解决了。

由于文件学的不太好,开始打开文件时,未把打开文件的地址赋值给文件指针,导致程序运行出错。

后面加上去了。

在调试时,发现自己已经在运行这程序,却又对它进行编译,就会出现编译错误。

后面把在运行程序的窗口关掉时,它就没错误了。

运行程序时发现,在运行窗口上出现许多东西,由前面运行的输入输出,由现在运行的输入输出,非常不美观,于是上网查到了一个清屏函数,这下屏幕上美观多了。

尽管调试时,也有一些小错误,劈如:

少写了一个分号;

把某字母大写了;

少加了一个大括号等等。

但都轻松解决了。

4.结果分析

在飞机订票系统中:

设计特点:

程序比较简单,易懂,能实现设计所给出的要求。

设置了一个结构体数组,用它来代表航班信息;

且这结构体数组里嵌套了一个结构体数组,用它来代表航班中的座位信息。

这样能很好的记录航班信息。

定义了一个文件,保存着航班信息;

每次运行程序,程序自动从文件中读取航班信息;

每次程序结束时;

又把这次所输入的信息保存到文件中。

不足:

程序有些航班信息没进行考虑,譬如没有考虑价格等因素;

在很大程度上有待完善。

附程序:

#include<

stdio.h>

string.h>

stdlib.h>

intn;

voidkaitou()

********************************************************************************"

欢迎进入南方航空管理系统\n"

voidduqu()

inti,k;

f=fopen("

f"

"

r"

for(k=0;

k<

5;

k++)

for(i=0;

i<

12;

i++)

fscanf(f,"

%s"

a[k].b[i].flag);

if(strcmp(a[k].b[i].flag,"

)==0)

{

fscanf(f,"

a[k].b[i].begin,a[k].b[i].end);

fscanf(f,"

a[k].b[i].name,a[k].b[i].sheng);

}elsea[k].kong++;

}

fscanf(f,"

a[k].time);

fclose(f);

voidinput()

inti,j,k,t;

system("

kaitou();

=666666)

密码正确!

\n"

请输入需修改的航班时间的数目:

输入修改的航班及其时间\n"

for(j=0;

j<

k;

j++)

i);

a[i].time);

进入下一项输入请输入Y:

\n请输入航班添加的人数:

for(t=0;

t<

t++)

{

\n请输入航班号及其座位号:

printf("

}else{

此座位不可订,请重新输入!

k++;

}

返回主菜单请输入Y:

voidoutput()

{

-----------------输出%d号航班的信息:

i);

%d号航班的出发时间:

%s\n"

for(j=0;

if(strcmp(a[i].b[j].flag,"

{

printf("

%d号座乘客的起飞地,目的地,姓名,身份证号码:

j);

%s%s"

%s%s\n"

}else

{

%d号座是空位!

}

voidsearch()

inti,j,t;

请输入要查找的航班:

1:

航班的空座数量\n"

2:

航班空座的具体信息\n"

3:

航班已订座的具体信息\n"

4:

航班的起飞时间\n"

请选择1--6进入以下菜单:

t);

switch(t)

case1:

%d号航班的空座数量:

%d\n"

a[i].kong);

break;

case2:

%d号航班空座的具体信息:

for(j=0;

%d"

break;

case3:

%d号航班已订座的具体信息:

if(strcmp(a[i].b[j].flag,"

{

case4:

printf("

%d号航班的起飞时间:

break;

}

是否继续查找航班信息(是的输入Y,否输入N):

voiddingpiao()

voidtuipiao()

inti,j,k;

k=1;

请输入您要退票的航班号与座位号(回车结束):

if(strcmp(a[i].b[j].flag,"

)==0)

您的输入有误,请重新输入."

else{

strcpy(a[i].b[j].flag,"

a[i].kong++;

k=0;

}while(k);

您已退票成功!

是否需要继续退票(是的输入Y,否输入N):

voidsave()

w"

fprintf(f,"

%s"

)!

=0)

fprintf(f,"

fprintf(f,"

fprintf(f,"

voidmain()

intk,i=1;

duqu();

输入航班信息\n"

输出航班信息\n"

查找航班信息\n"

订票预约\n"

5:

删除订票预约\n"

6:

退出系统\n"

请选择1--6进入以下菜单\n"

switch(k)

case1:

input();

output();

search();

dingpiao();

case5:

tuipiao();

case6:

i=0;

}while(i);

save();

5.总结

课程设计心得:

课程设计给我一个学以致用的机会,刚开始的时候还以为学这黑黑的东西没用,只是一些简单的计算。

经过了这次的练习我才发现原来的黑屏有它自己的好处,通过学习也发现原来这种黑屏就是那些应用程序的原型,不论你以后学程序开发还是网页的制作都有很好大好处,这些基础是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1