版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE中南大学本科生课程设计(实践)报告(C语言)题目全国各省会城市天气情况统计指导教师学院专业班级学生学号学生姓名计算机基础教学实验中心2007年9月10日目录1.1课程设计内容概述:………………….11.1.1实践背景知识:……………….11.1.2实践内容:………………………11.1.3实践目的及意义:………….…21.2设计方案及实现过程:……………..21.2.1总体设计思路:……………….21.2.2程序设计流程图(主函数):……………31.2.3操作步骤及设计成果:……………………32.1方法技巧及所遇到的问题:……………………...52.1.1实践方法的归纳总结:……………………52.1.2问题及解决办法:……………62.2实践的心得与体会:…………………611.1课程设计内容概述:1.1.1实践背景知识:计算机技术的发展和广泛应用,正深刻地改变着现有的社会生产方式和生活方式,成为信息社会的重要支柱。信息化社会对人才的培养提出了更高的要求和标准。掌握和了解计算机技术并具有应用计算机的能力是适应信息化社会的基础。C语言是近年来在国内外得到迅速推广应用的一种计算机语言。其功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写系统软件。现在,C语言已不仅为计算机专业工作者所使用,而且为广大计算机爱好者所青睐,许多人已经用它编写应用软件。如今,学习C语言已成为众多计算机应用人员和青年学生的迫切要求。1.1.2实践内容:上网查询各省会城市某日最高、最低气温和湿度,将数据(城市名称、最高气温、最低气温、湿度)以统一格式保存在一个纯文本文件A.TXT中。编程实现:a.从文件A.TXT中读取数据,计算全国省会当日的最高气温、湿度的平均值,统计最高气温高于平均值的城市数;b.按湿度升序排序,将排序后的数据存入文件B.TXT中;c.计算各城市温差,计算自己所在省的省会城市温差在各省会城市中的排名;d.统计最高气温在10℃以下、10℃∽20℃、20℃∽1.要求:A.利用子程序,分模块实现;B.所有数据采用文件形式保存;2C.数据的组织可采用数组,也可用结构体数组。1.1.3实践目的及意义:通过对书本知识的自学和理解,掌握用C语言编写实用程序和设计自定义用户界面的基本方法,培养利用程序设计技术进行计算机与专业知识的交叉应用,增强综合解决实际问题的能力,掌握多模块结构的程序设计与调试方法以及程序模块间的数据传递方法,建立提出问题、分析问题、解决问题的思维方式,提高自身计算机水平,促进灵活运用所学知识解决问题能力的提高。1.2设计方案及实现过程:1.2.1总体设计思路:1.将上网查询的数据保存在纯文本文档里,所编写的程序包括一个主函数和四个子函数,主函数主要是定义由文件中各类数据组成的结构体和供运行者选择的分支结构。2.第一个自定义函数功能为:调用特定的库函数从文件中读取数据,此处应注意已保存文本的格式和函数中定义的数据类型,再采用循环结构将最高温度和湿度值累加求平均值,最高气温高于平均值的城市数目也可通过循环结构计算出来。3.第二个自定义函数功能为:将文件中各个城市的湿度值读出来,采用选择排序或者冒泡排序法将所有数值从小到大排列,再调用fprintf函数,把排列好的数据存入指定名称的文本文档中。4.第三个自定义函数功能为:利用循环结构把各城市最高温与最低温相减,将所得差值定义为一个数组,并显示在屏幕上,然后从第一个城市开始,和长沙市的温差比较,将大于长沙市的城市数目累加,即得出本市的具体排名。5.第四个自定义函数功能为:先将各城市的最高气温除十以方便计算,再采用switch语句,通过循环结构读出各温度段的城市数目并累加,把所得结果用饼状图和折线图显示在屏幕上。3开始1.2.2程序设计流程图(主函数):开始输入choice输入choice4320143201f4()f3()f2()f1()f4()f3()f2()f1()结束结束1.2.3操作步骤及设计成果:1、定义文件名、文件指针、结构体数组和需要用到的自定义函数,为方便编程过程中的修改,将城市数目定义为宏。#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN34structc{charname[15];inthigh;intlow;intwed;}city[N];FILE*fp;voidf1();voidf2();voidf3();voidf4();2、编写主函数,利用输出函数输出一些中文提示语句以方便运行时选择。为使运行时界面清晰,还可以用几行*******和符号隔开。main()4{intchoice;while(1){printf("\n请选择需要的操作\n");printf("1.从文件A.TXT中读取数据,计算最高温和湿度的平均值,统计最高温高于平均值的城市数\n");printf("2.按湿度升序排序,将排序后的数据存入文件B.TXT中\n");printf("3.计算各城市温差,计算自己所在省的省会城市温差在各省会城市中的排名\n");printf("4.统计最高气温在10℃以下、10℃∽20℃、20℃∽printf("5.请按0退出\n");printf("********************************************************************************");scanf("%d",&choice);if(choice>=0&&choice<=4){switch(choice){case1:f1();break;case2:f2();break;case3:f3();break;case4:f4();break;case0:exit(1);}printf("********************************************************************************");printf("\n已经完成指定操作,您可以再次选择!\n");}else{printf("********************************************************************************");printf("\n您的选择无效,请重新选择!\n");}}}3、按照任务书上的要求分模块实现,共需要编写四个子程序。现将第一个子函数作为例子显示如下:voidf1(){FILE*fp;inti,hsum=0,num=0,wsum=0,waver,haver;if((fp=fopen("A.txt","r"))==NULL){printf("\n不能打开城市温度管理文件!");exit(1);}5printf("城市名称最高温度湿度\n");for(i=0;i<N;i++){fscanf(fp,"%12s%8d%*8d%8d\n",city[i].name,&city[i].high,&city[i].wed);printf("%12s%8d%8d%%\n",city[i].name,city[i].high,city[i].wed);hsum=hsum+city[i].high;wsum=wsum+city[i].wed;}fclose(fp);haver=hsum/N;waver=wsum/N;for(i=0;i<N;i++){if(haver<city[i].high)num=num+1;}printf("\n最高温度平均值为:%d\n",haver);printf("湿度平均值为:%d%%\n",waver);printf("高于最高温度平均值的城市数为:%d\n\n",num);getch();}2.1方法技巧及所遇到的问题:2.1.1实践方法的归纳总结:一个目标的完成,一个期望的实现,是一个不断探索与实践的过程,不仅需要执着,还需要科学的方法,奇特的构思,才能使目标预期实现。基于此,在C语言实践的过程中,我正是采用了科学的方法,才得以完成,而一定的技巧又成为此次任务完成的助推器,通过实践,可以总结出一些方法,归结为四个“能”:1、“能”独立思考。自身的探索、创新,往往是做事成功的一半。而独立思考,就为个性发挥,编写合理简洁的程序奠定了基础。2、“能”学习理论知识。一定的行动总是在科学的指导下得以完成。只有了解C语言相关基础知识,才能设计自如。3、“能”亲自实践。正所谓“实践出真知”,知识、想法只有在实践中得以证明。因而,应当充分利用时间,不断上机操作,巩固和强化所学知识。4、“能”沟通交流。在实践中,自己所不能解决的问题,可以和同学交流或向老师请教。62.1.2问题及解决办法:1、由于条件限制,上机时间不是很充足,针对这一问题,应该学会充分利用学校给我们提供的设备及计算机开放的时间,增加上机操作的次数,不断熟练,“温故而知新”。2、在操作中遇到技术问题,不太清楚,可以通过看教材,多与同学交流,或者向老师请教,最终理解并学会运用这一内容。3、由于时间观念不强,造成程序的已完成部分没能及时保存好,不得不重新来过,导致效率低下。4、编写整个程序框架时,方案设计有一定难度,需要自己动脑筋,不断尝试,这样才能找到最合适的方案,与此同时,要求我们熟练C语言编程的相关知识。5、在实践中,经常忽略一些看似不重要的东西,导致做的时候,总是在细节上出错误,例如:程序写入过程中会犯一些简单的语法错误,像自定义标志符、输入和读取文件时的数据类型说明等。6、不熟悉操作,对那些不常用的知识意识模糊。如空函数的定义、数组和针的运用。之后,通过看书和与同学交流,学会了这些内容的运用,扩展了C语言知识。当然,问题无止境,提高也无止境,对计算机一些更深层次的知识还有待进一步去探索,学习更高难度的操作,例如,编写一个简单的软件,展示自己的综合水平。2.2实践的心得与体会:可以说,这次C语言实践,实质上是对我们学习知识能力的综合考验。一次复杂程序的编写,包括了很多细小的部分,每部分又都需要用心去认真完成,相当于采集很多原料,通过加工而成的一件精致的工艺品。同时,只有不断探索、学习,才能提升自己的能力。当然,知识只有在实践中才能发挥价值。因而,这次C语言实践,让我对编程的相关知识有了更深的了解。同时,也让我明白了一个道理“细节决定成败”,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纹带棒杆菌护理查房
- 《抗生素选用及应用》课件
- 《高考单项》课件
- 回收黄金合同
- 机械制图培训
- 毛石质量与交付期限2024年度合同
- ICU常见管道护理相关知识
- 酒店客房预订合作合同协议书范本模板
- 年度绿化及保洁员雇佣合同(2024版)
- 用药安全知识培训
- 东北三省联考(辽宁名校联盟)2024届高三12月联合考试语文试题及参考答案
- 100以内加减法练习题(3000道)
- 化学纤维项目可行性研究报告
- 婴幼儿保育技能大赛考试题库(浓缩500题)
- 昆明茶马古道规划方案
- 公路桥梁施工安全
- 双减背景下小学数学作业的创新设计五篇集合
- 光伏项目安全培训课件
- 物流专业个人能力展示
- 五年级上册小数除法竖式计算练习300题及答案
- 大学生职业规划数据分析师
评论
0/150
提交评论