C语言课程设计资料报告材料—范例

上传人:M****1 文档编号:486102352 上传时间:2022-12-08 格式:DOC 页数:18 大小:270.50KB
返回 下载 相关 举报
C语言课程设计资料报告材料—范例_第1页
第1页 / 共18页
C语言课程设计资料报告材料—范例_第2页
第2页 / 共18页
C语言课程设计资料报告材料—范例_第3页
第3页 / 共18页
C语言课程设计资料报告材料—范例_第4页
第4页 / 共18页
C语言课程设计资料报告材料—范例_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《C语言课程设计资料报告材料—范例》由会员分享,可在线阅读,更多相关《C语言课程设计资料报告材料—范例(18页珍藏版)》请在金锄头文库上搜索。

1、wordXX学院C语言课程设计报告课程名称: C语言课程设计 课程编号:报告题目: 学生: 学 号: 专 业 成 绩: 任课教师: 评阅日期: C语言课程设计报告一、 C语言课程设计的目的C语言的教学是学生根据课堂讲授容,学生做相应的自主练习,消化课堂所讲解的容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1 进一步掌握和利用C语言进展程设计的能力; 2、 进一步理解和运用结构化程设计的思想和方法; 3、 初步掌握开发一个小型实用系统的根本方法; 4、 学会调试一个较长程序的根本方法; 5、 学会利用流

2、程图或N-S图表示算法; 6、 掌握书写程设计开发文档的能力书写课程设计报告;二、课程设计报告正文1课程设计题目的原文;假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供如下服务:l 航班信息录入功能文件保存 l 完成航班信息浏览功能; l 查询航线至少一种查询方式。2题目的分析需求分析;任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况数据可以存储在一个数据文件中浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况如,输入航班号,起飞抵达城市,确定

3、航班是否满仓;另外要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。 3整体设计与模块划分;根据需求分析,该程序可分为以下四大模块:输入模块显示模块查询模块退出模块飞机订票系统4代码设计;包括各功能模块的流程图;重要模块中关键局部的代码分析;关键函数的算法设计和分析;等等;1分析:主函数的功能比拟简单,形式比拟简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不

4、存在,如此该程序就无常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。菜单函数的功能是替主函数调用个功能模块函数,因而设计的根本思路很简单,即:用一个输入来承受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。2程序:void menu()int n,w;doputs(tt*MENU*nn);puts(tttt 1.enter new data);puts(tttt 2.Browse all);puts(tttt 3.Sear

5、ch);puts(tttt 4.exit);puts(nntt *n);printf(Choice your number(1-4): bb);scanf(%d,&n);if(n4)w=1;getchar();else w=0;while(w=1);switch(n)case 1:enter();break;case 2:Browse();break;case 3:Search();break;case 4:exit(0);/*主函数*/main()menu();1分析:各功能模块中的分程序中的交织的较多,因而,本程序的公共函有5个,这使得各功能模块函数显得简洁,这是程序的一个特点。此处的公共

6、函数的功能较为简单,但他很实用。2程序:1、把航班信息输入到文件中的函数。void input(i)struct flight t;printf(nflight_no startstation endstation flytime plan_ticket sell_ticketn);scanf(%d%s%s%s%d%d,&t.flight_no,t.startstation,t.endstation,t.flytime,&t.plan_ticket,&t.sell_ticket);fp=fopen(flydata.txt,ab);if(!fp)printf(can not open this

7、filen);exit(0); else fwrite(&t,sizeof(struct flight),1,fp); fclose(fp);2、输出一个 航班信息函数void printf_oneflight(int i)printf(n%5d%20s%20s%10s%4d%4dn,flyi.flight_no,flyi.startstation,flyi.endstation,flyi.flytime,flyi.plan_ticket,flyi.sell_ticket);3、输出文件容结构函数void printf_face()printf(ntNO. startstation endst

8、ation flytime plan_ticketsell_ticketn);4、载入函数实现文件容载入程序,并返回飞机航班数值。int load()FILE *fp;int i;if(fp=fopen(flydata.txt,rb)=NULL)printf(nCan not open filen);exit(0);for(i=0;!feof(fp);i+)fread(&flyi,sizeof(struct flight),1,fp);fclose(fp);return(i-1);5、返回退出函数实现程序退出、返回。void printf_back()int w;printf(nntSucce

9、ssful._nn);printf(What do you want to do?nnt1).Browse all nowt2).back:bb);scanf(%d,&w);if(w=1) Browse();else menu();C.航班根本信息输入模块航班信息录入函数:1分析:航班的根本信息,对它们输入后,要存进原文件,采用fwrite函数就可以实现。但是,用该函数存进文件的数据都是以二进制的形式存在的,不是通常所采用的形式,可以改用fprintf函数来实现该功能。不过本程序采用的是fwrite函数。再用户输入完成后,程序会询问是否继续输入,这个功能更具人性化,可以省去返回到主函数在进入这

10、个函数的麻烦!流程图输入信息文件打开否 输入信息是否继续将信息输出到磁盘调用printf_back()函数完毕开始输出错误信息2程序:void enter()int i,n;printf(How many flights do you want input? : bb);scanf(%d,&n);printf(n Enter data nownn);for(i=0;in;i+)printf(n Input %dth float record.n,i+1);input(i);printf_back();D. 航班信息浏览模块流程图显示信息开始文件打开查找航班信息是否查找到输入信息是否继续完毕输出

11、错误信息删除操作显示航班信息:void Browse()int i,n;n=load();printf_face();for(i=0;in;i+)if(i%10=0)printf(nPress any key to contiune .);getchar();puts(nn);puts(nn);printf_oneflight(i);printf(tThere are %d record.n,n);printf(nPress any key to back .n);getchar();menu();E. 航班信息查询模块分析:根本信息的查询按查询可供选择的方式比拟丰富,可按航班号查询。在查询小

12、模块中采用了直接查找的方法。本模块可以通过多种查询方式进展完善。这是本程序没有做的地方。流程图开始文件打开查询方式是否继续完毕输出错误信息航班号此处可以完善其它查询方式程序:void Search()int m,i,flight_no,flag=0;printf(Please input flight_no:n);scanf(%d,&flight_no);m=load();for(i=0;im;i+)if(flight_no=flyi.flight_no)flag=1;printf(nThe flight message is:n);printf_oneflight(i);if(flag=1)

13、printf(Found!);elseprintf(Not Found!);printf_back();5运行与测试报告:在第一步编程过程中很顺利的编写好了各模块,最后整合成了一个完整的程序,但在调试过程中遇到了许多问题。如一些由于粗心导致分号,括号,字母输错的例子很多。但都很快改正。还有函数调用错误fp=fopen(flydata.txt,ab);我在写时丢了fopen结果一直错误,并且发现不了,后来请教师才解决问题。还有写程序中我经常忘记头文件包含命令,以与函数声明,导致调试中出现警告。这让我体会到只有耐心的一行一行的改错误才能把程序调试好。运行中遇到问题:例如,对数据的写文件操作中,我把存在flyN中的数据以fw

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号