C語言實(shí)踐報(bào)告_第1頁
C語言實(shí)踐報(bào)告_第2頁
C語言實(shí)踐報(bào)告_第3頁
C語言實(shí)踐報(bào)告_第4頁
C語言實(shí)踐報(bào)告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論