}
printf(\getchar(); menu();
E. 航班信息查询模块
分析:基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。在查询小模块中采用了直接查找的方法。本模块可以通过多种查询方式进行完善。这是本程序没有做的地方。
[流程图]
开始 文件打开 输出错误信息 查询方式 航班号 此处可以完善其它查询方式 是否继续 结束 程序: void Search() {
int m,i,flight_no,flag=0;
printf(\scanf(\m=load(); for(i=0;i if(flight_no==fly[i].flight_no) } } { } flag=1; printf(\printf_oneflight(i); if(flag==1) printf(\ else printf(\ printf_back(); (5)运行与测试报告: 在第一步编程过程中很顺利的编写好了各模块,最后整合成了一个完整的程序,但在调试过程中遇到了许多问题。如一些由于粗心导致分号,括号,字母输错的例子很多。但都很快改正。还有函数调用错误fp=fopen(\我在写时丢了fopen结果一直错误,并且发现不了,后来请老师才解决问题。还有写程序中我经常忘记头文件包含命令,以及函数声明,导致调试中出现警告。这让我体会到只有耐心的一行一行的改错误才能把程序调试好。 运行中遇到问题:例如,对数据的写文件操作中,我把存在fly[N]中的数据以 fwrite(&fly[N,sizeof(struct flight),1,fp)写入文件,结果发现文件中总是不能出现数据。以至程序不能运行后面部分。后来才发现取得地址错了应改成fwrite(&t,sizeof(struct flight),1,fp)。在机票显示阶段就是这问题让程序出现错误。不能正确读出输入的飞机航班信息。 三、总结 程序整体上运行与题目要求很吻合,算法大多比较通用,各个函数模块的正确性、完备性、对输入的容错能力以及算法的进一步改进在设计中都有表述,这道题使我熟悉了文件的输入输出操作,真切的感受到了fprintf和fwrite函数的区别! 回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整半个月的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。在 设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。 四、程序代码: #include struct flight /*结构体存放航班信息的结构*/ { int flight_no; char startstation[20]; char endstation[20]; char flytime[10]; int plan_ticket; int sell_ticket; }fly[N];/*定义结构体变量*/ FILE* fp; void Browse(); void printf_oneflight(int i); void menu(); void input(i) /* 把航班信息输入到文件*/ { struct flight t; printf(\scanf(\ t.sell_ticket); fp=fopen(\ if(!fp){printf(\ else fwrite(&t,sizeof(struct flight),1,fp); fclose(fp); } void printf_oneflight(int i) /*输出一个 航班信息*/ { printf(\ n,fly[i].flytime,fly[i].plan_ticket,fly[i].sell_ticket); } void printf_face() /*输出文件内容结构*/ { } int load()/*载入函数实现文件内容载入程序,并返回飞机航班数值*/ { } void printf_back() /*返回退出函数实现程序退出、返回*/ { int w; printf(\ printf(\scanf(\FILE *fp; int i; if((fp=fopen(\{ } for(i=0;!feof(fp);i++) fread(&fly[i],sizeof(struct flight),1,fp); printf(\exit(0); printf(\ startstation endstation flytime plan_ticket sell_ticket\\n\ fclose(fp); return(i-1);
相关推荐: