- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C++程序设计》课程设计
设计报告
学号 姓名 指导教师 题 目 订票系统
计算机科学与技术学院
年 月 日
目录
需求分析……………………………………………3
1.1输入形式………………………………………………3
1.2输出形式………………………………………………3
1.3程序功能………………………………………………3
1.4测试数据………………………………………………3
概要设计……………………………………………3
2.1流程分析………………………………………………3
2.2具体步骤………………………………………………3
2.3功能模块………………………………………………4
详细设计………………………………………………4
3.1流程图…………………………………………………4
3.2源代码…………………………………………………5
调试分析 ………………………………………… 14
4.1调试……………………………………………………20
4.2验与总结………………………………………………21
5.参考文献……………………………………………21
第一章 需求分析
本程序使用visual studio 2010 C++语言编写,完成订票系统的录入,查询,订票,退票及增加、删除、修改航班信息。
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 stdio.h
#include string.h
#include malloc.h
#include conio.h
#define OK 1 //1.避免幻数出现(幻数即诸如0,1,100之类的数字常量,因为无法从字面上看出该数字代表的意义,所以通常用宏替换,让人一看就明白其代表的意义,如ERROR错误,OK正确)
#define ERROR 0 //2.便于修改,如果要更改ERROR或OK的定义只需修改宏定义即可,不用再在编码中寻找一个个修改。
typedef struct airline{
char air_num[8];
char plane_num[8];
char end_place[20];
int total;
int left;
struct airline *next;
}airline;
typedef struct customer{
char name[8];
char air_num[8];
int seat_num;
struct customer *next;
}customer;
airline *start_air()
{
airline *a;
a=(airline*)malloc(sizeof(airline));
if(a==NULL)
a-next=NULL;
return a;
}
customer *start_cus()
{
customer *c;
c=(customer*)malloc(sizeof(customer));
if(c==NULL)
c-next=NULL;
return c;
}
airline *modefy_airline(airline *l,char *air_num)
{
airline *p;
p=l-next;
for(;p!=NULL;p=p-next)
您可能关注的文档
- Cisco路由器交换机配置敕令详解.doc
- CISPCISM测验及注册申请表模板.doc
- CIS筹划全程第四部分.doc
- CISP知识系统大纲20正式版.doc
- cj 某某质量管理工程咨询有限公司5S举动培训教材.doc
- CK6163型数控车床设计开题告诉.doc
- ck6140数控车床毕业设计开题告诉.doc
- Ckutnbe教师考试新课程实际试题及答案.doc
- Ck白蚁防治施工工程条约.doc
- CL4000余氯分析仪仿单PH.doc
- PDM软件:Siemens Teamcenter二次开发_(17).Teamcenter最佳实践与案例分析.docx
- SCADA软件:GE Proficy二次开发_(4).Proficy开发环境搭建.docx
- 智能电表软件:Landis+Gyr智能电表二次开发_(13).系统集成与测试.docx
- 智能电表软件:Elster智能电表二次开发_(8).Elster智能电表二次开发环境搭建.docx
- PDM软件:Siemens Teamcenter二次开发_(11).TeamcenterAPI与编程基础.docx
- SCADA软件:GE Proficy二次开发_(7).报警与事件管理.docx
- 智能电表软件:Echelon智能电表二次开发_(11).智能电表行业标准与法规.docx
- 智能电表软件:Itron智能电表二次开发_(6).用户界面定制与开发.docx
- 智能电表软件:Elster智能电表二次开发_(9).Elster智能电表二次开发工具使用.docx
- PDM软件:PTC Windchill二次开发_(21).Windchill最佳实践案例分析.docx
文档评论(0)