C語言實踐報告_第1頁
C語言實踐報告_第2頁
C語言實踐報告_第3頁
C語言實踐報告_第4頁
C語言實踐報告_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PAGE中南大學(xué)本科生課程設(shè)計(實踐)報告(C語言)題目全國各省會城市天氣情況統(tǒng)計指導(dǎo)教師學(xué)院專業(yè)班級學(xué)生學(xué)號學(xué)生姓名計算機基礎(chǔ)教學(xué)實驗中心2007年9月10日目錄1.1課程設(shè)計內(nèi)容概述:………………….11.1.1實踐背景知識:……………….11.1.2實踐內(nèi)容:………………………11.1.3實踐目的及意義:………….…21.2設(shè)計方案及實現(xiàn)過程:……………..21.2.1總體設(shè)計思路:……………….21.2.2程序設(shè)計流程圖(主函數(shù)):……………31.2.3操作步驟及設(shè)計成果:……………………32.1方法技巧及所遇到的問題:……………………...52.1.1實踐方法的歸納總結(jié):……………………52.1.2問題及解決辦法:……………62.2實踐的心得與體會:…………………611.1課程設(shè)計內(nèi)容概述:1.1.1實踐背景知識:計算機技術(shù)的發(fā)展和廣泛應(yīng)用,正深刻地改變著現(xiàn)有的社會生產(chǎn)方式和生活方式,成為信息社會的重要支柱。信息化社會對人才的培養(yǎng)提出了更高的要求和標準。掌握和了解計算機技術(shù)并具有應(yīng)用計算機的能力是適應(yīng)信息化社會的基礎(chǔ)。C語言是近年來在國內(nèi)外得到迅速推廣應(yīng)用的一種計算機語言。其功能豐富,表達能力強,使用靈活方便,應(yīng)用面廣,目標程序效率高,可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點。因此,C語言特別適合于編寫系統(tǒng)軟件?,F(xiàn)在,C語言已不僅為計算機專業(yè)工作者所使用,而且為廣大計算機愛好者所青睞,許多人已經(jīng)用它編寫應(yīng)用軟件。如今,學(xué)習(xí)C語言已成為眾多計算機應(yīng)用人員和青年學(xué)生的迫切要求。1.1.2實踐內(nèi)容:上網(wǎng)查詢各省會城市某日最高、最低氣溫和濕度,將數(shù)據(jù)(城市名稱、最高氣溫、最低氣溫、濕度)以統(tǒng)一格式保存在一個純文本文件A.TXT中。編程實現(xiàn):a.從文件A.TXT中讀取數(shù)據(jù),計算全國省會當日的最高氣溫、濕度的平均值,統(tǒng)計最高氣溫高于平均值的城市數(shù);b.按濕度升序排序,將排序后的數(shù)據(jù)存入文件B.TXT中;c.計算各城市溫差,計算自己所在省的省會城市溫差在各省會城市中的排名;d.統(tǒng)計最高氣溫在10℃以下、10℃∽20℃、20℃∽1.要求:A.利用子程序,分模塊實現(xiàn);B.所有數(shù)據(jù)采用文件形式保存;2C.數(shù)據(jù)的組織可采用數(shù)組,也可用結(jié)構(gòu)體數(shù)組。1.1.3實踐目的及意義:通過對書本知識的自學(xué)和理解,掌握用C語言編寫實用程序和設(shè)計自定義用戶界面的基本方法,培養(yǎng)利用程序設(shè)計技術(shù)進行計算機與專業(yè)知識的交叉應(yīng)用,增強綜合解決實際問題的能力,掌握多模塊結(jié)構(gòu)的程序設(shè)計與調(diào)試方法以及程序模塊間的數(shù)據(jù)傳遞方法,建立提出問題、分析問題、解決問題的思維方式,提高自身計算機水平,促進靈活運用所學(xué)知識解決問題能力的提高。1.2設(shè)計方案及實現(xiàn)過程:1.2.1總體設(shè)計思路:1.將上網(wǎng)查詢的數(shù)據(jù)保存在純文本文檔里,所編寫的程序包括一個主函數(shù)和四個子函數(shù),主函數(shù)主要是定義由文件中各類數(shù)據(jù)組成的結(jié)構(gòu)體和供運行者選擇的分支結(jié)構(gòu)。2.第一個自定義函數(shù)功能為:調(diào)用特定的庫函數(shù)從文件中讀取數(shù)據(jù),此處應(yīng)注意已保存文本的格式和函數(shù)中定義的數(shù)據(jù)類型,再采用循環(huán)結(jié)構(gòu)將最高溫度和濕度值累加求平均值,最高氣溫高于平均值的城市數(shù)目也可通過循環(huán)結(jié)構(gòu)計算出來。3.第二個自定義函數(shù)功能為:將文件中各個城市的濕度值讀出來,采用選擇排序或者冒泡排序法將所有數(shù)值從小到大排列,再調(diào)用fprintf函數(shù),把排列好的數(shù)據(jù)存入指定名稱的文本文檔中。4.第三個自定義函數(shù)功能為:利用循環(huán)結(jié)構(gòu)把各城市最高溫與最低溫相減,將所得差值定義為一個數(shù)組,并顯示在屏幕上,然后從第一個城市開始,和長沙市的溫差比較,將大于長沙市的城市數(shù)目累加,即得出本市的具體排名。5.第四個自定義函數(shù)功能為:先將各城市的最高氣溫除十以方便計算,再采用switch語句,通過循環(huán)結(jié)構(gòu)讀出各溫度段的城市數(shù)目并累加,把所得結(jié)果用餅狀圖和折線圖顯示在屏幕上。3開始1.2.2程序設(shè)計流程圖(主函數(shù)):開始輸入choice輸入choice4320143201f4()f3()f2()f1()f4()f3()f2()f1()結(jié)束結(jié)束1.2.3操作步驟及設(shè)計成果:1、定義文件名、文件指針、結(jié)構(gòu)體數(shù)組和需要用到的自定義函數(shù),為方便編程過程中的修改,將城市數(shù)目定義為宏。#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineN34structc{charname[15];inthigh;intlow;intwed;}city[N];FILE*fp;voidf1();voidf2();voidf3();voidf4();2、編寫主函數(shù),利用輸出函數(shù)輸出一些中文提示語句以方便運行時選擇。為使運行時界面清晰,還可以用幾行*******和符號隔開。main()4{intchoice;while(1){printf("\n請選擇需要的操作\n");printf("1.從文件A.TXT中讀取數(shù)據(jù),計算最高溫和濕度的平均值,統(tǒng)計最高溫高于平均值的城市數(shù)\n");printf("2.按濕度升序排序,將排序后的數(shù)據(jù)存入文件B.TXT中\(zhòng)n");printf("3.計算各城市溫差,計算自己所在省的省會城市溫差在各省會城市中的排名\n");printf("4.統(tǒng)計最高氣溫在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已經(jīng)完成指定操作,您可以再次選擇!\n");}else{printf("********************************************************************************");printf("\n您的選擇無效,請重新選擇!\n");}}}3、按照任務(wù)書上的要求分模塊實現(xiàn),共需要編寫四個子程序?,F(xiàn)將第一個子函數(shù)作為例子顯示如下: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("高于最高溫度平均值的城市數(shù)為:%d\n\n",num);getch();}2.1方法技巧及所遇到的問題:2.1.1實踐方法的歸納總結(jié):一個目標的完成,一個期望的實現(xiàn),是一個不斷探索與實踐的過程,不僅需要執(zhí)著,還需要科學(xué)的方法,奇特的構(gòu)思,才能使目標預(yù)期實現(xiàn)?;诖?,在C語言實踐的過程中,我正是采用了科學(xué)的方法,才得以完成,而一定的技巧又成為此次任務(wù)完成的助推器,通過實踐,可以總結(jié)出一些方法,歸結(jié)為四個“能”:1、“能”獨立思考。自身的探索、創(chuàng)新,往往是做事成功的一半。而獨立思考,就為個性發(fā)揮,編寫合理簡潔的程序奠定了基礎(chǔ)。2、“能”學(xué)習(xí)理論知識。一定的行動總是在科學(xué)的指導(dǎo)下得以完成。只有了解C語言相關(guān)基礎(chǔ)知識,才能設(shè)計自如。3、“能”親自實踐。正所謂“實踐出真知”,知識、想法只有在實踐中得以證明。因而,應(yīng)當充分利用時間,不斷上機操作,鞏固和強化所學(xué)知識。4、“能”溝通交流。在實踐中,自己所不能解決的問題,可以和同學(xué)交流或向老師請教。62.1.2問題及解決辦法:1、由于條件限制,上機時間不是很充足,針對這一問題,應(yīng)該學(xué)會充分利用學(xué)校給我們提供的設(shè)備及計算機開放的時間,增加上機操作的次數(shù),不斷熟練,“溫故而知新”。2、在操作中遇到技術(shù)問題,不太清楚,可以通過看教材,多與同學(xué)交流,或者向老師請教,最終理解并學(xué)會運用這一內(nèi)容。3、由于時間觀念不強,造成程序的已完成部分沒能及時保存好,不得不重新來過,導(dǎo)致效率低下。4、編寫整個程序框架時,方案設(shè)計有一定難度,需要自己動腦筋,不斷嘗試,這樣才能找到最合適的方案,與此同時,要求我們熟練C語言編程的相關(guān)知識。5、在實踐中,經(jīng)常忽略一些看似不重要的東西,導(dǎo)致做的時候,總是在細節(jié)上出錯誤,例如:程序?qū)懭脒^程中會犯一些簡單的語法錯誤,像自定義標志符、輸入和讀取文件時的數(shù)據(jù)類型說明等。6、不熟悉操作,對那些不常用的知識意識模糊。如空函數(shù)的定義、數(shù)組和針的運用。之后,通過看書和與同學(xué)交流,學(xué)會了這些內(nèi)容的運用,擴展了C語言知識。當然,問題無止境,提高也無止境,對計算機一些更深層次的知識還有待進一步去探索,學(xué)習(xí)更高難度的操作,例如,編寫一個簡單的軟件,展示自己的綜合水平。2.2實踐的心得與體會:可以說,這次C語言實踐,實質(zhì)上是對我們學(xué)習(xí)知識能力的綜合考驗。一次復(fù)雜程序的編寫,包括了很多細小的部分,每部分又都需要用心去認真完成,相當于采集很多原料,通過加工而成的一件精致的工藝品。同時,只有不斷探索、學(xué)習(xí),才能提升自己的能力。當然,知識只有在實踐中才能發(fā)揮價值。因而,這次C語言實踐,讓我對編程的相關(guān)知識有了更深的了解。同時,也讓我明白了一個道理“細節(jié)決定成敗”,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論