已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计c+程序设计课程设计设计报告学号姓名指导教师题 目订票系统计算机科学与技术学院年月日目录1. 需求分析3 1.1输入形式3 1.2输出形式3 1.3程序功能3 1.4测试数据32. 概要设计3 2.1流程分析3 2.2具体步骤3 2.3功能模块43. 详细设计4 3.1流程图4 3.2源代码54. 调试分析 14 4.1调试20 4.2验与总结215.参考文献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 #include #include #include conio.h#define ok 1 /1.避免幻数出现(幻数即诸如0,1,100之类的数字常量,因为无法从字面上看出该数字代表的意义,所以通常用宏替换,让人一看就明白其代表的意义,如error错误,ok正确) #define error 0 /2.便于修改,如果要更改error或ok的定义只需修改宏定义即可,不用再在编码中寻找一个个修改。typedef struct airline char air_num8; char plane_num8; char end_place20; int total; int left; struct airline *next;airline;typedef struct customer char name8; char air_num8; 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) if(strcmp(air_num,p-air_num)=0) p-left+; return l; printf(没有这趟航班!); return 0; int insert_air(airline *p,char *air_num,char *plane_num,char *end_place,int total,int left) 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; return ok; int insert_cus(customer *p,char *name,char *air_num,int seat_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; return ok;int book(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-left0) printf(您的座位号是:%d,(p-total-p-left+1); insert_cus(&q,name,air_num,p-total-p-left+1); p-left-; return ok; else printf(座位已满); return 0; int del_cus(customer *c,airline *l,char *name) customer *p,*pr; char air_num8; 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(完成!); return ok; pr=pr-next; p=pr-next; printf(no the customer!); return error;int search_air(airline *head) airline *p=head-next; printf(air_num plane_num end_place total leftn); for(;p!=null;p=p-next) printf(%s %-10s %-8s %-8d%-8dn,p-air_num,p-plane_num,p-end_place,p-total,p-left); return ok;int search_cus(customer *head) struct customer *q=head-next; printf(name air_num seat_numn); for(;q!=null;q=q-next) printf(%-8s%-12s%-dn,q-name,q-air_num,q-seat_num); return ok;int creat_air(airline *l) airline *p=*l; int i=0; char *air_num3=航班1,航班2,航班3; char *plane_num3=plane1,plane2,plane3; char *end_place3=北京,上海,天津; int total3=100,100,100; int left3=52,54,76; for(i=0;i3;i+) insert_air(&p,air_numi,plane_numi,end_placei,totali,lefti); return ok;int creat_cus(customer *l) customer *p=*l; int i=0; char *name3=张三,李四,王五; char *air_num3=航班1,航班2,航班3; int seat_num3=2,5,7; for(i=0;i3;i+) insert_cus(&p,namei,air_numi,seat_numi); return ok;void main() int t=1; customer *cus=start_cus(); airline *air=start_air(); char name8,air_num8,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(please input a airline number:); scanf(%s,air_num); printf(请输入您的名字:); scanf(%s,name); book(air,air_num,cus,name); else if(ch=2) printf(please input the cancel name:); 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; 第四章 调试分析41调试进入界面:选择功能1:选择功能2:选择功能3:4.2经验与总结通过本次课程设计,我认识到了自己的不足。对平时所学内容局限于老师讲的例子,不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度云南省高校教师资格证之高等教育心理学综合练习试卷A卷附答案
- 2024年度云南省高校教师资格证之高等教育心理学高分通关题库A4可打印版
- 低空经济公司运营管理方案
- 赣南师范大学《工作室个性化课程》2021-2022学年第一学期期末试卷
- 阜阳师范大学《证券投资学》2022-2023学年第一学期期末试卷
- 阜阳师范大学《幼儿园》2022-2023学年第一学期期末试卷
- 阜阳师范大学《图形创意》2022-2023学年第一学期期末试卷
- 阜阳师范大学《合唱指挥二》2021-2022学年第一学期期末试卷
- 苏教版小学科学二年级下册全册教案教学设计(新教材)
- 人教版九年级体育教案全集
- 微机原理与单片机接口技术课后题答案详解余发山杨凌霄主编资料
- 江苏省硬笔书法考试专用纸(1-10级)(共5页)
- 浅谈压减三金的施工企业中的重要性
- 浅谈俄罗斯美术之发展
- 建筑电气部分常用电线管规格及穿线管径选择表
- SolidWorks蜗杆参数方程式驱动建模
- 河北省建设工程材料设备推广、限制使用和淘汰产品目录(2010年版)
- 完美版用友U8数据字典(包含列定义)
- 护理文书质控 ppt课件
- 机械制图基础知识完整版
- (医学PPT课件)ERCP中的操作技巧
评论
0/150
提交评论