《C++程序设计》课程设计报告订票系统.docx

上传人:b****8 文档编号:12437341 上传时间:2023-06-05 格式:DOCX 页数:14 大小:77.29KB
下载 相关 举报
《C++程序设计》课程设计报告订票系统.docx_第1页
第1页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第2页
第2页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第3页
第3页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第4页
第4页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第5页
第5页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第6页
第6页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第7页
第7页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第8页
第8页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第9页
第9页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第10页
第10页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第11页
第11页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第12页
第12页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第13页
第13页 / 共14页
《C++程序设计》课程设计报告订票系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《C++程序设计》课程设计报告订票系统.docx

《《C++程序设计》课程设计报告订票系统.docx》由会员分享,可在线阅读,更多相关《《C++程序设计》课程设计报告订票系统.docx(14页珍藏版)》请在冰点文库上搜索。

《C++程序设计》课程设计报告订票系统.docx

《C++程序设计》课程设计报告订票系统

《C++程序设计》课程设计报告--订票系统

《C++程序设计》课程设计

设计报告

学号

姓名

指导教师

题目

订票系统

 

计算机科学与技术学院

 

1.需求分析……………………………………………3

1.1输入形式………………………………………………3

1.2输出形式………………………………………………3

1.3程序功能………………………………………………3

1.4测试数据………………………………………………3

2.概要设计……………………………………………3

2.1流程分析………………………………………………3

2.2具体步骤………………………………………………3

2.3功能模块………………………………………………4

3.详细设计………………………………………………4

3.1流程图…………………………………………………4

3.2源代码…………………………………………………5

4.调试分析…………………………………………14

4.1调试……………………………………………………20

4.2验与总结………………………………………………21

5.参考文献……………………………………………21

 

 

第一章需求分析

本程序使用visualstudio2010C++语言编写,完成订票系统的录入,查询,订票,退票及增加、删除、修改航班信息。

1.1输入的形式和输入值的范围

输入的形式是数字、人名及编号。

输入值的范围:

无。

1.2输出的形式

输出为订票,包含姓名,座位号等。

1.3程序所能达到的功能

本程序编写完成后能达到订票的生成及修改,退订,查询和退出。

1.4测试数据

进入订票系统后,选择订票,输入姓名aaa。

再根据选项依次选择进行测试。

第二章概要设计

2.1实现流程分析:

采用类模块和文件想结合的方式实现该操作,首先定义一个airline类并将一些基本数据定义为类的共有成员,同时设置成员函数来设置数据和输出数据。

2.2具体步骤

订票:

运用类的成员函数设置数据并写到文件中去,然后在后面的程序中读出。

退票:

将文件中的数据读出,用for循环语句进行查找并修改数据

查询:

用for循环语句进行查找并读出,没有数据的显示错误

主函数:

用while语句制作菜单,用户根据需要进行选择

2.3系统功能模块

(1)录入(航班相关记录)功能模块

(2)查询(航班相关记录)功能模块

(3)订票功能模块

(4)退票功能模块

(4)退出系统功能模块

第三章详细设计

1

订票

2

退票

3

查询

4

退出

3.1流程图

 

开始订票

开始退票

按条件查询

退出系统

3.2源代码

#include

#include

#include

#include"conio.h"

#defineOK1//1.避免幻数出现(幻数即诸如0,1,100之类的数字常量,因为无法从字面上看出该数字代表的意义,所以通常用宏替换,让人一看就明白其代表的意义,如ERROR错误,OK正确)

#defineERROR0//2.便于修改,如果要更改ERROR或OK的定义只需修改宏定义即可,不用再在编码中寻找一个个修改。

typedefstructairline{

charair_num[8];

charplane_num[8];

charend_place[20];

inttotal;

intleft;

structairline*next;

}airline;

typedefstructcustomer{

charname[8];

charair_num[8];

intseat_num;

structcustomer*next;

}customer;

airline*start_air()

{

airline*a;

a=(airline*)malloc(sizeof(airline));

if(a==NULL)

a->next=NULL;

returna;

}

customer*start_cus()

{

customer*c;

c=(customer*)malloc(sizeof(customer));

if(c==NULL)

c->next=NULL;

returnc;

}

airline*modefy_airline(airline*l,char*air_num)

{

airline*p;

p=l->next;

for(;p!

=NULL;p=p->next)

{

if(strcmp(air_num,p->air_num)==0)

{

p->left++;

returnl;

}

printf("没有这趟航班!

");

return0;

}

}

intinsert_air(airline**p,char*air_num,char*plane_num,char*end_place,inttotal,intleft)

{

airline*q;

q=(airline*)malloc(sizeof(airline));

strcpy(q->air_num,air_num);

strcpy(q->plane_num,plane_num);

strcpy(q->end_place,end_place);

q->total=total;

q->left=left;

q->next=NULL;

(*p)->next=q;

(*p)=(*p)->next;

returnOK;

}

intinsert_cus(customer**p,char*name,char*air_num,intseat_num)

{

customer*q;

q=(customer*)malloc(sizeof(customer));

strcpy(q->name,name);

strcpy(q->air_num,air_num);

q->seat_num=seat_num;

q->next=NULL;

(*p)->next=q;

(*p)=(*p)->next;

returnOK;

}

intbook(airline*a,char*air_num,customer*c,char*name)

{

airline*p=a;

customer*q=c->next;

p=a->next;

for(;q->next!

=NULL;q=q->next){}

for(;p->next!

=NULL;p=p->next)

{

if(p->left>0)

{

printf("您的座位号是:

%d",(p->total-p->left+1));

insert_cus(&q,name,air_num,p->total-p->left+1);

p->left--;

returnOK;

}

else

{

printf("座位已满");

return0;

}

}

}

intdel_cus(customer*c,airline*l,char*name)

{

customer*p,*pr;

charair_num[8];

pr=c;

p=pr->next;

while(p!

=NULL)

{

if(strcmp(p->name,name)==0)

{

strcpy(air_num,p->air_num);

l=modefy_airline(l,air_num);

pr->next=p->next;

p=pr->next;

printf("完成!

");

returnOK;

}

pr=pr->next;

p=pr->next;

}

printf("NOthecustomer!

");

returnERROR;

}

intsearch_air(airline*head)

{

airline*p=head->next;

printf("air_numplane_numend_placetotalleft\n");

for(;p!

=NULL;p=p->next)

{

printf("%s%-10s%-8s%-8d%-8d\n",p->air_num,p->plane_num,p->end_place,p->total,p->left);

}

returnOK;

}

intsearch_cus(customer*head)

{

structcustomer*q=head->next;

printf("nameair_numseat_num\n");

for(;q!

=NULL;q=q->next)

{

printf("%-8s%-12s%-d\n",q->name,q->air_num,q->seat_num);

}

returnOK;

}

intcreat_air(airline**l)

{

airline*p=*l;

inti=0;

char*air_num[3]={"航班1","航班2","航班3"};

char*plane_num[3]={"plane1","plane2","plane3"};

char*end_place[3]={"北京","上海","天津"};

inttotal[3]={100,100,100};

intleft[3]={52,54,76};

for(i=0;i<3;i++)

insert_air(&p,air_num[i],plane_num[i],end_place[i],total[i],left[i]);

returnOK;

}

intcreat_cus(customer**l)

{

customer*p=*l;

inti=0;

char*name[3]={"张三","李四","王五"};

char*air_num[3]={"航班1","航班2","航班3"};

intseat_num[3]={2,5,7};

for(i=0;i<3;i++)

insert_cus(&p,name[i],air_num[i],seat_num[i]);

returnOK;

}

voidmain()

{

intt=1;

customer*cus=start_cus();

airline*air=start_air();

charname[8],air_num[8],ch;

creat_air(&air);

creat_cus(&cus);

while(t==1)

{

printf("\n");

printf("*********************************\n");

printf("*欢迎来到订票系统!

*\n");

printf("*订票--------1*\n");

printf("*退票--------2*\n");

printf("*查询--------3*\n");

printf("*退出--------4*\n");

printf("*********************************\n");

ch=getch();

if(ch=='1')

{

printf("Pleaseinputaairlinenumber:

");

scanf("%s",air_num);

printf("请输入您的名字:

");

scanf("%s",name);

book(air,air_num,cus,name);

}

else

if(ch=='2')

{

printf("Pleaseinputthecancelname:

");

scanf("%s",name);

del_cus(cus,air,name);

}

else

if(ch=='3')

{

search_air(air);

printf("\n");

search_cus(cus);

}

else

if(ch=='4')

{

t=0;

}

}

}

第四章调试分析

4.1调试

进入界面:

 

选择功能1:

选择功能2:

选择功能3:

4.2经验与总结

通过本次课程设计,我认识到了自己的不足。

对平时所学内容局限于老师讲的例子,不思举一反三,不思融会贯通,所以在需要多个内容课程设计时感到束手无策,手足无措。

在上网查找了有关资料之后,自己也慢慢有了一点想法,根据课程设计的内容要求一项一项完成。

C++语言的进步让我深刻的感受到任何所学的知识都需要实践,没有实践就无法真正理解这些知识以及掌握它们,使其成为自己的财富。

第六章参考文献

[1]谭浩强《C++程序设计》北京:

清华大学出版社,2004.6

[2]谭浩强《C++程序设计题解与上机指导》北京:

清华大学出版社,2005.3

[3]CSDN

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2