C语言课程设计飞机票系统_第1页
C语言课程设计飞机票系统_第2页
C语言课程设计飞机票系统_第3页
C语言课程设计飞机票系统_第4页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文档内蒙古科技大学本科生课程设计说明书题目 :C 语言课程设计飞机订票系统学生姓名:马如意学号: 1567159120专业:软件工程班级:15级1班指导教师:褚燕华老师日期:2016 年1 月3 日文案大全实用标准文档内蒙古科技大学课程设计任务书课程名称C 语言课程设计设计题目飞机订票系统指导教师褚燕华时间2016.1.3 2016.1.9一、教学要求1. 巩固和加深学生对 C 语言课程的基本知识的理解和掌握2. 掌握 C 语言编程和程序调试的基本技能3. 利用 C 语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用 C 语言解决实际问题的能力二、设计资料及参数每

2、个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。飞机订票系统设计假定民航机场共有n 个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:航班信息录入功能( 航班信息用文件保存) 输入航班信息浏览功能输出查询航线: ( 至少两种查询方式) 算法按航班号查询按终点站查询承办订票和退票业务三、设计要求及成果1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3 人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使

3、其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少 500 行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天写课程设计报告第五天提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C 语言程序设计 ,谭浩强,清华大学出版社2C 语言程

4、序设计课程设计,刘振安,机械工业出版社文案大全实用标准文档目录内蒙古科技大学课程设计任务书.I目录 .II第一章 需求分析 .31.1引言 .31.2任务概述 .31.3功能需求 .31.4任务计划 .4第二章概要设计 .52.1航空类的定义 .52.2接口设计 .52.3运行界面设计 .6第三章详细设计 .63.1浏览航线信息 .错误!未定义书签。3.2浏览客户信息 .73.3查询航线信息 .错误!未定义书签。3.4订票系统 .103.5退票系统 .错误!未定义书签。3.6查看余额 .错误!未定义书签。第四章测试分析 .114.1程序的选择页面(主菜单) .114.2浏览航班信息 .124.

5、3按两种方式查询: .134.4办理订票系统 .错误!未定义书签。4.5浏览客户信息 .134.6办理退票系统 .14第五章用户手册 .155.1使用说明 .15第六章 课程设计总结 .15附 录:程序代码 .16致谢.31文案大全实用标准文档第一章需求分析1.1 引言随着经济越来越发达, 世界经济全球化的到来也是的我们越来越多的乘坐飞机,我们乘坐飞机旅行前, 都需要在网上或者去机场买机票,自然就会涉及到机票的订票和退票以及查询等等。应对这些必须要一个程序能执行多种功能,可以依据乘客的需要来做出相应的解答。而且在乘客订票和退票后还能自动管理票数,还能根据乘客的需要完成预定机票和等待其他乘客退票

6、等活动,实现机票的无人化管理。1.2 任务概述每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。飞机订票系统设计假定民航机场共有n 个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:航班信息录入功能 ( 航班信息用文件保存 )航班信息浏览功能输出查询航线: ( 至少两种查询方式 )按航班号查询按终点站查询承办订票和退票业务。1.3 功能需求根据要求用户需要设计一个关于售票处服务系统程序,使航空公司可以通过文案大全实用标准文档的乘客简单地输入个人部分信息,便可方便的管理机票。该

7、程序还要实现以下功能:(1) 能够对航空航线进行查询;(2) 能够自主的承办订票业务(3) 能够自主的承办退票业务1.4 性能需求1 用户界面屏幕格式:(1)要求有菜单及工具栏以方便操作(2)各数据库信息可在屏幕上直接修改(3)各数据统计结果可在屏幕上显示(4)进行系统分析后的结果在另一窗口中显示2 硬件环境普通的计算机3 软件环境支持的操作系统包括Windows98/XP/7/8/10 中文版及以上版本要用到的编译语言vc+6.01.5 任务计划第 1 天选择课程设计题目,分析课题的要求第 2、3、4、5、6 天编程第 7 天 编程及调试第 8、 9、10、天 写课程设计报告第 11 天 提

8、交课程设计报告(打印稿及电子稿)文案大全实用标准文档第二章概要设计2.1 航空类的定义struct air /定义结构体数组int num;char start20;char over20;char time10;int count;sN;2.2接口设计表 2.1 :函数列表函数名函数格式 / 即函数首部函数功能void main()void菜单void tuipiao()void退票void dingpiao()void订票search()void查询void savevoid保存void xiugai()void修改文案大全2.3 运行界面设计服务系统欢迎界面选择功能运行界面实用标准文档浏

9、览航线输入航班查询航线订票,退票删除航班图 2-2 系统结构示意图第三章详细设计3.1 输入模块设计主要功能是对航班信息的查找。在系统存在航班信息前提下, 使用该功能进行浏览航班信息。浏览过后自动返回主菜单。文案大全实用标准文档void input()/ 打印模块程序char f="2008china" / 设置密码int y;printf(" 请输入密码并以回车键结束:nn");scanf("%s",f); / 读取密码getchar();if(strcmp(f,"2008china")=0)printf(&qu

10、ot; 请依次输入航班信息(机票数位0 结束输入) :nn""完成输入信息请键入w 以回车键结束 nn"); / 打印提示信息printf("-n");for(i=0;i<N;i+)printf(" 请输入航班号 :n");scanf("%d",&si.num); / 读取航班号getchar();printf(" 请输入起始站 :n");scanf("%s",si.start);/读取起始站getchar();printf(" 请输入终点站

11、 :n");scanf("%s",si.over);/ 读取终点站getchar();printf(" 请输入时间 :n");scanf("%s",si.time);/ 读取时间getchar();printf(" 请输入机票数(机票数为0 结束输入) :n",m);scanf("%d",&si.count);/ 读取机票数getchar();文案大全实用标准文档m+;printf(" 第%d 个信息已经输完是否继续?按任意键继续,按0 结束 ",m);sc

12、anf("%d",&y);getchar();if(y=0)save();/将结构体信息存盘print();/ 输出输入的航班信息break;elseprintf(" 输入密码错误 !请检查您的密码是否正确! 谢谢 !再见 !nn");3.2 查询模块设计具体语句为:void search()/查询模块char name120;char name220;char ii10;int n,no;doprintf(" 请选择查找方式: nn");/ 打印查询方式菜单printf("1. 按航班号查找 nn"&qu

13、ot;2.按终点站查找 nn"文案大全实用标准文档"3.按航线查找 nn""0.返回 nn");printf(" 请在 0-3 中选择: nn""按其他键以回车键结束返回主菜单:nn");scanf("%d",&n);/ 读取查找方式if(n=0)break;switch(n)case 1:printf(" 请输入航班号: n");scanf("%d",&no);/ 航班号break;case 2:printf(" 请输

14、入终点站名称: n");scanf("%s",name2);/读取终点break;case 3:printf(" 请输入起始站名称: n");scanf("%s",name1);/读取起始站printf(" 请输入终点站名称: n");scanf("%s",name2);/终点站break;read();/调用读取函数for(i=0;i<m;i+)if(strcmp(si.over,name1)=0|strcmp(si.over,name2)=0)/按终 点站起始站判断输出条件文

15、案大全实用标准文档printf("n 查找航班信息成功 !n");printf(" 航班号起始站终点站 时间 机票数 n");printf(PRINT);/ 打印信息break;if(si.num=no)/ 按航班号判断输出条件printf("n 查找航班信息成功 !n");printf(" 航班号起始站终点站 时间 机票数 n");printf(PRINT);/ 打印信息break;no=0;/将航班号赋值为 0printf(" 没有您需要的信息或查找完毕:nn""是否继续查找 ?请

16、键入 yes 或 no 以回车键结束 n");scanf("%s",ii);while(strcmp(ii,"yes")=0);/ 判断结束3.3保存及读取模块设计void dingpiao()/ 订票模块int n;char a10;dosearch();/调用查询模块printf(" 请输入您要订的机票数以回车键结束: n"); scanf("%d",&n);/ 读取所订机票数getchar();if(n<0)文案大全实用标准文档printf(" 请输入有效的机票数! n&qu

17、ot;);/ 判断机票数是否出错 break;if(si.count!=0&&si.count>=n)/判断是否出错si.count=si.count-n;save();/调用保存函数printf(" 订票成功 !nn");break;if(si.count<n)/ 判断是否出错printf(" 请输入有效的机票数:n");break;printf(" 是否继续?请输入 yes或 no 以回车键结束 :n");/ 判断是否继续订票scanf("%s",a);while(!strcmp(a

18、,"yes");/ 判断结束第四章测试分析4.1 程序的选择页面(主菜单)文案大全实用标准文档图 4-1 主菜单4.2浏览航班信息买票之前可以先浏览一下航线信息,以决定是否有符合你出行的航班,具体操作结果如下图:文案大全实用标准文档4.3 按多种方式查询:4.4 浏览客户信息浏览客户信息时需要输入航班号,浏览完毕按任意键返回主菜单,具体运行结果如下图文案大全实用标准文档4.6 办理退票系统订票后若由于一些原因想要取消订票,则需要选择办理退票业务,然后一次输入航班号及姓名进行退票操作,运行结果如下:图 4-5 退票信息文案大全实用标准文档第五章用户手册5.1 使用说明用户进入

19、系统后, 就会看到飞机订票系统的主菜单页面。系统总共有 7 个模块,分别由 0 到 6 表示,主菜单页面只能输入0 到 6,输入其他字符无效,如果用户输入无效字符,系统仍留在主菜单页面。第六章 课程设计总结我当年报考的时候,脑子一抽!报了软件工程!之后我慢慢地了解到,原来我就是传说中的程序员! !就是人傻钱多死得早的那个神奇的职业!上了大学我学习了 C 语言!感觉整个世界都不好了! !好难理解! Hello world我都学了好几天!每次试验都脑子大!对着题目发呆!后来书看得多了!终于找到一点门道!还好老师风趣幽默! 总是变着法子的鼓励我们!让我们没有丧失学习 c 语言的信心! 他告诉我们,

20、每一个程序员在成长过程中,都有过类似的经历与感受,使我克服了畏难与自卑心理; 他还告诉我们,掌握编程需要累积薄发,需要多动手实验,在实验中去感悟,终会有水滴石穿、云开日出、豁然开朗的那一刻;“不抛弃,不放弃” ,让我们坚持到对编程“开窍”的那一天。老师为了让我们练好编程, 为我们开设了许多练习编程的实验课, 让我们不断地磨砺自已的意志品质与思维灵犀,借他山之石,攻已之玉。这次课程设计, 是我第一次完成较大的程序编写, 开始时,我们心里根本没底,想都不敢想自已能写出一点东西来, 并真正地解决这一实际问题。 但随着工作的逐渐深入,对问题的理解越来越透彻, 想写的东西越来越多, 信心越来越足,程序越

21、编越大, 系统的功能越做越强。 当我们洋洋洒洒地撰写完千余行代码, 将一个又一个功能模块实现出来,并将它们调试通过之后,那种喜悦感、幸福感、成就感让我感到兴奋。我终于等到了所谓“开窍”的这一刻,原来它是这样的一种感觉。此时此刻,回想一年来学习编程的经历,我明白了这样一个道理:此时文案大全实用标准文档的喜悦感、幸福感、成就感,不正好是过去的沮丧、 痛苦、自卑所带来的馈赠吗!其实,这种道理对我们这个年龄段的青年人, 谁人不知又谁人不晓呢, 它所应证的不就是那几句老名言吗?不经一番寒彻骨;哪得梅花扑鼻香;看着手机,电脑的一个个优秀app!我充满着骄傲!我为自己是程序员骄傲! !当然我也会努力!成为一

22、名优秀的程序员! !航空飞机订票系统已开发完成了, 它基本上实现了我们在需求分析中所提出的功能,但革命尚未成功,同志仍需努力。附录:程序代码#include<stdio.h> /标准输入、输出头文件#include<string.h> /包含字符串函数处理头文件#include<stdlib.h> /包含动态存储与释放函数头文件#define N 10000struct air /定义结构体数组int num;char start20;char over20;char time10;int count;sN;int i;int m=0;#definePRIN

23、T"%-d%12s%12s%10s%12dn",si.num,si.start,si.over,si.time,si.count / 定义输文案大全实用标准文档出格式void input(); / 输入航班信息void print(); / 输出航班信息void save(); /保存航班信息void read(); /读取航班信息void search(); /查找航班信息void shanchu(); /删除航班信息void dingpiao(); / 订票信息void tuipiao(); / 退票信息void xiugai(); / 修改信息void main()i

24、nt j;system("COLOR 3f");printf("您好,欢迎进入马如意的飞机订票系统! n");printf("=n");doprintf(" 1.输入航班信息 - nn"" 2.浏览航班信息 -nn"" 3.修改航班信息 -nn"" 4.查找航班信息 -nn"" 5.删除航班信息 -nn"" 6.订票信息 -nn"" 7.退票信息 -nn"文案大全实用标准文档" 0.退出

25、 - nn");printf("=n");printf(" 请在 0-7 中选择以回车键结束:nn");scanf("%d",&j);switch(j)case 1: input();/调用输入模块break;case 2:print();/调用打印模块break;case 3:xiugai();/调用修改模块break;case 4:search();/调用查找模块break;case 5:shanchu(); /调用删除模块break;case 6:dingpiao();/调用订票模块break;case 7:t

26、uipiao();/调用退票模块break;case 0:;break;while(j!=0); / 判断结束printf(" 谢谢使用,再见! n");/ 主函数结束void input()/ 打印模块程序文案大全实用标准文档char f="2008china" / 设置密码int y;printf(" 请输入密码并以回车键结束:nn");scanf("%s",f); / 读取密码getchar();if(strcmp(f,"2008china")=0)printf(" 请依次输入航

27、班信息(机票数位0 结束输入) :nn""完成输入信息请键入w 以回车键结束 nn"); / 打印提示信息printf("-n");for(i=0;i<N;i+)printf(" 请输入航班号 :n");scanf("%d",&si.num); / 读取航班号getchar();printf(" 请输入起始站 :n");scanf("%s",si.start);/读取起始站getchar();printf(" 请输入终点站 :n")

28、;scanf("%s",si.over);/ 读取终点站getchar();printf(" 请输入时间 :n");scanf("%s",si.time);/ 读取时间getchar();printf(" 请输入机票数(机票数为0 结束输入) :n",m);scanf("%d",&si.count);/ 读取机票数getchar();m+;文案大全实用标准文档printf(" 第%d 个信息已经输完是否继续?按任意键继续,按0 结束 ",m);scanf("

29、%d",&y);getchar();if(y=0)save();/将结构体信息存盘print();/ 输出输入的航班信息break;elseprintf(" 输入密码错误 !请检查您的密码是否正确! 谢谢 !再见 !nn");void save()/保存模块程序FILE *fp,*fp1;/ 定义文件指针if(fp=fopen("chen.txt","wb")=NULL)/打开文件并判断是否出错printf(" 创建文件失败 !nn");/ 打印出错提示getchar();return;if(fp

30、1=fopen("hao.txt","wb")=NULL)/打开文件并判断是否出错printf(" 创建文件失败 !nn");/ 打印出错提示getchar();return;文案大全实用标准文档for(i=0;i<m;i+)if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件写入数据, 并判断是否出错printf(" 向文件输入数据失败 !nn");fprintf(fp1,"%d",m);fclose(fp);/关闭文件fclose(fp1)

31、;/ 关闭文件void read()/从文件读取信息模块FILE *fp,*fp1;/ 定义文件指针if(fp=fopen("chen.txt","rb")=NULL)/打开文件,并判断是否出错printf(" 出错,请检查文件是否存在, 按任意键返回住菜单 ");/ 打印出错提示getchar();if(fp1=fopen("hao.txt","rb")=NULL)/打开文件并判断是否出错printf(" 创建文件失败 !nn");/ 打印出错提示getchar();ret

32、urn;fscanf(fp1,"%d",&m);fclose(fp1);/关闭文件for(i=0;i<m;i+)fread(&si,sizeof(air),1,fp);/ 从文件中读取信息文案大全实用标准文档fclose(fp);/ 关闭文件void print()/ 打印模块char w10;read();/调用读取文件函数printf(" 航班号起始站终点站 时间 机票数 n");for(i=0;i<m;i+)printf(PRINT);/ 打印信息printf(" 请按任意键回车键结束返回上层菜单:n"

33、;);scanf("%s",w);getchar();void search()/查询模块char name120;char name220;char ii10;int n,no;doprintf(" 请选择查找方式: nn");/ 打印查询方式菜单 printf("1. 按航班号查找 nn""2.按终点站查找 nn""3.按航线查找 nn""0.返回 nn");文案大全实用标准文档printf(" 请在 0-3 中选择: nn""按其他键以回车

34、键结束返回主菜单:nn");scanf("%d",&n);/ 读取查找方式getchar();if(n=0)break;switch(n)case 1:printf(" 请输入航班号: n");scanf("%d",&no);/ 航班号getchar();break;case 2:printf(" 请输入终点站名称: n");scanf("%s",name2);/读取终点站getchar();break;case 3:printf(" 请输入起始站名称: n&

35、quot;);scanf("%s",name1);/读取起始站getchar();printf(" 请输入终点站名称: n");scanf("%s",name2);/终点站getchar();break;read();/调用读取函数for(i=0;i<m;i+)文案大全实用标准文档if(strcmp(si.over,name1)=0|strcmp(si.over,name2)=0)/按终 点站起始站判断输出条件printf("n 查找航班信息成功 !n");printf(" 航班号起始站终点站 时间

36、 机票数 n");printf(PRINT);/ 打印信息break;if(si.num=no)/ 按航班号判断输出条件printf("n 查找航班信息成功 !n");printf(" 航班号起始站终点站 时间 机票数 n");printf(PRINT);/ 打印信息break;no=0;/将航班号赋值为 0printf(" 没有您需要的信息或查找完毕:nn""是否继续查找 ?请键入 yes 或 no 以回车键结束 n");scanf("%s",ii);while(strcmp(ii,

37、"yes")=0);/ 判断结束void shanchu()/删除模块char name120;char name220;char ii10;char f="2008china"/ 设置密码int no,n;文案大全实用标准文档printf(" 请输入密码并以回车键结束:nn");scanf("%s",f);/ 读取密码if(strcmp(f,"2008china")=0) / 判断密码是否正确doprintf(" 请选择删除以方式回车键结束:nn");/ 打印删除方式菜单printf("*1. 按航班号删除 nn""*2. 按航线删除 nn""*0. 返回 nn");printf(" 请在 0-2 中选择以回车键结束:n")

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论