ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:77.88KB ,
资源ID:12512463      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12512463.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告范例.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告范例.docx

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

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

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

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

5、puts(tttt 3.Search);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();B.公共函数(1)分析:各功能模块中的分程序中的交错的较多,因而,本程序

6、的公共函有5个,这使得各功能模块函数显得简洁,这是程序的一个特点。此处的公共函数的功能较为简单,但他很实用。(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(flyd

7、ata.txt,ab); if(!fp)printf(can not open this 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、输出文件内容结构函数vo

8、id printf_face() printf(ntNO. startstation endstation flytime plan_ticket sell_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

9、);5、返回退出函数实现程序退出、返回。void printf_back() int w; printf(nntSuccessful._nn); printf(What do you want to donnt1).Browse all nowt2).back:bb); scanf(%d,&w); if(w=1) Browse(); else menu();C.航班基本信息输入模块航班信息录入函数:(1)分析:航班的基本信息,对它们输入后,要存进原文件,采用fwrite函数就可以实现。但是,用该函数存进文件的数据都是以二进制的形式存在的,不是通常所采用的形式,可以改用fprintf函数来实现该

10、功能。不过本程序采用的是fwrite函数。再用户输入完成后,程序会询问是否继续输入,这个功能更具人性化,可以省去返回到主函数在进入这个函数的麻烦!流程图输入信息(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) printf(Found!); else pr

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

14、&flyN,sizeof(struct flight),1,fp)写入文件,结果发现文件中总是不能出现数据。以至程序不能运行后面部分。后来才发现取得地址错了应改成fwrite(&t,sizeof(struct flight),1,fp)。在机票显示阶段就是这问题让程序出现错误。不能正确读出输入的飞机航班信息。三、总结程序整体上运行与题目要求很吻合,算法大多比较通用,各个函数模块的正确性、完备性、对输入的容错能力以及算法的进一步改进在设计中都有表述,这道题使我熟悉了文件的输入输出操作,真切的感受到了fprintf和fwrite函数的区别!回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整

15、半个月的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。四、程序代码:#include /*头文件包含命令*/#include#define N 50struct

16、flight /*结构体存放航班信息的结构*/ int flight_no; char startstation20; char endstation20; char flytime10; int plan_ticket; int sell_ticket;flyN;/*定义结构体变量*/FILE* fp;void Browse();void printf_oneflight(int i);void menu();void input(i) /* 把航班信息输入到文件*/ struct flight t; printf(nflight_no startstation endstation fly

17、time 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 filen);exit(0); else fwrite(&t,sizeof(struct flight),1,fp); fclose(fp);void printf_oneflight(int i) /*输出一个 航

18、班信息*/ printf(n%5d%20s%20s%10s%4d%4dn,flyi.flight_no,flyi.startstation,flyi.endstation,flyi.flytime,flyi.plan_ticket,flyi.sell_ticket);void printf_face() /*输出文件内容结构*/ printf(ntNO. startstation endstation flytime plan_ticket sell_ticketn);int load()/*载入函数实现文件内容载入程序,并返回飞机航班数值*/ FILE *fp; int i; if(fp=f

19、open(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);void printf_back() /*返回退出函数实现程序退出、返回*/ int w; printf(nntSuccessful._nn); printf(What do you want to donnt1).Browse all nowt2).back:bb); scanf(%d,&w)

20、; if(w=1) Browse(); else menu();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();void Browse() int i,n; n=load(); printf_face(); for(i=0;in;i+) if

21、(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();void Search()/*查询*/ int m,i,flight_no,flag=0; printf(Please input flight_no:n); scanf(%d,&flight_no); m=

22、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) printf(Found!); else printf(Not Found!); printf_back();void menu() int n,w; do puts(tt*MENU*nn); puts(tttt 1.enter new data); puts(tttt 2.Browse all); puts(tttt 3.Search); 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();/*菜单函数的功能是替主函数调用个功能模块函数*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1