还剩6页未读,继续阅读
文本内容:
中南大学本科生课程设计(实践)报告(语言)C题目全国各省会城市天气情况统计指导教师____________________________学院_____________________________专业班级____________________________学生学号____________________________学生姓名____________________________计算机基础教学实验中心2007年9月10日
1.1课程设计内容概述
11.
1.1实践背景知识
11.
1.2实践内容
11.
1.3实践目的及意义
21.2设计方案及实现过程
21.
2.1总体设计思路2122程序设计流程图(主函数)3123操作步骤及设计成果
32.1方法技巧及所遇到的问题
52.
1.1实践方法的归纳总结
52.
1.2问题及解决办法
62.2实践的心得与体会6课程设计内容概述:
1.1实践背景知识
1.
1.1计算机技术的发展和广泛应用,正深刻地改变着现有的社会生产方式和生活方式,成为信息社会的重要支柱信息化社会对人才的培养提出了更高的要求和标准掌握和了解计算机技术并具有应用计算机的能力是适应信息化社会的基础C语言是近年来在国内外得到迅速推广应用的一种计算机语言其功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点因此,C语言特别适合于编写系统软件现在,C语言已不仅为计算机专业工作者所使用,而且为广大计算机爱好者所青睐,许多人已经用它编写应用软件如今,学习C语言已成为众多计算机应用人员和青年学生的迫切要求实践内容
1.
1.2上网查询各省会城市某日最高、最低气温和湿度,将数据(城市名称、最高气温、最低气温、湿度)以统一格式保存在一个纯文本文件A.TXT中编程实现:a.从文件A.TXT中读取数据,计算全国省会当日的最高气温、湿度的平均值,统计最高气温高于平均值的城市数;b.按湿度升序排序,将排序后的数据存入文件B.TXT中;c,计算各城市温差,计算自己所在省的省会城市温差在各省会城市中的排名;d.统计最高气温在10℃以下、10℃s20C、20℃^30℃.30℃以上的城市数,并绘制分布饼图和折线图
1.要求A.利用子程序,分模块实现;B.所有数据采用文件形式保存;C.数据的组织可采用数组,也可用结构体数组实践目的及意义通过对书本知识的自学和理解,掌握用C语言编写实用程序和设计自定义用户界面的基本方法,培养利用程序设计技术进行计算机与专业知识的交叉应用,增强综合解决实际问题的能力,掌握多模块结构的程序设计与调试方法以及程序模块间的数据传递方法,建立提出问题、分析问题、解决问题的思维方式,提高自身计算机水平,促进灵活运用所学知识解决问题能力的提高设计方案及实现过程:
1.2总体设计思路
1.
2.
11.将上网查询的数据保存在纯文本文档里,所编写的程序包括一个主函数和四个子函数,主函数主要是定义由文件中各类数据组成的结构体和供运行者选择的分支结构
2.第一个自定义函数功能为调用特定的库函数从文件中读取数据,此处应注意已保存文本的格式和函数中定义的数据类型,再采用循环结构将最高温度和湿度值累加求平均值,最高气温高于平均值的城市数目也可通过循环结构计算出来
3.第二个自定义函数功能为将文件中各个城市的湿度值读出来,采用选择排序或者冒泡排序法将所有数值从小到大排列,再调用fprintf函数,把排列好的数据存入指定名称的文本文档中
4.第三个自定义函数功能为利用循环结构把各城市最高温与最低温相减,将所得差值定义为一个数组,并显示在屏幕上,然后从第一个城市开始,和长沙市的温差比较,将大于长沙市的城市数目累加,即得出本市的具体排名
5.第四个自定义函数功能为先将各城市的最高气温除十以方便计算,再采用switch语句,通过循环结构读出各温度段的城市数目并累加,把所得结果用饼状图和折线图显示在屏幕上程序设计流程图主函数:
1.
2.2输入choiceVfl f2f3f4操作步骤及设计成果:L
2.
31、定义文件名、文件指针、结构体数组和需要用到的自定义函数,为方便编程过程中的修改,将城市数目定义为宏#include stdio.h#include conio.h#include stdlib.h#define N34struct c{char name
[15];int high;int low;int wed;}city[N];FILE*fp;void fl;void f2;void f3;void f4;
2、编写主函数,利用输出函数输出一些中文提示语句以方便运行时选择为使运行时界面清晰,还可以用几行******□---------------------符号隔开mainint choice;whilel{printfn\n请选择需要的操作-----------\nn;血从文件中读取数据,计算最高温和湿度的平均值,统计最高温高于平pr f”l.A.TXT均值的城市数;\n”按湿度升序排序,将排序后的数据存入文件中printf”
2.B.TXT\nprintf”
3.计算各城市温差,计算自己所在省的省会城市温差在各省会城市中的排名\nn;.统计最高气温在以下、以上的城市数,并绘printf”410℃10℃^20℃20℃^30℃30℃制分布饼图和折线图\n请按退出;printf
5.\n/IV*1**1*■!**1**1*■!**1*■!**1**1**1*—X**1**1*•1**i*■!*■!*■!**1**1**1**1*i♦卜,[•♦;、■■、•、•卜♦卜*7*•■、♦:、•[、♦卜・卜♦卜*.*♦;■*T*,卜♦卜*7*,,、***•卜•卜♦卜*7*•,.•;、,卜•卜♦;、♦■、♦:、*1*♦卜・卜♦卜*«*•卜♦卜,;、***.I、•卜•卜♦卜,■、•、•卜♦卜*7*•■、♦:、■卜♦卜*******・scanfn%dn,choice;ifchoice=0choice=4{switchchoice{case1:fl;break;case2:f2;break;case3:f3;break;case4:f4;break;case0:exitl;■/0/ft K1*KJ*K1*1*K1K1K1K1K£*1*KIK!*1*KL*I••••一•.、•「•.、•.、•「•「•「•「•.、•■、•「■「•,、•,、,・、—一•■、•「•,、•,、■,•,■、,、•、•「•
4、,,、•・、•・、•「•「•,、,,■•
4、,■、■,、•「•「•「••、,•■—・、•「••、•,、,,、—■、,•、■「•,、•「■
4、,,、7・、•■、•「•、•「•,、•■、•「•,、,”•*******・printfH\n已经完成指定操作,您可以再次选择!\n;elsef•A^/117,!\],■!*■!**1**1**L**1*7,*1**1**1**£**1*7,7,*1*!*1**.!K11**.1**1**1**L**1*7,7,■1**1**l*7,7,*1*J*1**1K!*1*Ki*1!*!1**1**1**1**1*7,■丁丁fq.q、q、q.q、q.、q、*4*rj*q.q、*4*rj**|*〃、*4**2**4*q.q、q、*2**4*q.q、q、q、*4*rj**
1、*4**2**4*q、?、q、*2**4*q、rj********・printfn\n您的选择无效,请重新选择!\n;}
3、按照任务书上的要求分模块实现,共需要编写四个子程序现将第一个子函数作为例子显示如下void fl{FILE*fp;int i,hsum=0,num=0,wsum=0,waver,haver;iffp=fopenA.txt[T==NULL不能打开城市温度管理文件!”;{printf”\nexitl;printfn城市名称最高温度湿度\n”;for i=0;iN;i++{fscanffp,n%12s%8d%*8d%8d\nn,city[i].name,city[i].high,city[i].wed;printfn%12s%8d%8d%%\n\city[i].name,city[i].high,city[i].wed;hsum=hsum+city[i].high;wsum=wsum+city[i].wed;}fclosefp;haver=hsum/N;waver=wsum/N;fori=0;iN;i++{ifhavercity[i].highnum=num+l;}printfn\n最高温度平均值为:%d\n”,haver;“湿度平均值为:%printf d%%\n”,waver;高于最高温度平均值的城市数为:%printf d\n\n,num;getch;方法技巧及所遇到的问题.11实践方法的归纳总结
2.
1.1一个目标的完成,一个期望的实现,是一个不断探索与实践的过程,不仅需要执着,还需要科学的方法,奇特的构思,才能使目标预期实现基于此,在C语言实践的过程中,我正是采用了科学的方法,才得以完成,而一定的技巧又成为此次任务完成的助推器,通过实践,可以总结出一些方法,归结为四个“能”:
1、“能”独立思考自身的探索、创新,往往是做事成功的一半而独立思考,就为个性发挥,编写合理简洁的程序奠定了基础
2、“能”学习理论知识一定的行动总是在科学的指导下得以完成只有了解C语言相关基础知识,才能设计自如
3、“能”亲自实践正所谓“实践出真知”,知识、想法只有在实践中得以证明因而,应当充分利用时间,不断上机操作,巩固和强化所学知识
4、“能”沟通交流在实践中,自己所不能解决的问题,可以和同学交流或向老师请教问题及解决办法:
2.
1.
21、由于条件限制,上机时间不是很充足,针对这一问题,应该学会充分利用学校给我们提供的设备及计算机开放的时间,增加上机操作的次数,不断熟练,“温故而知新”
2、在操作中遇到技术问题,不太清楚,可以通过看教材,多与同学交流,或者向老师请教,最终理解并学会运用这一内容
3、由于时间观念不强,造成程序的已完成部分没能及时保存好,不得不重新来过,导致效率低下
4、编写整个程序框架时,方案设计有一定难度,需要自己动脑筋,不断尝试,这样才能找到最合适的方案,与此同时,要求我们熟练C语言编程的相关知识
5、在实践中,经常忽略一些看似不重要的东西,导致做的时候,总是在细节上出错误,例如程序写入过程中会犯一些简单的语法错误,像自定义标志符、输入和读取文件时的数据类型说明等
6、不熟悉操作,对那些不常用的知识意识模糊如空函数的定义、数组和针的运用之后,通过看书和与同学交流,学会了这些内容的运用,扩展了C语言知识当然,问题无止境,提高也无止境,对计算机一些更深层次的知识还有待进一步去探索,学习更高难度的操作,例如,编写一个简单的软件,展示自己的综合水平实践的心得与体会
2.2可以说,这次c语言实践,实质上是对我们学习知谡能力的综合考验一次复杂程序的编写,包括了很多细小的部分,每部分又都需要用心去认真完成,相当于采集很多原料,通过加工而成的一件精致的工艺品同时,只有不断探索、学习,才能提升自己的能力当然,知识只有在实践中才能发挥价值因而,这次C语言实践,让我对编程的相关知识有了更深的了解同时,也让我明白了一个道理“细节决定成败”,一些细微的东西,对整个大局也有举足轻重的作用,万不可忽视,只有不断操作,才能不断提升可以说,这次实践是对C语言知识的升华与拓展正因为此,在实践中难免会遇到一些困难,好在都能及时解决其次,这次实践也增强了我的动手能力,独立思考能力及创新意识,同时,同学们互相学习,彼此交流,一起动脑筋研究,都很好地完成了任务“一份耕耘,一份收获”,此次实践不仅使我对C语言编程的理论知识有了进一步了解,锻炼了操作能力、思考能力、创新能力,同时也为今后的学习生活奠定了坚实的基础,可谓获益匪浅!。
个人认证
优秀文档
获得点赞 0