版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE1-計(jì)算機(jī)地圖制圖實(shí)習(xí)(論文)報(bào)告交通學(xué)院地理信息系統(tǒng)專業(yè)學(xué)期第1學(xué)期學(xué)號(hào)學(xué)生姓名實(shí)習(xí)日期資料的準(zhǔn)備與處理地圖底圖資料選用??谑惺袇^(qū)圖作為地圖底圖資料,該圖幅采用1954年北京坐標(biāo)系和1956年黃海高程系,比例尺為1:3萬(wàn)。注:在拿到的原圖上就沒(méi)有??诘貐^(qū)的西海岸部分,因此那部分不作為此次制圖的制圖范圍。音頻資料從網(wǎng)上下載了地圖瀏覽系統(tǒng)的背景音樂(lè):《請(qǐng)到天涯海角來(lái)》文字資料海口市主要企、事業(yè)單位,地名,公共交通,旅游景點(diǎn)及學(xué)校等各方面的信息介紹2.引用文件 (1)國(guó)家測(cè)繪局2003年頒布的《公開(kāi)地圖內(nèi)容表示若干規(guī)定》 (2)國(guó)家測(cè)繪局2009年頒布的《公開(kāi)地圖內(nèi)容表示補(bǔ)充規(guī)定(試行)》的通知 (3)《公開(kāi)版地圖質(zhì)量評(píng)定標(biāo)準(zhǔn)》(GB/T19996-2005) (4)《測(cè)繪管理工作國(guó)家秘密范圍的規(guī)定》(國(guó)測(cè)辦字[2003]17號(hào))3.計(jì)算機(jī)地圖制圖作業(yè)方案及地理要素圖層設(shè)置 3.1.計(jì)算機(jī)地圖制圖作業(yè)方案對(duì)??谑惺袇^(qū)的紙質(zhì)地圖進(jìn)行掃描,得到TIFF格式的文件。通過(guò)用MapGis對(duì)掃描地圖的矢量化后,轉(zhuǎn)到ArcGis格式進(jìn)行圖層的分離,把對(duì)于交通旅游有重要指示作用的學(xué)校、飯店賓館、重要企、事業(yè)單位和旅游景區(qū)獨(dú)立出來(lái),然后在電子地圖中制作時(shí)加入圖層的獨(dú)立顯示功能。用戶可以對(duì)最終的成品進(jìn)行選擇操作,自由查看所需查找的獨(dú)立地物所在位置。譬如,選擇查看??谑袑W(xué)校的分布情況,則電子地圖上只把學(xué)校的點(diǎn)狀地物顯示出來(lái)便于用戶查看。最終成果設(shè)計(jì)圖如下。界面縮小還原醫(yī)院旅游景點(diǎn)幫助學(xué)校背景音樂(lè)界面縮小還原醫(yī)院旅游景點(diǎn)幫助學(xué)校背景音樂(lè) 3.2.地理要素圖層設(shè)置因?yàn)榇舜沃谱鞯碾娮拥貓D為海口市的交通旅游圖,所以在設(shè)置圖層時(shí)重點(diǎn)把道路分為高速公路、主要道路、次要道路和一般道路四種,同時(shí)把雙線河流也作為一個(gè)圖層獨(dú)立出來(lái)。這些作為線狀地物的主要部分來(lái)進(jìn)行矢量化,力求精度越高越好。而在點(diǎn)狀地物中,把學(xué)校、旅游景點(diǎn)、飯店賓館和重要企、事業(yè)單位獨(dú)立分層,因?yàn)榭紤]到在交通旅游時(shí),這些地物對(duì)于方向和目標(biāo)有著重要的指示作用。4.主要作業(yè)過(guò)程 4.1.地圖的掃描處理紙質(zhì)地圖是掃描數(shù)字化較常用的介質(zhì),雖然圖紙?jiān)趦?chǔ)存過(guò)程中受空氣和水分的影響變形較大,但一般伸縮變形有一定規(guī)律,通過(guò)圖像糾正可以減小變形,但需要掃描的地圖不能有褶皺或明顯的變形。掃描時(shí),將圖紙平放在掃描儀的操作平臺(tái)上,保存圖紙平整,雙手輕輕地將地圖推進(jìn)滾筒中,等掃描儀的滾筒卡住圖紙后,點(diǎn)擊點(diǎn)腦上的“掃描”按鈕,掃描儀就自動(dòng)的將紙質(zhì)地圖掃描成以像素信息存儲(chǔ)的柵格數(shù)據(jù)結(jié)構(gòu)信息。掃描儀分平臺(tái)式掃描儀、滾筒式掃描儀和手持式掃描儀,掃描地圖使用的是滾筒式掃描儀。掃描儀的技術(shù)指標(biāo)主要包括分辨率、灰度級(jí)、色彩數(shù)、掃描速度、掃描幅面。其中分辨率是掃描儀最重要的技術(shù)指標(biāo),也是選擇掃描儀時(shí)最應(yīng)該考慮的因素,它表示掃描儀對(duì)圖像細(xì)節(jié)上的表現(xiàn)能力,即決定了掃描儀所記錄圖像的細(xì)致度。在作業(yè)安排下來(lái)后,我和我的組員唐逢幸兩人決定對(duì)??谑羞M(jìn)行交通旅游地圖的制作。于是我們?cè)诰W(wǎng)上買了海口市的市區(qū)圖,但由于物流的原因致使我們的作業(yè)進(jìn)度拖延了一天,然后因?yàn)榈却龗呙璋才庞滞涎恿艘惶欤瑫r(shí)間變得有點(diǎn)緊張。最后終于在星期四的上午拿到地圖掃描數(shù)據(jù)文件。 4.2.地圖的矢量化處理 地圖的矢量化處理是通過(guò)MapGis軟件進(jìn)行的。MapGIS是中地?cái)?shù)碼集團(tuán)的產(chǎn)品名稱,是中國(guó)具有完全自主知識(shí)版權(quán)的地理信息系統(tǒng),是全球唯一的搭建式GIS數(shù)據(jù)中心集成開(kāi)發(fā)平臺(tái),實(shí)現(xiàn)遙感處理與GIS完全融合,支持空中、地上、地表、地下全空間真三維一體化的GIS開(kāi)發(fā)平臺(tái)。MapGis系統(tǒng)采用面向服務(wù)的設(shè)計(jì)思想、多層體系結(jié)構(gòu),實(shí)現(xiàn)了面向空間實(shí)體及其關(guān)系的數(shù)據(jù)組織、高效海量空間數(shù)據(jù)的存儲(chǔ)與索引、大尺度多維動(dòng)態(tài)空間信息數(shù)據(jù)庫(kù)、三維實(shí)體建模和分析,具有TB級(jí)空間數(shù)據(jù)處理能力、可以支持局域和廣域網(wǎng)絡(luò)環(huán)境下空間數(shù)據(jù)的分布式計(jì)算、支持分布式空間信息分發(fā)與共享、網(wǎng)絡(luò)化空間信息服務(wù),能夠支持海量、分布式的國(guó)家空間基礎(chǔ)設(shè)施建設(shè)。(引用:MapGis百度百科)我們兩人在這部分工作中進(jìn)行了分工,把地圖分為東西兩部分。我負(fù)責(zé)對(duì)東邊線狀地物部分和整體海岸線的矢量化,唐逢幸負(fù)責(zé)西邊所有部分和東邊點(diǎn)狀部分的矢量化。這樣分工的原因是,東邊線狀部分內(nèi)容較多,而我對(duì)于線編輯比較熟悉,所以把這部分交給我。而唐逢幸比較耐心,并且他作為一個(gè)??谌藢?duì)海口地區(qū)的點(diǎn)狀地物十分熟悉,所以把所有的點(diǎn)編輯交給他。這樣的分工充分考慮到了我們兩人的優(yōu)缺點(diǎn),在矢量化這部分工作中起到了優(yōu)勢(shì)互補(bǔ)的作用。打開(kāi)MapGis軟件的圖形編輯區(qū)塊,創(chuàng)建點(diǎn)文件、線文件、區(qū)文件和工程,裝入掃描地圖后生成的TIFF文件,選擇要編輯的圖層,開(kāi)始矢量化。在畫(huà)道路時(shí),老師要求我們用雙線線形,這樣所得的道路兩邊始終是平行的,并且在交叉口可以自動(dòng)相交聯(lián)通,十分方便。只是雙線的線編輯在面對(duì)彎曲的道路時(shí)很難操作,經(jīng)常在某個(gè)拐角處出現(xiàn)線段的交叉和配準(zhǔn)失誤。我在這種情況下,會(huì)使用F9的退點(diǎn)功能來(lái)反復(fù)定點(diǎn),并在彎道處多處定點(diǎn)以求定位精準(zhǔn)。當(dāng)然誤差總是難免的,在回頭發(fā)現(xiàn)線段出現(xiàn)交叉而線編輯已經(jīng)進(jìn)行到前方很遠(yuǎn),整體刪掉肯定會(huì)使效率下降的情況下,只能勾選參數(shù)設(shè)置中的坐標(biāo)點(diǎn)可見(jiàn),然后通過(guò)線上刪點(diǎn)等一系列操作來(lái)糾正誤差。 4.3.格式轉(zhuǎn)換打開(kāi)MapGis的文件轉(zhuǎn)換功能,裝入矢量化后生成的點(diǎn)文件、線文件和區(qū)文件,輸出成dxf格式的文件。這是可以在ArcGis中打開(kāi)和操作的中間過(guò)渡文件,便于之后的圖層分離保存。 4.4.圖層分離保存 這部分操作利用ArcGis軟件實(shí)現(xiàn)。 ArcGIS產(chǎn)品線為用戶提供一個(gè)可伸縮的,全面的GIS平臺(tái)。ArcObjects包含了大量的可編程組件,從細(xì)粒度的對(duì)象(例如,單個(gè)的幾何對(duì)象)到粗粒度的對(duì)象(例如與現(xiàn)有ArcMap文檔交互的地圖對(duì)象)涉及面極廣,這些對(duì)象為開(kāi)發(fā)者集成了全面的GIS功能。每一個(gè)使用ArcObjects建成的ArcGIS產(chǎn)品都為開(kāi)發(fā)者提供了一個(gè)應(yīng)用開(kāi)發(fā)的容器,包括桌面GIS(ArcGISDesktop),嵌入式GIS(ArcGISEngine)以及服務(wù)端GIS(ArcGISServer)。(引用:ArcGis百度百科)用ArcGis打開(kāi)之前格式轉(zhuǎn)換得到的dxf文件,可以看到在Grouplayer下有Annotation、Point、Polyline、Polygon和MultiPatch這些子文件。除了Point外,其他子文件前的勾選取消掉,然后右鍵選擇Point的屬性,在繪制圖層選項(xiàng)頁(yè)中勾選想要獨(dú)立顯示的圖層。之后再進(jìn)行數(shù)據(jù)輸出,就可以得到一個(gè)獨(dú)立的圖幅。用這種方法我得到了學(xué)校、醫(yī)院、旅游景點(diǎn)等專題圖幅。 4.5.程序編寫(xiě)在之前的矢量化階段,我負(fù)責(zé)的部分工作量不大,因此我承擔(dān)了程序編寫(xiě)這部分的大部分工作。制作電子地圖的瀏覽系統(tǒng)可以通過(guò)VB+MO的方式,也可以通過(guò)ArcGisengine的方式進(jìn)行。由于VB+MO的方法簡(jiǎn)單易用,再加上我們組已經(jīng)浪費(fèi)了很多時(shí)間的原因,我采用了這種方式進(jìn)行制作。VB并非我們學(xué)過(guò)的編程工具,在一開(kāi)始編寫(xiě)程序時(shí)我是一邊上網(wǎng)看教程一邊嘗試運(yùn)用,中間當(dāng)然會(huì)出現(xiàn)這樣或那樣的問(wèn)題。譬如,在選擇獨(dú)立顯示“醫(yī)院”這一地物后,再點(diǎn)擊選擇獨(dú)立顯示“學(xué)?!?,除了道路外地圖會(huì)變成一片空白。這是因?yàn)樵诰幊虝r(shí),采用的是圖層隱藏的方法把除了“醫(yī)院”外的所有點(diǎn)狀地物圖層隱藏起來(lái)。這樣在之后點(diǎn)擊選擇獨(dú)立顯示“學(xué)?!睍r(shí)又把“醫(yī)院”這一圖層給隱藏了,所以地圖會(huì)變成一片空白。通過(guò)一番思考,決定在“還原”功能里加上重置所有圖層顯示的部分,然后每次點(diǎn)擊“醫(yī)院”前自動(dòng)調(diào)用“還原”功能一次。這樣終于解決了問(wèn)題。程序出現(xiàn)問(wèn)題是正常的,重要的是如何解決,幸好通過(guò)不斷努力,最終的成品總算達(dá)到了預(yù)期想要達(dá)到的效果。并且在最后還加上了一點(diǎn)小創(chuàng)意用MMControl控件播放背景音樂(lè),曲目是海南精典歌曲《請(qǐng)到天涯海角來(lái)》。 4.6.程序調(diào)試在程序完成后,我多次打開(kāi)程序查看使用效果,總體來(lái)說(shuō)并無(wú)太大問(wèn)題。但又一次發(fā)現(xiàn)獨(dú)立顯示“旅歐景點(diǎn)”時(shí),地圖上的注釋字體顏色太淺,不容易看清楚。這是由于每次使用程序時(shí),圖層是自動(dòng)加載的,圖層顏色也是隨機(jī)顯示的,這說(shuō)明有可能會(huì)出現(xiàn)以上這種字體顏色太淺的問(wèn)題。于是我又在代碼中明確設(shè)定了各個(gè)圖層的顏色,這樣每次使用時(shí)看到的地圖都是一樣的效果,不會(huì)存在偶然性錯(cuò)誤。5.地圖制圖質(zhì)量控制及地圖輸出5.1.地圖制圖質(zhì)量控制地圖制圖質(zhì)量控制一直貫穿于整個(gè)項(xiàng)目,在掃描地圖時(shí),為了防止掃描過(guò)程中出現(xiàn)的瑕疵在當(dāng)下沒(méi)有被發(fā)現(xiàn),刻意地多掃描了幾份,在其中選擇最為完美的一幅進(jìn)行下部分的操作。在矢量化階段明確圖層分化,嚴(yán)格按圖層劃分來(lái)描繪地物。并且在具體操作過(guò)程中務(wù)求定位準(zhǔn)確,盡量避免最后矢量化成果與掃描原圖有過(guò)大差異。在最后的程序編寫(xiě)部分,為了防止出現(xiàn)在用戶電腦上無(wú)法運(yùn)用的問(wèn)題,多次把半成品搬到別人電腦上打開(kāi),試驗(yàn)功能是否可以實(shí)現(xiàn)。 5.2.地圖輸出 最終成果:海口市地圖瀏覽系統(tǒng)一個(gè)6.實(shí)習(xí)結(jié)論和心得體會(huì) 6.1.實(shí)習(xí)結(jié)論經(jīng)過(guò)為期兩周的實(shí)習(xí),通過(guò)MAPGIS、ARCGIS和VB的運(yùn)用,最終制作出??谑须娮拥貓D一份。在這個(gè)過(guò)程中,我再次溫習(xí)了MAPGIS的矢量化操作和ARCGIS的圖層分離保存操作,學(xué)習(xí)了VB+MO方式對(duì)GIS進(jìn)行二次開(kāi)發(fā)的步驟。在格式轉(zhuǎn)換到ARCGIS中時(shí),發(fā)現(xiàn)用ARCGIS9不能讀取dxf文件中的注釋部分,只能用ARCGIS10才可以讀取。在用VB+MO制作地圖瀏覽程序時(shí)發(fā)現(xiàn),可以讀取直接用點(diǎn)文件和線文件轉(zhuǎn)成的shapefile格式的地圖,但無(wú)法讀取注釋部分,并且無(wú)法獨(dú)立顯示特定地物,證明轉(zhuǎn)到ARCGIS中進(jìn)行圖層分離保存的操作無(wú)法省略。 6.2.心得體會(huì)實(shí)習(xí)雖然只有短短的兩周,我感覺(jué)在這期間學(xué)到了很多東西,第一次使用掃描儀,我自己動(dòng)手掃描了多張地圖,掌握了掃描儀的簡(jiǎn)單使用。通過(guò)實(shí)習(xí)熟悉了MAPGIS軟件的使用,學(xué)會(huì)了更多的矢量化操作技巧。在矢量化時(shí),碰到立交橋這種彎曲交叉的道路時(shí),由于操作上的失誤致使線段的交錯(cuò)連接,而因?yàn)榫€段太過(guò)靠近使得相互壓蓋不好處理。幸好老師教我在參數(shù)設(shè)置中勾選坐標(biāo)點(diǎn)可見(jiàn),使得線型變得十分細(xì)小而且上面的定位點(diǎn)也清晰可見(jiàn),之后再對(duì)此進(jìn)行操作就變得非常容易。同時(shí),我在期間也學(xué)習(xí)到了VB+MO的編程方法和多個(gè)控件的運(yùn)用方式(雖然不是每個(gè)都用到制作的程序上)。在編程階段,無(wú)法解決音頻文件與程序的匹配問(wèn)題時(shí),上網(wǎng)搜索解決方法,百般尋找和試驗(yàn),終于找到一行與老師案例差不多的代碼,成功達(dá)到了預(yù)期的效果。因?yàn)檫@不是老師要求的功能而是我自己的創(chuàng)意,所以在解決過(guò)程中要靠自己去動(dòng)腦動(dòng)手,這提高了我發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的能力,不再一味依靠老師的幫助。在實(shí)習(xí)的起始,老師給我們選擇自己喜歡做的項(xiàng)目,覺(jué)得工作量較大也可以幾個(gè)人組隊(duì)一起完成。這種方式十分自由,而且容易激發(fā)我們的興趣。譬如我自己,就選擇制作了家鄉(xiāng)海南的省府—??谑械慕煌糜螆D,無(wú)論是在矢量化還是制作電子地圖瀏覽系統(tǒng)時(shí),看到自己熟悉的一切都會(huì)覺(jué)得很高興很有動(dòng)力。在和組員分工合作,一起解決遇到的各種問(wèn)題時(shí),體會(huì)到了團(tuán)結(jié)協(xié)作的重要性。對(duì)于已經(jīng)大三的我們?cè)絹?lái)越覺(jué)得實(shí)踐的重要性,能把課堂學(xué)到的知識(shí)在實(shí)習(xí)中實(shí)踐一遍是一種很好的掌握知識(shí)的過(guò)程,在這個(gè)過(guò)程中我們不僅能學(xué)到專業(yè)知識(shí),還能增強(qiáng)團(tuán)隊(duì)合作意識(shí),學(xué)習(xí)繪圖工作中需要的細(xì)心與認(rèn)真。在以后的時(shí)間中,學(xué)??梢远喟才艓状螌?shí)習(xí)來(lái)增強(qiáng)大家的實(shí)踐動(dòng)手能力。吉首大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告學(xué)院:城鄉(xiāng)資源與規(guī)劃學(xué)院專業(yè):城市規(guī)劃班級(jí):級(jí)學(xué)號(hào):姓名:課題:C課程設(shè)計(jì)指導(dǎo)教師:報(bào)告成績(jī):日期:目錄TOC\o"1-2"\h\z\u1、課程設(shè)計(jì)題目 32、課程設(shè)計(jì)要求 33、設(shè)計(jì)題目分析 33.1題目簡(jiǎn)介 33.2設(shè)計(jì)要求 34、課程設(shè)計(jì)內(nèi)容 34.1總體設(shè)計(jì) 34.2詳細(xì)設(shè)計(jì) 44.3調(diào)試和測(cè)試 75、設(shè)計(jì)心得與總結(jié) 76、建議 87、附件: 9
1、課程設(shè)計(jì)題目建立一個(gè)班級(jí)(20個(gè)學(xué)生)的學(xué)生情況表(采用鏈表),每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、性別和二門課的成績(jī)。2、課程設(shè)計(jì)要求1、要求按規(guī)定的時(shí)間完成;2、要求按照題目的要求完成程序的編寫(xiě),且排版合理,整體整齊,并用C++6.0運(yùn)行;3、設(shè)計(jì)報(bào)告要求格式正確,要素完整,層次清楚,思路清晰,文字流暢。3、設(shè)計(jì)題目分析3.1題目簡(jiǎn)介在學(xué)習(xí)大學(xué)計(jì)算機(jī)鏈表之后,為了更加熟練的運(yùn)用之前所學(xué)的計(jì)算機(jī)技能,更好的鍛煉同學(xué)們的計(jì)算機(jī)編程和操作能力,在經(jīng)過(guò)這次課程設(shè)計(jì)后,可以充分的了解到同學(xué)們的計(jì)算機(jī)能力。因此,特開(kāi)展此次課程設(shè)計(jì)。3.2設(shè)計(jì)要求在建立的程序中,要求建立一個(gè)主函數(shù)和一個(gè)菜單函數(shù),主函數(shù)要求包含:鏈表的建立,鏈表的插入,鏈表的刪除,鏈表的輸出和鏈表的查找等。4、課程設(shè)計(jì)內(nèi)容4.1總體設(shè)計(jì)(系統(tǒng)總體設(shè)計(jì)框架、系統(tǒng)功能模塊圖)主函數(shù)主函數(shù)創(chuàng)建函數(shù)輸出函數(shù)菜單函數(shù)插入函數(shù)刪除函數(shù)查詢函數(shù)4.2詳細(xì)設(shè)計(jì)(主要功能模塊的算法設(shè)計(jì)思路、工作流程圖)主函數(shù):菜單函數(shù):鏈表的創(chuàng)建:鏈表的輸出:鏈表的查找:鏈表的刪除:鏈表的插入:4.3調(diào)試和測(cè)試(程序調(diào)試過(guò)程、數(shù)據(jù)測(cè)試結(jié)果分析,測(cè)試過(guò)程中遇到的主要問(wèn)題以及采取的解決措施)剛開(kāi)始拿到這個(gè)題目時(shí),經(jīng)過(guò)老師的簡(jiǎn)單介紹,對(duì)其有一點(diǎn)點(diǎn)了解,于是把所需的函數(shù)輸入了程序,然后再對(duì)相應(yīng)的變量進(jìn)行修改。試著運(yùn)行,但是發(fā)現(xiàn)這樣的困難較大,于是把函數(shù)分開(kāi)來(lái),一個(gè)一個(gè)的改,一個(gè)個(gè)的做,直到每個(gè)函數(shù)都符合要求之后,再整體的合在一起,再試著運(yùn)行,發(fā)現(xiàn)還是有問(wèn)題,于是對(duì)主函數(shù)進(jìn)行修改,以及菜單函數(shù)進(jìn)行修改,最后都可以運(yùn)行時(shí),再輸入數(shù)據(jù),驗(yàn)證程序的可行性。有問(wèn)題,再繼續(xù)修改,反復(fù)多次,并詢問(wèn)老師,最后確定函數(shù)。最后結(jié)合做出的程序,再進(jìn)行一定的調(diào)試,讓它更方便使用和更容易被使用。5、設(shè)計(jì)心得與總結(jié)(課程設(shè)計(jì)過(guò)程中的學(xué)習(xí)體會(huì)和收獲,對(duì)C語(yǔ)言和本次課程設(shè)計(jì)的認(rèn)識(shí))在這次課程設(shè)計(jì)中,我明白了,對(duì)于這種由多個(gè)函數(shù)組成的綜合性程序,為了更好更快的達(dá)到想要的結(jié)果,可以先對(duì)分函數(shù)進(jìn)行符合要求的調(diào)整,再把所有的函數(shù)整合起來(lái)進(jìn)行調(diào)整,修改主函數(shù)、菜單函數(shù)。這樣由總到分再到總的做法,可以清晰明了的找出錯(cuò)誤點(diǎn)和需修改點(diǎn)。還有一點(diǎn)就是,再做課程設(shè)計(jì)時(shí),不能孤立自己的去完成,而是在不懂的時(shí)候主動(dòng)找老師同學(xué)們進(jìn)行咨詢,再把東西轉(zhuǎn)為自己的東西,這樣才能提高自己的動(dòng)手設(shè)計(jì)程序的水平,經(jīng)過(guò)老師和同學(xué)的共同協(xié)作,才能更好的完成課程設(shè)計(jì)。經(jīng)過(guò)這次的課程設(shè)計(jì),大大的提高了我的動(dòng)手能力,和讀程序的能力,讓我更好的掌握了這門課程。同時(shí),也讓我看到了自己的很多不足之處,例如:程序的輸入速度和準(zhǔn)確度;對(duì)程序的認(rèn)識(shí)度;對(duì)程序函數(shù)的運(yùn)用度等,都需要很大的提高。6、建議
7、附件:#include<stdio.h>#include<stdlib.h>#include<conio.h>structstudent{charname[20];longintnum;intscore1,score2;charsex;structstudent*next;};intn;longnum;structstudent*head=NULL,*stu;structstudent*creat(){structstudent*head,*p,*q;n=0;head=NULL;p=q=(structstudent*)malloc(sizeof(structstudent));do{ printf("enterdate(input0forend):\n");printf("pleaseinputStudentnum:");scanf("%ld%*c",&p->num);if(0==p->num)break;printf("pleaseinputStudentname:");scanf("%s",&p->name);printf("pleaseinputStudentscore1:");scanf("%d",&p->score1);printf("pleaseinputStudentscore2:");scanf("%d",&p->score2);printf("pleaseinputStudentsex(m/w):");scanf("%*c%c%*c",&p->sex); n++;if(n==1){head=p;head->next=NULL;}elseq->next=p;q=p;p=(structstudent*)malloc(sizeof(structstudent));}while(p->num!=0);q->next=NULL;return(head);}structstudent*insert(structstudent*head){structstudent*p0,*p1,*p2;structstudent*stud=(structstudent*)malloc(sizeof(structstudent));printf("pleaseinputStudentnum:");scanf("%ld%*c",&stud->num);printf("pleaseinputStudentname:");scanf("%s",&stud->name);printf("pleaseinputStudentscore1:");scanf("%d",&stud->score1);printf("pleaseinputStudentscore2:");scanf("%d",&stud->score2);printf("pleaseinputStudentsex(m/w):");scanf("%*c%c%*c",&stud->sex);p0=head;while(p0->next){p0=p0->next;}p0->next=stud;stud->next=NULL;returnhead;}structstudent*delete(structstudent*head,longnum){structstudent*p1,*p2;if(head==NULL){printf("\nlistnull!\n");returnNULL;}p1=head;while(num!=p1->num&&p1->next!=NULL){p2=p1;p1=p1->next;}if(num==p1->num){if(p1==head)head=p1->next;elsep2->next=p1->next;printf("delete:%ld\n",num);free(p1);n--;}elseprintf("%ldnotbeenfound!\n",num);return(head);}voidprint(structstudent*head){structstudent*p;p=head;if(head!=NULL){ printf("\n\n|StudentNum||StudentName||Score1||Score2||sex|\n");do{printf("|%11ld||%12s||%6d||%6d||%c|\n",p->num,p->name,p->score1,p->score2,p->sex);p=p->next;}while(p!=NULL);}elseprintf("thisisaNULLlist");}structstudent*find(structstudent*head,longnum){structstudent*p1,*p2;if(head==NULL){printf("\nlistnull!\n");returnNULL;}p1=head;while(p1!=NULL&&p1->num!=num){p1=p1->next;}if(p1!=NULL){printf("Find:"); printf("StuNum:%ld\nStuname:%s\nStusco1:%d\nStusco2:%d\nStusex:%c\n",p1->num,p1->name,p1->score1,p1->score2,p1->sex);}elseprintf("%ldnotbeenfound!\n",num);return(head);}intmain(){structstudent*stud;intmenu();while(1){switch(menu()){case1:head=creat();
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版二年級(jí)上冊(cè)《道德與法治》全冊(cè)教案
- 農(nóng)、林專用儀器賬務(wù)處理實(shí)例-記賬實(shí)操
- 2024年一季度碳交易市場(chǎng)運(yùn)行與政策盤(pán)點(diǎn)-雙碳政策護(hù)航碳市場(chǎng)健康發(fā)展
- 介紹英文足球課件
- 2023年寧泌泰膠囊項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2023年工具油項(xiàng)目評(píng)估分析報(bào)告
- 2024年紫外線強(qiáng)度觀測(cè)儀器項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2019粵教版 高中美術(shù) 選擇性必修3 雕塑《第一單元 初探雕塑藝術(shù)》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 2024屆河北省衡水十三中高三下學(xué)期期終考前模擬數(shù)學(xué)試題
- 餐飲合作經(jīng)營(yíng)合同協(xié)議書(shū)范本
- 第一章第三節(jié)《氧化還原反應(yīng)》第一課時(shí)高一上學(xué)期化學(xué)人教版(2019)必修第一冊(cè)
- 高三政治月考試卷講評(píng)
- 期中模擬測(cè)試卷1(試題)-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)(福建)
- 2024-2030年少兒藝術(shù)培訓(xùn)行業(yè)市場(chǎng)發(fā)展分析及發(fā)展前景與投資機(jī)會(huì)研究報(bào)告
- 期中模擬試卷(1-4單元)(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 一年級(jí)拼音教學(xué)-(研討講座)
- 體育大單元教學(xué)計(jì)劃(18課時(shí))
- 磁共振MRI對(duì)比劑
- 2024年江蘇地區(qū)“三新”供電服務(wù)公司招聘320人(第二批)高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2022-2023學(xué)年北京市海淀區(qū)七年級(jí)上學(xué)期期末語(yǔ)文試卷(含答案解析)
- 2024秋期國(guó)家開(kāi)放大學(xué)《可編程控制器應(yīng)用實(shí)訓(xùn)》一平臺(tái)在線形考(形成任務(wù)4)試題及答案
評(píng)論
0/150
提交評(píng)論