第一篇:財務會計手工課設報告
武漢理工大學《財務會計》課程設計說明書
細節決定成敗,恒心鑄就未來
1課程設計目的及過程
1.1目的
財務會計的課程設計是為了加強我們的實踐能力,使得我們能真正的把實踐和理論結合起來,給動手機會少的在校大學生提供一個絕佳的機會,為以后的工作和實習積累經驗。
1.2過程
我們從6月25日開始進行為期兩周的財務會計課程設計,課程設計的內容是根據藍夢有限責任公司2008年12月份全月的業務處理,不僅僅涉及當月的每一筆業務,還涉及到月末的結算和結轉,加上全年年末的結算和結轉。
1.2.1啟用賬簿和審核原始憑證
業務處理首先要大致了解該公司的一般業務,做到心中有數。然后啟用銀行存款庫存現金日記賬,設置各種明細賬以及總賬,并填寫明細賬和總賬的月初余額。公司的科目細分詳細,但是也有需要補充之處,在這點上我們特別需要留意,因為沒有開設的科目是不能使用的。至于填寫月初余額是根據教材上上的上月月末余額編制的。
接下來要審核并填制原始憑證,原始憑證附在教材最后,一些原始憑證的內容不完整,我們通過結合該公司的基本情況和一般業務來填制。
1.2.2填寫記賬憑證并登記日記賬
填寫記賬憑證是根據已經完成的原始憑證,確定正確的會計分錄反映到記賬憑證上。記賬憑證時間、摘要、會計科目和金額是時刻在變的,所以就需要我們的精神一定要集中,心一定要細,正所謂細心決定成敗。
日記賬需要逐日逐筆的登記,是一項看起來簡單,但又是很繁瑣的一項工作。它及時并正確的反映著科目的金額變化。
1.2.3根據記賬憑證登明細賬
根據記賬憑證登記之前設置的明細賬,明細賬涉及很多項目,所以編制時一定要細心,看清楚科目尤其重要。
1.2.4編制科目匯總表并根據科目匯總表登記總賬
科目匯總表需要處理每一個數字的計算和匯總,以便達到試算平衡。我們采取科目匯
武漢理工大學《財務會計》課程設計說明書
總表的方式,每間隔10天編制科目匯總表,并進行的總賬登記。
1.2.5編制資產負債表、利潤表和現金流量表,并裝訂會計憑證
資產負債表、利潤表和現金流量表是非常重要的三張表格,反映公司的經營情況。
2課程設計的認識及體會
2.1認識
開始對于財務會計課程設計是很期待的,因為我們需要熟悉會計學原理的基礎知識,把理論和實踐結合起來。這對我們這些整天面對課本上的知識的學生來說,是很好的提高我們的動手能力的方式。但是,在課程設計的過程中,我發現這是一項枯燥又繁瑣的工作。
第一個星期我們主要是根據企業的相關憑證編制記賬憑證以及明細賬、總賬等,接下來主要是資產負債表、利潤表、現金流量表和完成課程設計說明書。我們需要運用已經掌握的專業知識,在老師的指導下獨立進行課程設計,主要是獨立完成原始憑證、記賬憑證的填制和審核,賬簿的設計與登記,成本計算,納稅申報以及相關的財務報表等會計核算的操作。
2.2體會
2.2.1基礎知識缺乏
雖然很多書本知識已經學過,但是跟現實處理業務之間的相互聯系,相互掛鉤還是需要相當的熟練度。正因為不夠了解和熟悉理論,導致了在實際的運用中不能隨心所欲,所以才會導致很多錯誤。通過這次課程設計,我發現自己有很多知識上的缺乏和遺忘,或者說是知識上的一些跟實際運用不能很好地銜接,深刻地體會到了作為一個會計的能力有待加強。
2.2.2實際操作的生疏
就像剛開始面對著實訓時自己桌上的做賬用品,就有種無從下手的感覺,久久不敢下筆,生怕哪一步怕做錯,從而導致后邊的跟著錯,就一直停步不前。但后來通過填制原始憑證,根據原始憑證,填記帳憑證;填制科目匯總表,根據科目匯總表填總分類帳;根據記帳憑證填總分類帳和各種明細帳,現金日記帳,銀行日記帳等等。實際操作能力有了一定程度的提高。
從建賬,設置期初數額,按照當月發生業務登記相關憑證,到根據憑證登記相關賬目和表單。整個過程連貫且透徹地訓練我們手工做賬的能力。這次課程設計要求每間隔10天匯總一次賬務,這樣可以很好地簡化匯總的工作復雜度,也可以及時地檢查有關業務的
武漢理工大學《財務會計》課程設計說明書
登記情況是否正確,不至于把匯總工作累積到最后來處理,不會出現過于重大的會計處理問題。
通過做分錄,填制憑證到制作賬本來鞏固實際操作技能。系統地練習企業會計核算的基本程序和具體方法,加強對所學專業理論知識的理解、實際操作的動手能力,提高運用會計基本技能的水平,同時也是對所學專業知識的一個檢驗。并且通過實際操作,不僅使得個人更加熟練地掌握填制和審核原始憑證與記賬憑證,登記賬薄的會計工作技能和方法,而且對所學理論有一個較系統、完整的認識,最終達到會計理論,會計實踐相結合的目的。
2.2.3心態問題的調整
會計本來就是煩瑣的工作。不可避免的會出現一些問題,關于業務的科目填寫,關于業務金額的計算,關于結轉科目選擇和金額計算的各項問題。這些都是常見的問題,也是做賬過程中需要注意的所在。
隨著這些工作的進行,也會出現各種問題,在這些問題上我們都需要依靠自己的努力想辦法解決,不管是詢問指導老師也好,和同學討論研究也好,還是查找相關資料也好,都是需要通過自己的努力和研究才能解決的,不能總是放在一邊。這就需要我們一定要堅持,只有堅持我們才能獲得牢固的知識和寶貴的經驗。
切不可因對著那枯燥無味的賬目和數字而心生煩悶、厭倦,從而愈錯愈煩,愈煩愈錯。要及時地調整自己的心態,認真、細心、耐心地去做,問題自然會迎刃而解。就如科目匯總表的編制。科目匯總表需要處理每一個數字的計算和匯總,以便達到試算平衡。有了記賬憑證,匯總的時候需要留意數字上的問題,特別是在明細賬的等級中,關系到原材料和生產成本上。由于抄寫和計算的誤差,很容易造成試算上不不平衡,而這些誤差通常會帶來各個不等數額的不等,對于檢查這些失誤帶來的試算不等又是很費時費力的工作。所以此時切忌粗心大意,馬虎了事,心浮氣躁,需要細致地計算每一個數據,從而減輕工作量。
只要你用心地做,總會左右逢源。越做越覺樂趣,越做越起勁。梁啟超說過:凡職業都具有趣味的,只要你肯干下去,趣味自然會發生。因此,做賬、做任何事都一樣,需要有恒心、細心和毅力,那才會到達成功的彼岸!
這次財務會計課程設計中,我受益非淺。經過這些天的手工記賬,使我的基礎會計知識在實際工作中得到了驗證,并具備了一定的基本實際操作能力。在取得實效的同時,我也在操作過程中發現了自身的許多不足:
1、基礎知識不夠扎實,熟練度有待加強。
2、不
武漢理工大學《財務會計》課程設計說明書
夠細心,看錯數字、登錯分錄或是遺漏業務,導致核算結果出錯,引起不必要的麻煩。
3、心態調整不夠好,有些心浮氣躁,做賬需要自己堅持下去,有恒心,有毅力。
3.課程設計的總結
財務會計課程設計主要是為了提高我們的實際應用水平。在課本上我們所學到的理論知識只是為我們的實際執業注明框架、指明方向、提供相應的方法論,真正的職業技巧是要我們從以后的實際工作中慢慢汲取的。
通過這次課程設計,我發現最大的一個所需具備的能力就是細心。填制憑證、登記賬簿本身是個較為死板不求靈活的工作,因此這項工作尤其考驗人的細心度。越是細心的人就越有效率,越是細心的人就越適合會計工作,課程設計不僅僅是培養我們的會計實際操作能力,更能訓練一個人的細心程度。一個細心的人能夠更好地勝任各種工作,而在實際工作中,不管是哪一門,都更加需要一個細心的人才。
另外一項我們所要具備的能力就是恒心。也就是做任何一項工作我們都需要有恒心,不能朝三暮四,半途而廢。會計這一類的工作切忌心浮氣躁,需要我們在細心的基礎上堅持不懈。前一部分的工作是后一部分工作的基礎和依據,如果不堅持下來,工作永遠都不能完成。
財務會計課程設計中,我們鞏固了之前學習的理論知識,掌握了一地的會計核算實際操作能力,并在細心度和恒心度上有了顯著的提高,然我們有了更扎實的基礎和更好的心態去面對以后我們要遇到的問題。
通過課程設計,我們可以了解會計內部控制的基本要求,掌握從理論到實踐的轉化過程;熟練掌握會計操作的基本技能;將會計專業理論知識和專業實踐,有機的結合起來,開闊我們的視野,增進我們對企業實踐運作情況的認識,找出自身存在的不足,明確將來的的方向和目標,為我們畢業走上工作崗位奠定堅實的基礎。
時刻銘記著細節決定成敗,恒心鑄就未來。
第二篇:財務會計課設報告
武漢理工大學《財務會計課程設計》報告書
13年我們一起做的財務會計課程設計
財務會計課程設計,是我的第三次專業課程設計,說實話做起來應該輕車熟路,但實際卻不是如此。在剛開始時,因為沒有做好足夠的心理準備,發現做起有些困難,現在做完了回頭看看這三周的學習,發現自己從中真的學到不少東西。在寒假期間,我找到了一家軟件公司幫忙代理記賬,所以說這個財務會計課程設計課程設計于我意義更加重大,我更加明白這個課程設計對我的幫助有多大。下面是我對整個財務會計課程設計的感受。1 我眼中的財務會計課程設計
當第一次聽說要做財務會計課程設計時,我感覺既興奮又緊張,剛開始接觸時更多地是迷茫,更深入接觸后,我對財務會計課程設計的認識又有了新變化。從陌生到熟悉,從害怕到喜歡。讓我講講我眼中的財務會計課程設計。
1.1 初識財務會計課程設計
我認為做財務會計課程設計的目的不僅是要求我們掌握賬務處理程序,更重要的是要我們明確財務人員的職責所在。這在我們課程設計書最前面已經指出,我個人十分認同這個觀點。會計的職責主要包括:按相關規定開設賬簿并進行會計核算,編制財務報表;計算稅費工資;做好成本控制等。而在此次課程設計中這些內容都有所涉及,讓我們全面的了解會計的工作,從月初到月末結賬,我們自己做一遍,感覺比老師講很多遍應該如何做賬來的更加直接,讓我們印象更加深刻。
1.2 財務會計課程設計新認識
財務會計課程設計的流程將會計的確認,計量,記錄和報告融合在一起,相互交叉,例如在材料入庫時,需要將在合理損耗范圍內的材料也要算入入庫數量時就很好的體現了一點。另外在做財務會計課程設計時,我對會計信息質量的謹慎性,明晰性,實質重于形式,及時性等有了新的認識。
謹慎,是對于會計來說非常重要的特性,我們在填寫憑證登記賬簿時要認真填寫,不能隨意更改,一旦填錯必須按照相關規定修改如劃線更正法,紅字更正法等。而不能像平時一樣直接隨便拿筆劃掉再寫,在這次課程設計中我寫錯過很多地方,都堅持按照規定一個個修改過來,這讓我逐漸養成習慣,以后在填寫憑證和賬簿時一定要看清楚想清楚再下筆。我感覺謹慎還體現在對充滿不確定性的交易或事項時還要進行職業判斷,例如按照經驗確定計提壞賬準備和存貨跌價準備的比例等,不能隨意臆測,要有依據。這樣我們最終
體現在報表上的數據才能符合既不高估企業資產或者收益,又不低估企業的負債或費用的要求。
拿財務會計課程設計和我們之前做的會計學原理的課程設計進行對比,我發現此次課程設計的重心除日常的業務處理外,還加入了月末的計提稅費,調整稅費等,特別加入了我們在中財課上剛剛學習的遞延所得稅負債和遞延所得稅資產,所得稅費用和應交所得稅,通過四者之間的關系計算出實際應交的稅費;針對債務重組、以前損益調整等都有專門的訓練,特別是設備盤盈如何沖減以前損益調整,然后再如何沖減所得稅費用和盈余公積等之前都是從未碰到過;另外,因為這個學期剛剛學習了現金流量表的編制,所以在編制報表也是一個大重點大難點。當我們編制完現金流量表時,長長的舒了一口氣。2 簡述課程設計流程
第一步,登記期初余額。包括建帳,填寫期初余額等。在此次實訓中,資產負債類期初填制時間為12月1號,摘要寫余額,而損益類的要寫11月30號,摘要寫本年累計,登記借貸方,余額一律為0;第二步,審核填制記賬憑證;第三步,登記賬簿。具體包括:三欄式明細賬,數量金額式明細賬,八欄式明細賬,十七欄明細賬,應交稅費明細賬等;第四步,成本核算。包括登記制造費用明細賬和生產成本明細賬;編制制造費用分配表,產品成本明細表;結轉完工產品成本;第五步,對賬,結賬。將總賬與明細賬,總賬與日記賬核對;第六步,編制資產負債表、利潤表、現金流量表;第七步,歸檔及會計檔案保管。
具體的例子將在財務會計課程設計的個人心得即財務會計課程設計中的“酸甜苦辣”中詳細敘述。心得之財務會計課程設計中的“酸甜苦辣”
在做財務會計課程設計的過程中心情時時刻刻都在變,會因為填寫憑證和賬簿時整張都沒錯誤而開心;會因為數據計算錯誤而傷心;會因為自己進度比別人慢而焦急不已;也會因為自己有些賬務無從下手而不知所措??整個手工中酸甜苦辣都有,但是更多地是充足,感覺有綿綿不斷的只是注入了你的大腦,整個人分分秒秒都感覺到了激情,而不是大家認為通常做賬時的苦悶。
3.1 財務會計課程設計中的“酸”
在做賬時發現原始資料中有許多不合理的地方,例如庫存現金在12月17日時的余額只有897.5,但是18號卻發生了李天一預支差旅費2000元,十分不合理,但大家當時做
賬時沒有想到這一點,都直接按書上的數額記賬登記日記賬,后來董老師看了后,告訴我們這種做法不合理,因為在實際中,支取的現金是不能大于日記賬中的余額的。我后來認真想想明白了,如果你是出納,你難不成要3己墊支不足的額度給來支取差旅費的員工嗎?我感覺老師給我們指出來并要求我們重新登記相關憑證的做法是對的,雖然我們現在只是一個實驗,并不是真實的,但是我們就要從現在養成實事求是的態度,切不可降低對會計信息真實性的要求。這樣做雖然需要我們改很多東西增加了很多工作量但也是值得的。
像這種錯誤還有幾個,雖然給我們在記賬過程中增加了工作量,但恰恰是這些給我們提了一個醒,這也許就是我們以后可能會犯的錯誤。現在遇到了,以后碰上類似的情況我們就知道該如何處理了。
3.2 財務會計課程設計中的“甜”
就如在對財務會計課程設計新認識的那里寫到的一樣,我在課程設計過程中學到最多的總結起來就是三個字“如何做”。這三個字的含義有很多,既包括如何進行賬務處理也包括在做賬過程中遇到困難時我該用什么態度對待等。在進行建賬那一部分時,我感覺特別容易掌握,不需要特別動腦筋,但在進行日常業務時,就發現在根據原始憑證填制記賬憑證時,像31號的那些結轉處理以及計提的稅費、壞賬準備等都感覺有些吃力,最后在問過老師和同學后最終學會該如何計算,這時真的感覺自己學過的知識點掌握的有多么不牢固。
但是通過這次的財務會計課程設計后我發現我真的學到了很多東西,像如何更正明細賬及總賬中的錯誤,如何填制原始憑證,如何計提壞賬,如何編制報表等,或許以前這些知識點我們都有學過,但卻是這一次的財務會計課程設計讓我真的掌握了這些知識點。
還記得之前分不清楚原材料和材料采購的區別,在這個案例中,因為有多筆相關賬務要處理,像12月1號購入x材料,實際數量,價格要登記在材料采購,當然還有運費,說到運費又要注意運費中可以抵扣的進項稅額,要一并加入材料采購的進項稅額中去。在材料入庫時因為要求按計劃成本核算,所以入庫時的價格要按計劃成本的算,但是數量還是要按照真實性的原則,登記實際入庫數量,相應計入管理費用的合理損耗也要計入入庫數量等等。
另外在現金流量表編制時,胡老師告訴了我們一個小技巧,不一定非得編制調整分錄或者用底稿,其實像一些比較簡單的業務,并且數量不多時,可以直接分類,按類別計入。在這種方法下,比較難填列的項目有銷售商品、提供勞務收到的現金和購買商品、接受勞
務支付的現金。在計算這兩個項目時需要特別注意。這是在實際工作中比較實用的一個技巧,我們大多數同學都是按照這種方法編制的現金流量表
3.3 財務會計課程設計中的“苦”
在計算銀行存款日記賬時,因為數據較多,自己在計算時經常出現錯誤,導致銀行存款日記賬錯誤太多,不得不在全部計算完成后又另外抄了一份。像這種情況還有很多,像有時候在登記管理費用,制造費用,財務費用等時一不小心就登錯了行,我真的有時候感覺自己這種神經大條的人不適合做財務會計課程設計,但經過后來慢慢地磨練我發現自己出現的這種低級大意的錯誤越來越少。
因為在剛開始做賬時,不知道書寫規范或者可能是自己太隨意,導致書寫不規范,像數字書寫過大等等,我又利用課余時間把憑證和明細賬都抄了一遍,在寫第二遍時,發現很多東西都已經了然于心,沒有剛開始做時那么生疏,很多人都說沒必要這么做,但是我個人還是感覺有些東西在你做第二遍時效果肯定比第一遍好很多。
在這次財務會計課程設計中,因為很多數據都要自己重新計算,所以可能有時候需要我們睡得晚些,但是我感覺這些都是值得的,都是有意義的。如果老師說數據你們就將錯就錯吧,我估計會有很多同學會直接抄答案,特別是31后結轉成本,計提折舊、壞賬等這些比較麻煩的賬務。但是老師本著嚴謹的態度,真的想讓我們在這次財務會計課程設計中得到鍛煉,所以讓我們自己計算,并且老師也很負責任的自己算了一遍,并不斷詢問同學們的數據,這讓我感覺感動,每位老師都很負責,是一個學生最想看到的。
說實話,這些也說不上是苦,只是當時可能有點抱怨,但現在什么真的對我以后的工作是有益處的,已經了然于心了。謝謝老師。
3.4 財務會計課程設計中的“辣”
所謂辣,給人感覺就是剛開始吃感覺不適應,但是如果吃習慣了,就會越來越習慣。而在課程設計則是指那些剛開始我不會的問題。像結轉完工產品和編制報表表雖然也多多少少會,但是不夠熟練,這次我一直堅持自己登記制造費用明細賬和生產成本明細賬,本著不怕出錯但絕不能不敢下筆的原則,把所有工作做完后在和別人對一下,再把錯誤的改過來,不會的就問,再簡單的問題只要自己還有疑問的都不放過,把硬骨頭一個個啃透,最終越做越熟練。
想債務重組這些碰到的比較少,不太熟悉的知識點,我也愿意先去網上找相關知識點然后再看答案,就是抱著這種嚴謹的學習態度,真的在課程設計中學到很多東西。財務會計課程設計總結
在這次課程設計中,受益匪淺,把以前學過的忘記的知識點又重新撿了起來。除此之外,在做帳過程中我養成了許多好習慣并且學會如何調整好心態對待接下來的會計工作。
從專業上說,我對書本上學過的知識有了更加直觀的認識,像根據明細賬登記總賬,根據科目匯總表登記總賬等。另外課程設計與我們們剛剛學完的中財聯系在一起,像應付職工薪酬、應交稅費等,之前也有接觸但是學的不是十分詳細,而這次課程設計使這些知識點都連在了一次。像編制報表在這次課程設計前我認為我最多只能編制一個資產負債表和利潤表出來,根本沒有想到自己居然可以編出現金流量表。但我真的自己編制出來了,與老師的答案對過之后,發現有一點小錯誤,改正后真的很開心,為自己肯去嘗試并努力去做這件事情真的感到自豪。
從心態上說,做事要不急不躁,時刻保持警惕,不可放松對自己的要求。這是我在財務會計課程設計中得到的啟示。有時候,我們做事情就是太急功近利,到最后反而什么都做不好,越落后別人,越做不對數據時一定要靜下心來把下一步的計劃做好后再行動,磨刀不誤砍柴工。遇到不會的、不明白的事情,就要不恥下問,一個人將不明白就多問幾個人,只有這樣才能學到真正要學習的知識。這次財務會計課程設計實訓,歷時三周,感覺每天都能學到新知識,每天都很充實,希望以后還可以在工作前再有這種實訓來鍛煉自己。
第三篇:財務會計課設報告
武漢理工大學《財務會計》課程設計說明書
財務會計手工模擬實驗及感悟概述
1.1實務背景 作為一名未來的會計人員,我們現在才剛剛起步,為了更好的掌握會計學知識,我們進行了財務會計課程設計。我們進行模擬實驗的是一家國有中型企業——寧電修造廠,注冊資金800萬,主要以生產為主,兼營運輸業務。該廠下設鑄造、機加工、金工、裝配四個基本生產車間和一個機修輔助生產車間及一個小型運輸隊。我們主要是對該修造廠2012年12月份發生的所有業務進行核算。核算要求根據科目匯總表定期登記總賬,采用科目匯總表賬務處理程序,每10天匯總一次。
1.2實訓目的 我認為此次實訓的目的是為了將“教學”與“實踐”相結合,提高我們的動手能力,增強我們對會計知識進一步理解,培養我們對會計知識的靈活運用,以便在以后的就業時不至于“手慌腳亂”,以便提高我們工作時與專科或培訓機構的學生的競爭力。
1.3實訓意義 在剛剛結束的兩周計算機會計課程設計和此次完成的手工做賬會計相比,此次實訓更加讓我感覺到我即將成為一名會計人員。雖然在技術上,電算化比手工做賬要方便很多,但是,手工做賬更加培養了一名會計人員的耐心和細心。這也是作為一名會計人員必須具備的素質。它使我加深理解了會計核算的基本原則和方法,將所有的基礎會計、財務會計等相關課程進行綜合運用。它還讓我了解會計內部控制的基本要求,掌握從理論到實踐的轉化過程,熟練掌握了會計操作的基本技能,將會計專業理論知識和專業實踐有機的結合起來,開闊了我的視野,增進了我對企業實踐運作情況的認識,為我畢業走上工作崗位奠定堅實的基礎。具體操作
2.1憑證處理
2.1.1審核原始憑證
在原理上主要指審核原始憑證的真實性、合法性、合理性、完整性和正確性。但在此次的實務中主要審核的是實驗書后面附帶的原始憑證是否完整,包括張數是否完整和內容
是否完整。因為可能存在缺頁或破損情況,故需要進行簡單查看,其次,部分原始憑證的金額、日期、具體數據需要計算填寫補充,要仔細審核完善。
2.1.2填制記賬憑證 填制記賬憑證時進行所有賬務處理的基礎,所以正確填寫尤其重要。此次實務中,填寫的記賬憑證共計229張。因為是根據科目匯總表登記總賬,且要求分旬編制科目匯總表,所以先填制前十天的記賬憑證。實務中2012年12月01日至12月10日的業務為記字001號——記字053號記賬憑證。在編制記賬憑證時要注意記賬憑證各項內容必須完整,記賬憑證應該連續編號且記賬憑證的書寫應清楚、規范。填制記賬憑證時若發生錯誤,應該重新填制。填制完經濟業務事項后,如有空行應當自金額欄最后一筆金額數字下的空行處至合計數上的空行處劃線注銷,我采取的是借貸方各劃線注銷。填制記賬憑證必須要細心,填制完還要進行核對,看時間、摘要、分錄、金額大小及方向、附單據數是否錯誤,合計欄的金額前是否帶有“¥”。
2.1.3原始憑證粘貼
填制完記賬憑證,就要對其原始憑證進行粘貼,粘貼時為了方便裝訂,自左往右依次排列成魚鱗狀粘貼。粘貼時要注意不可以讓原始憑證超出記賬憑證,一定要注意美觀。粘貼完以后要核對記賬憑證中附單據數與原始憑證數是否一致。
2.2 賬表處理
2.2.1登記日記賬、明細賬
完成了第一步的填制記賬憑證工作,接下來根據記賬憑證的每一筆業務填制銀行存款、現金日記賬,和相應的原材料、庫存商品、往來賬戶等明細賬。填制之前,首先得根據期初余額先開設各明細賬的賬戶,銀行存款和現金日記賬在登記時要按照業務發生的時間順序,逐日逐筆順序進行登記。而原材料、庫存商品、往來賬戶等明細賬通常采用活頁式賬本,方便隨時的添加業務,也無需當每筆發生時都結出余額。填制時,如果當當頁已寫完,需在最后一行摘要寫“轉次頁”并結出借貸方及余額,而在下一頁以“承上頁”并寫下前門的“借”、“貸”方,及余額的金額。另外,當填制時發現金額錯誤須用紅字劃掉,并用藍字作以改正。對于庫存商品、原材料、包裝物、低值易耗品我們采用的是數量金額式的賬簿登記的明細賬;管理費用、財務費用、銷售費用、生產成本——機修車間的明細賬采用的是十六欄式明細賬簿;生產成本——DZW-A、生產成本——DZW-B、生產成本——DZW-C、生產成本——鑄造車間采用的是八欄式明細賬;制造費用采用十三欄式明
細賬。
2.2.2編制科目匯總表、登記總賬
接下來,根據每一張記賬憑證編制相應的科目匯總表。可以先將各會計科目用‘T’字型賬戶在草稿上結出其‘借’、‘貸’方發生額,然后再填科目匯總表。先根據前十天的記賬憑證確定會計科目,然后分別計算出借貸方的金額,保證科目匯總表的借方發生額與貸方發生額相等后,說明計算無誤,再登記科目匯總表。
完成科目匯總表的登記后填制總賬。在填制總賬之前,要先根據期初余額建立總賬,注意填寫時直接填余額及方向,借貸方表示發生額,此處不可以填寫。建總賬時,要防止漏記、錯記,所以需要很認真的核對無誤后再填入賬簿。建好賬以后就登記前十天的總賬,因為是按照科目匯總表登記的總賬,所以種類寫“科匯”。總賬只需要進行三次登記,沒有發生額只有期初余額的也要進行月結,沒有期初余額的按發生時直接登記。
2.2.3編制三表
總賬的填制工作完成后,就得開始核賬了,記賬憑證與各明細賬、明細賬與明細賬、總賬與明細賬之間核對,從而達到賬賬、賬證、賬實合一。核對無誤后,就可以根據總賬月末余額編制試算平衡表,要求做到期初借方余額與期初貸方余額、本期借方發生額與本期貸方發生額、本期借方余額與本期貸方余額都分別相等。在準確無誤的情況下,編制資產負債表和利潤表、現金流量表等財務報表。
2.3裝訂處理
最后一步是整理與裝訂記賬憑證、總賬和明細賬,裝訂工作是個細致活,采用裁、剪、疊等方式將其整理好,達到記賬憑證的上、左、下的整齊統一。在裝訂時,我們先要用打孔機將記賬憑證打孔,然后按每十天的憑證分開穿線,最后貼上封皮。對于總賬和明細賬也要整理歸類后按相同方法裝訂。裝訂出來的賬本盡量做到美觀大方。總結
3.1手工做賬注意細節
3.1.1填寫要求規范
在填寫時,一定要注意填寫字跡清楚,不能亂涂,選擇正確顏色的筆填寫,表示紅字時要用紅筆。摘要應該簡明扼要,要能說明問題。數字要寫在偏下方,大概占整格的1/2到2/3左右,以便修改。填制記賬憑證時,科目要力求完整。還有劃線也要注意筆的顏色,記賬憑證劃線用黑筆,明細賬和總賬結賬要用紅筆,且現金日記賬、銀行存款日記賬、總
賬用雙紅線,其他明細賬用單紅線。
3.1.2錯帳更正方法
在記賬過程中,可能由于種種原因會使賬薄記錄發生錯誤,我們要運用正確的更正方法對錯誤進行更正,一般有劃線更正法、補充登記法、紅字更正法三種,而不是填補、挖改。
我采用的最多的是劃線更正法,劃線更正法主要適用于編制的記賬憑證沒有錯誤,而是在登記賬簿時發生錯誤,導致賬簿記錄的錯誤。更正時將錯誤的文字或者數字劃紅線注銷,但必須使原有字跡仍可辨認;然后在劃線上方填寫正確的文字或者數字,此處省略了記賬人員簽字蓋章工作,但在工作過程中不可以省略。對于錯誤的數字,應當全部劃紅線更正,不得只更正其中的錯誤數字。對于文字錯誤,可只劃去錯誤的部分。
3.1.3對帳
在實訓中我們必須做的是原始憑證與記賬憑證、各明細賬與總賬核對等。這是會計工作中必不可少的步驟,是企業進行有效控制的一種手段。在實訓中,可能會因為某些原因忽略這一步驟,所以要引起我們的注意。
3.2手工做賬感悟
手工做賬是一門細活,更是一門藝術。在整整的兩周做賬過程里,我感覺無比的艱辛,但又充滿了快樂。
首先,書寫要規范,內容要完整,其次,要保證正確性。為了做賬,我們每天差不多晚上熬到一兩點,不停的修改核對,直到正確為止。每次為了美觀,只要發現錯誤就把整頁撕下來重新填寫,這樣相當耗時費力,我覺得我在做賬過程中還是沒有正確掌握修改方法,或者說是知道修改方法卻為了美觀寧愿重寫也不修改,這在以后工作中是不可取的作法。
我是一個比較粗心的人,所以在這次實訓中吃了不少苦,因為登記管理費用明細賬時采用的是十六欄式的賬頁,比較長,所以我按項目填寫時總是錯位。還有現金日記賬和銀行存款日記賬計算余額時有時候會把發生額的借貸方搞錯,導致錯誤,一旦不發現就會直接影響后面所以的余額錯誤,在登記科目匯總表時也是一個細活,因為要先在草稿紙上計算出每十天各個科目借貸方發生額,要先試算平衡后才登記,所以工作量相當大。因為每十天的科目是存在差異的,所以要一一檢查核對,不能缺少或多余。尤其在下旬12月21里到12月31日,包含了大量的結轉的記賬憑證,其涉及的數據相當多,管理費用有幾十
個明細,一個也不能遺漏,這絕對是考驗會計細心的時候,所以我絲毫不敢掉以輕心,計算了三四遍確保完全正確后才填寫。
我覺得手工做賬完全是靠會計人員自己去檢查核對錯誤,不像電算化會計可以直接依靠軟件的功能進行試算平衡來發現錯誤,所以這些過程是相當復雜而又細致的,需要我們用十足的耐心和細心來對待。而且,會計人員是要求保證會計資料的真實性的,我剛開始填寫憑證時,發現錯誤總會習慣性的去描摹來改正錯誤。后來才知道,這犯了會計的大忌,切忌不可以對涂改,要用正確的方法進行更正。這也讓我對會計真實性有了一個更加明確的認識,它不僅要求我們不做假賬,還要求我們在賬頁上保證數據真實性,即使錯誤也要留有錯誤的痕跡。
平時我們只能紙上談兵,思維的認識基本上只是局限于課本的范圍之內,這就導致我們對會計知識認識的片面性,使得我們只知所以然,而不知其之所以然。這些都是十分有害的,其極大地限制了我們會計知識水平的提高。這將近三周的實訓讓我對填制原始憑證,根據原始憑證填制記賬憑證等工作有了更進一步的認識,并在實際操作過程中找出自身存在的不足,對今后的會計學習有了一個更為明確的方向和目標。
作為一名大三的學生,面對目前就業形勢的嚴峻,我常常會很關心會計以后到底就業前景如何,而忘了最根本的東西,就是學好基本的會計知識,只有知識學得扎實了,以后就算在再怎么嚴峻的形式下也會脫穎而出。我總感覺我還只是一名學生,一名只是學著會計學知識卻什么都不會的學生。在實訓之前,當我拿著一摞一摞的賬本的時候我既激動又高興,覺得自己就是一名會計了。實訓之后,感受又深刻了一些,做會計,看似簡單,登帳而已,但卻有著很多學問。當我把所有的疑惑弄清,拿著填滿的賬本,不僅是激動、高興,更多的是心酸之后的欣慰。這種收獲可能是永遠也無法從書本上獲得的,只有自己動手做了,才會清楚其原理和步驟。所以,我始終覺得會計是一門實踐性很強的學科。如今,企業琳瑯滿目、數不勝數。每一個企業,只要不是個體工商業戶,就都需要會計,因為每月都要做帳報表,并且要按照稅務要求的時間、格式和內容上報,這就要求,會計人員必須要會計專業知識和稅務知識,當今的會計,不是隨便拉個人就能干了的。會計人員,不能單純只會做帳、會報表,應該全面提高自身素質,不但應當熟練掌握會計法和會計知識,還應當熟練掌握稅法和稅務知識,還要多向有經驗的會計學習,取人之長,補己之短,從實踐中積累豐富的工作經驗,這樣才能遇事不驚,游刃有余。所以這對我們的要求更高。
無論何時何地,我覺得會計都需要不斷學習充實自己才會讓自己不被淘汰,我們還只是未出茅廬的大學生。如何在這時代的潮流站住腳,我覺得我以后要做的還有很多。
希望在接下來的日子里,學校能給我們更多的實訓課,以便我們能不斷地查漏補缺,這樣更能幫助我們學好會計這門課,為以后走向社會奠定良好的基礎。當然,我自身也要把握各種機會去鍛煉自己,不僅要會做賬,還要會分析,會運用。
通過此次實訓,我深刻理解了什么是會計,會計不僅僅是一份職業,更是一份細心+一份耐心+一份責任心=人生價值的詮釋。同時我也認識到要做一個合格的會計工作者并非我以前想象的那么容易,最重要的還是細致嚴謹。社會不會要一個一無是處的人,所以我們要更多更快得從一個學生向工作者轉變。
第四篇:數據結構課設報告
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
課程設計報告
題目:華科校園導航
課程名稱:數據結構課程設計 專業班級: 學
號:
姓
名: 指導教師: 報告日期:
計算機科學與技術學院
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
任務書
數據結構是計算機科學技術與信息安全等專業的一門重要專業基礎課,牢固掌握數據結構的基礎知識,熟練地運用數據結構的思想與技術方法解決實際應用問題是是本課程學習的基本任務與目標。而課程設計是實現這一學習目標的重要環節和組成部分。通過課程設計的訓練,使學生加深對數據結構知識的理解,牢固掌握其應用方法,并合理靈活地解決一定實際問題,增強和提高綜合分析問題與解決問題的能力。
設計題目
華科地圖導航系統。設計目的
掌握圖結構的物理存儲結構、基本算法及其算法在相關領域中的應用。
設計內容
華中科技大學(Huazhong University of Science and Technology),簡稱華中大,坐落于湖北省武漢市,學校面積7000余畝。華科大校園具有典型的工科院校特征,道路筆直,建筑面積方方正正,這為構建電子地圖提供了極大的便利。本次課程設計要求以華中科技大學為背景,設計一個簡單的華科地圖導航程序,可以方便的為用戶提供搜索、導航等功能。
設計要求
基本要求:
1.輸入地點名,可以在地圖中以一定標記標示出地點所在的位置 2.鼠標移動到指定建筑處顯示建筑名稱
3.輸入或點擊起點和終點,找出最短的路徑,并在圖上描出路徑,路徑不能脫離道路
4.輸入起點,輸入特定的地點,如食堂,超市能夠找到最近的兩到三個 5.地點至少要包括清單中所列的位置 實驗提示:
1.將每個十字路口或特定建筑看作節點,構建圖模型,兩個節點的邊即是一個路段。對于某些節點,可能具有特定的意義,例如“圖書館”,可以為其設置一個名稱;而對于大多數節點,例如普通路口,可能并不需要名稱,只是用來構建圖模型的一個節點。信息的錄入可能需要人為輸入,需要編寫輔助程序。輔助程序可以如下構造:
程序首先載入一張圖片并顯示。程序具有多個文本框,當點擊圖片上
I 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
特定點時,獲取該點的坐標,第一個文本框顯示該點的圖像坐標,第二個文本框可以輸入地點名,第三個文本框用來輸入節點編號,剩下的文本框用來輸入直接相鄰的節點編號或者節點的屬性。點擊“確認”后可以將信息保存到磁盤。這樣可以實現坐標、節點編號和位置名稱的綁定,為實驗構圖采集數據。
2.特定建筑只需考慮建筑大門所對應的路段上的一點。例如“圖書館”建 筑,可認為“圖書館”位于圖書館大門和學校道路相接處,簡化處理。當鼠標移動到“圖書館”附近時,找到距離最近的具有名稱的節點顯示 即可。
3.對于存在折線的路段,將其看作多段處理;對于細碎的彎折路線,當作 直線簡化處理。
參考文獻
[1] 嚴蔚敏,吳偉民.數據結構(C語言版).北京: 清華大學出版社,1997 [2] 王曉東.計算機算法設計與分析.北京: 電子工業出版社, 2007 [3] 嚴蔚敏,吳偉民,米寧.數據結構題集(C語言版).北京: 清華大學出版社,1999 [4] Elliot B.Koffman and Paul A.T.Wolfgang..Objects, Abstraction, Data Structures and Design: Using C++.October 2005, ?2006
II華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
目錄
任務書.............................................................................................................................I 1 系統需求分析與總體設計........................................................................................1 1.1系統需求分析.................................................................................................1 1.2系統總體設計.................................................................................................1 2 系統詳細設計............................................................................................................2 2.1 有關數據結構的定義....................................................................................2 2.2 主要算法設計................................................................................................3 3 系統實現與測試........................................................................................................4 3.1 系統實現........................................................................................................4 3.2 系統測試........................................................................................................6 4 總結與展望..............................................................................................................13 4.1 全文總結......................................................................................................13 4.1 工作展望......................................................................................................13 5 體會..........................................................................................................................15 參考文獻......................................................................................................................16 附錄..............................................................................................................................17
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 系統需求分析與總體設計
1.1系統需求分析
華中科技大學(Huazhong University of Science and Technology),簡稱華中大,坐落于湖北省武漢市,學校面積7000余畝。華科大校園具有典型的工科院校特征,道路筆直,建筑面積方方正正,這為構建電子地圖提供了極大的便利。本次課程設計以華中科技大學為背景,設計一個簡單的華科校園地圖導航程序,可以方便的為用戶提供搜索、導航等功能。該系統的具體的功能為:
1.輸入任意地點名,可以在地圖中以一定標記顯示出該地點所在的位置;
2.輸入任意起點和終點,可以在地圖上查詢并顯示從起點到終點的最佳路線以及最短距離;
3.輸入任意地點名,可以在地圖上查詢并顯示出距離該地點最近的食堂或者超市,并給出從該地點到達食堂或者超市的最佳路線和最短距離; 4.鼠標移動到地圖上的某一地點是,顯示該地點的名稱和簡介; 5.系統能為用戶提供華科整體地圖、系統使用說明、設計信息。擁有以上的功能的導航應用將給不熟悉華科的用戶提供極大的便利,是人們所需要的。
1.2系統總體設計
系統的總體模塊圖如圖1所示。用戶進入系統后,在窗口主界面可以選擇“地圖導航”、“進入地圖”、“使用幫助”“關于導航”、“退出導航”等功能。在“地圖導航”功能中,用戶可以查詢某個地點或者某個地點附近最近的食堂和超市、到達該地點的最佳路徑和距離等,在過了一定時間后,系統會提示用戶選擇返回“地圖導航”界面還是進入“進入地圖”功能,然后系統根據用戶的選擇進入相應的界面;在“進入地圖”功能下,用戶可以瀏覽整個華科地圖并且查詢某個地點的名稱和簡介;在“使用幫助”下,用戶可以閱讀該系統的使用說明;在“關于導航”下,用戶可以了解該系統的設計信息;用戶點擊“退出導航”即可退出該系統。
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 1 系統詳細設計
2.1 有關數據結構的定義
華科校園導游系統是用圖結構來實現的。具體數據結構如下: 定義景點的結構類型 typedef struct { 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
Point point;char name[20];char num;}Vexs;
定義景點坐標的結構類型 typedef struct { int x;int y;}Point;
定義圖的結構類型 struct MGraph {
};
聲明無向圖的鄰接矩陣類型 MGraph G[100],G0,G1;
初始化所有景點信息,存放在圖G1中 int CreateUDG1(MGraph &G1);Vexs vexs[MAX_VEX_NUM];
//頂點向量 int vexnum,arcnum;
//頂點數,邊數
int arcs[MAX_VEX_NUM][MAX_VEX_NUM];//鄰接矩陣
2.2 主要算法設計
Floyd算法:void Floyd(void);
通過一個圖的權值矩陣求出它的每兩點間的最短路徑矩陣。
從圖的帶權鄰接矩陣A=[a(i,j)] n×n開始,遞歸地進行n次更新,即由矩陣D(0)=A,按一個公式,構造出矩陣D(1);又用同樣地公式由D(1)構造出D(2);??;最后又用同樣的公式由D(n-1)構造出矩陣D(n)。矩陣D(n)的i行j列元素便是i號頂點到j號頂點的最短路徑長度,稱D(n)為圖的距離矩陣,同時還可引入一個后繼節點矩陣path來記錄兩點間的最短路徑。
采用松弛技術(松弛操作),對在i和j之間的所有其他點進行一次松弛。所以時間復雜度為O(n^3);其狀態轉移方程為map[i,j]:=min{map[i,k]+map[k,j],map[i,j]};map[i,j]表示i到j的最短距離,K是窮舉i,j的斷點,map[n,n]初值應該為0,或者按照題目意思來做。當然,如果這條路沒有通的話,還必須特殊處理,比如沒有map[i,k]這 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
條路。
通過弗洛伊德算法計算出兩單間的最短路徑之后,就可以通過距離計算公式計算出兩點間的最短距離。
利用佛洛依德算法計算出每兩點間的最短路徑矩陣。里面有三重for循環,時間的復雜度為O(n^3)。系統實現與測試
3.1 系統實現
3.1.1 開發環境
本系統是在windows7下的Visual C++ 6.0編譯器中進行設計,但是一般的編譯器中沒有包含編寫界面的
Runtime Library
下選
Multi-threaded Debug(/MTd)Project->setting->C/C++->category(code generation)->using runtime library(debug multithread)。3.1.2 運行環境
Window7 64位旗艦版系統。3.1.3 主要函數及說明
1、void Floyd(void);
按照實際路況處理,利用佛洛依德算法,算出每兩點間的最短路徑矩陣。求 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
->的最短路徑,如果->有弧,則存在一條長度為arcs[i][j]的路徑,但是該路徑不一定是最短路徑,尚需要進行n次試探。若存在(Vi,Vo,Vj),則比較(Vi,Vj)和(Vi,Vo)+(Vo,Vj)的大小。取(Vi,Vo,Vj)和(Vi,Vj)的較短者,繼續添加結點。依此類推,每次都找到短路徑,最后得到的便是最短路徑。把最短的路徑存到全局變量path中。
2、void LoadData(void);
加載初期設定的信息包括所有圖片。并且將設定好的坐標信息存儲到圖G0中。并且使用佛洛依德算法,將每對景點之間的最短路徑距離算出并存儲最短路徑到全局變量path中。以方便后續程序的進行。
3、int CreateUDG1(MGraph &G1);加載所有景點信息,并存儲到圖G1中。(圖G1不包括路口坐標信息)。里面有兩個for循環,一個用來加載景點坐標,名稱和代號。另一個for循環用來構建完全圖G1,計算出每對景點的最短路徑(理想情況下處理的)。返回值為1。
4、int weight(Point a,Point b);計算兩個點之間的距離,利用公式,計算出的結果是double類型的,將結果強制類型轉換為int類型,并將其值返回。
5、void Musicplay(int mark);
利用mciSendString函數,mark用來控制背景音樂的播放與停止。mark=1,循環播放音樂。界面打開時后臺啟動。當主界面上點擊音樂暫停圖標mark=2,音樂暫停.。當主界面上點擊音樂播放圖標mark=3,音樂恢復播放。.6、void Windows(void);加載事先做好的主界面背景圖。在上面輸出文字信息。用GetMouseMsg();函數獲取鼠標信息,設置鼠標響應區,當鼠標移動到響應區時,文字實現顏色的改變。當單擊鼠標左鍵時,會進入到相應的函數里面,進行下一步操作。
7、void Viewmain(void);輸出景點坐標及名稱。設置景點活動區域,獲取鼠標信息,當鼠標移動到相應的景點活動區域,就會加載相應的景點圖片。
8、void Help(void);
有簡單的操作說明。操作說明是以圖片的形式加載進去的。圖片是事先用PS 5 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
準備好的。
9、void About(void);有簡單的作者信息及實驗感想。背景是以圖片的形式加載進去的。圖片是事先用PS準備好的。里面還有一個網頁鏈接,點擊后會用Systen函數,打開該網頁鏈接。
10、void Quit(void);關閉圖形區域,退出導航。詳細設計代碼見附錄。
3.2 系統測試
根據設計要求測試相關的功能,測試結果用相應的截圖表示。
1、運行程序,進入系統主窗口界面,結果如圖2所示。
圖 2
2、選擇主界面的“地圖導航功”能,進入功能選區,結果如圖3所示。華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 3 2.1、在“地圖導航”功能界面選擇“place”(地點查詢)功能,查詢地點A(南大門)。輸入A,系統在地圖上正確地顯示地點A的位置。結果如圖4,圖5所示。
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 4
圖 5 2.2、在“地圖導航”功能界面選擇“route”(路線查詢)功能,查詢A(南大門)到B(南一樓)之間的最佳路線和距離。輸入AB,系統在地圖上正確地顯示AB之前的最佳路線和距離。結果如圖6,圖7所示。
圖 6 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 7
2.3、在“地圖導航”功能界面選擇“repast”(食堂查詢)功能,查詢B(南一樓)附近最近的食堂。輸入B,系統在地圖上正確地顯示B附近最近的食堂,并且給出了最佳路線和距離。結果如圖8,圖9所示。
圖 8 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 9 2.4、在“地圖導航”功能界面選擇“market”(超市查詢)功能,查詢A(南大門)附近最近的超市。輸入A,系統在地圖上正確地顯示A附近最近的超市,并且給出了最佳路線和距離。結果如圖10,圖11所示。華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 10
圖 11
3、在系統主界面選擇“進入地圖”功能,將鼠標光標移動到地圖的地點(機械大樓)上面,地圖右下角顯示該地點的具體信息。結果如圖12所示。
圖 12 11 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
4、在系統主界面選擇進入“使用幫助”功能,系統顯示該系統的使用說明。結果如圖13所示。
圖 13
5、在系統主界面選擇進入“關于導航”功能,系統顯示該系統的設計信息。結果如圖14所示。華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
圖 14
6、在系統主界面選擇“退出導航”功能,點擊“確定”即退出系統。結果如所示。總結與展望
圖 1
54.1 全文總結
對自己的工作做個總結,主要工作總結如下:
(1)分析設計題目、設計內容和設計要求,到圖書館和網上查閱相關資料,制定設計計劃,為設計工作做準備。
(2)按照設計要求進行設計工作,設計合適的數據結構和算法,收集并處理相關的資料,編程實現。
(3)按照設計要求測試系統,調試程序BUG,優化、完善系統。(4)撰寫課程設計報告。
4.1 工作展望
在今后的研究中,圍繞著如下幾個方面開展工作:
(1)此次設計使用了弗洛伊德算法,沒有設計出更高效的算法。所以應該
設計更合適的數據結構和更高效的算法,優化代碼,提高系統的效率。華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
(2)設計的系統功能還是比較單一。所以應該完善和擴充系統功能,使系 統能為用戶提供更多、更優質的服務。
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 體會
在該接觸到本次《數據結構》的課程設計時,心里是沒有底的,一開始就為了確定題目思考了很久,但是看到地圖就有了很多想法,回想起在課程的學習中對圖進行了深入地學習并且學習了諸多尋路算法,于是就選擇了這個題目,我覺得我可以根據自己所學習的圖的知識和算法設計出“華科地圖導航”。
“華科地圖導航”涉及到大量的圖形信息與繪圖信息,于是我開始尋找合適的開發的工具與語言進行編程設計。最開始在網上查詢相關信息了解到QT是寫圖形界面的好工具,但是進行上手學習后發現QT函數庫眾多,而我不能正確熟悉地使用,于是考慮了很久就放棄了。后來了解到了C語言的圖形庫easyx,于是上網查詢了相關的資料,對easyx有了大致的了解,上手很容易,只需根據其圖形函數與繪圖函數進行編程設計,課設就正式進入了設計、編寫、測試,然后順利完成課設。
感謝幫助過我同學和老師,也感謝我自己。
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
參考文獻
[1] 嚴蔚敏,吳偉民.數據結構(C語言版).北京: 清華大學出版社,1997 [2] 嚴蔚敏,吳偉民,米寧.數據結構題集(C語言版).北京: 清華大學出版社,1999 [3] 曹計昌,盧萍,李開.C語言與程序設計.北京: 電子工業出版社,2013 [4] 王曉東.計算機算法設計與分析.北京: 電子工業出版社, 2007
華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
附錄
1.TourGuide.h
#include
#define MAX_VEX_NUM 100 //最大地點個數 #define N 22
//當前地點個數 #define All 60
//地點和路口總數
#define MAX_ROAD 10000 //相當于兩地點間斷開
int shortest[MAX_VEX_NUM][MAX_VEX_NUM];
//全局變量存貯最小路徑 int path[MAX_VEX_NUM][MAX_VEX_NUM];
//存貯路徑 int pos[][2]={
//地點坐標及路口坐標
//地點坐標
{208,430},{209,387},{50,404} ,{105,355}, {110,300},{170,300},{167,234},{230,150}, {310,235},{310,320},{390,320},{615,155},{430,320},{430,150},{417,320},{368,307},{406,320},{472,160},{5,185} ,{339,293},{65,452} ,{109,439}, //路口坐標
{369,317},{46,379} ,{110,387},{368,293}, {168,386},{262,384},{112,320},{170,320}, {262,320},{309,292},{309,282},{110,284}, {170,284},{230,250},{309,250},{170,250}, {230,220},{307,220},{370,150},{2,219} , {108,188},{33,337} ,{109,250},{109,218}, {309,150},{108,150},{167,218},{427,250}, {368,218},{368,250},{166,150},{166,188}, {230,188},{309,188},{368,188},{230,282}, {230,320},{168,350} };char Num[]={
//地點編號
'A','B','C','D', 'E','F','G','H', 'I','J','K','L','M','N','O','P','Q','R','S','T','U','V' };char Name[][20]={
//地點名稱
“南大門”,“南一樓”,“西十二樓”,“西五樓”, “青年園”,“圖書館”,“科技樓”,“喻園餐廳”, 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
“機械學院”,“名人園”,“中心操場”,“東九樓”, “沁苑”,“喻園教工超市”,“東教工超市”, “東一食堂”,“紫荊園餐廳”,“清真食堂”, “百景園”,“東五樓”,“南三門”,“南二門” };typedef struct { int x;int y;}Point;typedef struct { Point point;char name[20];char num;}Vexs;struct MGraph { Vexs vexs[MAX_VEX_NUM];
//頂點向量
int arcs[MAX_VEX_NUM][MAX_VEX_NUM];//鄰接矩陣
int vexnum,arcnum;
//頂點數,邊數 };MGraph G[100],G0,G1;
//聲明無向圖的鄰接矩陣類型 int Gi;IMAGE map,map1;
//圖片信息的加載 IMAGE loading;IMAGE about;IMAGE help;IMAGE background;IMAGE Aa,Bb,Cc,Dd,Ee,Ff,Gg,Hh,Ii,Jj,Kk,Ll,Mm,Nn,Oo,Pp,Qq,Rr,Ss,Tt,Uu,Vv,a1,a2,b1,b2,c1,c2,d1,d2;void LoadData(void);
//加載信息
int CreateUDG1(MGraph &G1);//初始化所有景點信息 int weight(Point a,Point b);//計算兩點之間的距離 void Windows(void);
//主窗口界面 void Musicplay(int mark);//播放音樂
void Showplace(void);
//查找地點位置 void Showpoint(int i);void Shortest(void);
//兩點之間的最短路徑 void Showline(int i,int j);//顯示輸入框 void Showline1(int i,int j);//顯示輸入框 void Showline2(int i,int j);//顯示輸入框
void Floyd(void);
//佛洛依德算法,算出每兩點間的最短路徑矩陣 void Linemin(int i,int j);
//畫最短路徑
void Findrepast(void);
//查找附近的食堂 void Findmarket(void);
//查找附近的超市 void Entermap(void);
//進入地圖操作界面 void Viewmain(void);
//瀏覽地點信息 void HelP(void);
//操作說明 void About(void);
//作者相關信息 void Quit(void);
//退出系統
2.TourGuide.cpp 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
#include“head.h” int main(){ initgraph(640,480);HWND hwnd = GetHWnd();
// 設置窗口標題文字
SetWindowText(hwnd, “華科地圖導航”);LoadData();CreateUDG1(G1);Musicplay(1);Windows();return 0;}
/*功能:對輸入的兩個點計算它們之間的距離,并將其返回到調用的函數中*/ int weight(Point a,Point b){ double x;int y;x=pow((a.x-b.x),2)+pow((a.y-b.y),2);x=sqrt(x);y=int(x);return y;} /*功能:加載程序運行必須的圖片及函數相關信息*/ void LoadData(void){ int i,j;loadimage(&loading,“./picture/loading.jpg”);loadimage(&about,“./picture/about.jpg”);loadimage(&help,“./picture/help.jpg”);loadimage(&background,“./picture/background.jpg”);loadimage(&map,“./picture/map.jpg”);loadimage(&map1,“./picture/map1.jpg”);loadimage(&Aa,“./picture/place/A.jpg”);loadimage(&Bb,“./picture/place/B.jpg”);loadimage(&Cc,“./picture/place/C.jpg”);loadimage(&Dd,“./picture/place/D.jpg”);loadimage(&Ee,“./picture/place/E.jpg”);loadimage(&Ff,“./picture/place/F.jpg”);loadimage(&Gg,“./picture/place/G.jpg”);loadimage(&Hh,“./picture/place/H.jpg”);loadimage(&Ii,“./picture/place/I.jpg”);loadimage(&Jj,“./picture/place/J.jpg”);loadimage(&Kk,“./picture/place/K.jpg”);loadimage(&Ll,“./picture/place/L.jpg”);loadimage(&Mm,“./picture/place/M.jpg”);loadimage(&Nn,“./picture/place/N.jpg”);loadimage(&Oo,“./picture/place/O.jpg”);loadimage(&Pp,“./picture/place/P.jpg”);loadimage(&Qq,“./picture/place/Q.jpg”);loadimage(&Rr,“./picture/place/R.jpg”);loadimage(&Ss,“./picture/place/S.jpg”);loadimage(&Tt,“./picture/place/T.jpg”);loadimage(&Uu,“./picture/place/U.jpg”);loadimage(&Vv,“./picture/place/V.jpg”);loadimage(&a1,“./picture/menu/a1.jpg”);華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告
loadimage(&a2,“./picture/menu/a2.jpg”);loadimage(&b1,“./picture/menu/b1.jpg”);loadimage(&b2,“./picture/menu/b2.jpg”);loadimage(&c1,“./picture/menu/c1.jpg”);loadimage(&c2,“./picture/menu/c2.jpg”);loadimage(&d1,“./picture/menu/d1.jpg”);loadimage(&d2,“./picture/menu/d2.jpg”);for(i=1;i<=All;i++){
for(j=1;j<=All;j++)
{
G0.arcs[i][j]=MAX_ROAD;
}
}
for(i=1;i<=All;i++)
{
shortest[i][i]=0;
} for(i=0;i G0.vexs[i+1].point.x=pos[i][0]; G0.vexs[i+1].point.y=pos[i][1]; } //初始化連通路徑 G0.arcs[1][2]=G0.arcs[2][1]=weight(G0.vexs[1].point,G0.vexs[2].point);G0.arcs[1][22]=G0.arcs[22][1]=weight(G0.vexs[22].point,G0.vexs[1].point);G0.arcs[1][27]=G0.arcs[27][1]=weight(G0.vexs[27].point,G0.vexs[1].point); G0.arcs[1][28]=G0.arcs[28][1]=weight(G0.vexs[28].point,G0.vexs[1].point); G0.arcs[2][27]=G0.arcs[27][2]=weight(G0.vexs[27].point,G0.vexs[2].point); G0.arcs[2][28]=G0.arcs[28][2]=weight(G0.vexs[28].point,G0.vexs[2].point); G0.arcs[3][21]=G0.arcs[21][3]=weight(G0.vexs[21].point,G0.vexs[3].point); G0.arcs[3][24]=G0.arcs[24][3]=weight(G0.vexs[24].point,G0.vexs[3].point);G0.arcs[4][24]=G0.arcs[24][4]=weight(G0.vexs[24].point,G0.vexs[4].point); G0.arcs[4][25]=G0.arcs[25][4]=weight(G0.vexs[25].point,G0.vexs[4].point);G0.arcs[4][29]=G0.arcs[29][4]=weight(G0.vexs[29].point,G0.vexs[4].point);G0.arcs[4][60]=G0.arcs[60][4]=weight(G0.vexs[60].point,G0.vexs[4].point); G0.arcs[5][29]=G0.arcs[29][5]=weight(G0.vexs[29].point,G0.vexs[5].point);G0.arcs[5][34]=G0.arcs[34][5]=weight(G0.vexs[34].point,G0.vexs[5].point);G0.arcs[6][30]=G0.arcs[30][6]=weight(G0.vexs[6].point,G0.vexs[30].point);G0.arcs[6][35]=G0.arcs[35][6]=weight(G0.vexs[6].point,G0.vexs[35].point); G0.arcs[7][49]=G0.arcs[49][7]=weight(G0.vexs[7].point,G0.vexs[49].point);G0.arcs[7][38]=G0.arcs[38][7]=weight(G0.vexs[7].point,G0.vexs[38].point);G0.arcs[8][47]=G0.arcs[47][8]=weight(G0.vexs[8].point,G0.vexs[47].point);G0.arcs[8][53]=G0.arcs[53][8]=weight(G0.vexs[53].point,G0.vexs[8].point);G0.arcs[8][55]=G0.arcs[55][8]=weight(G0.vexs[55].point,G0.vexs[8].point);G0.arcs[9][37]=G0.arcs[37][9]=weight(G0.vexs[9].point,G0.vexs[37].point);G0.arcs[9][40]=G0.arcs[40][9]=weight(G0.vexs[9].point,G0.vexs[40].point);G0.arcs[10][31]=G0.arcs[31][10]=weight(G0.vexs[10].point,G0.vexs[31].point);G0.arcs[10][23]=G0.arcs[23][10]=weight(G0.vexs[10].point,G0.vexs[23].point);G0.arcs[10][32]=G0.arcs[32][10]=weight(G0.vexs[10].point,G0.vexs[32].point); G0.arcs[11][17]=G0.arcs[17][11]=weight(G0.vexs[11].point,G0.vexs[17].point); G0.arcs[11][23]=G0.arcs[23][11]=weight(G0.vexs[11].point,G0.vexs[23].point); G0.arcs[12][18]=G0.arcs[18][12]=weight(G0.vexs[12].point,G0.vexs[18].point); G0.arcs[13][50]=G0.arcs[50][13]=weight(G0.vexs[13].point,G0.vexs[50].point);G0.arcs[13][15]=G0.arcs[15][13]=weight(G0.vexs[13].point,G0.vexs[15].point); G0.arcs[14][18]=G0.arcs[18][14]=weight(G0.vexs[14].point,G0.vexs[18].point); G0.arcs[14][41]=G0.arcs[41][14]=weight(G0.vexs[14].point,G0.vexs[41].point);華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 G0.arcs[14][50]=G0.arcs[50][14]=weight(G0.vexs[14].point,G0.vexs[50].point); G0.arcs[15][17]=G0.arcs[17][15]=weight(G0.vexs[15].point,G0.vexs[17].point); G0.arcs[16][23]=G0.arcs[23][16]=weight(G0.vexs[16].point,G0.vexs[23].point); G0.arcs[16][26]=G0.arcs[26][16]=weight(G0.vexs[16].point,G0.vexs[26].point); G0.arcs[19][42]=G0.arcs[42][19]=weight(G0.vexs[19].point,G0.vexs[42].point); G0.arcs[19][43]=G0.arcs[43][19]=weight(G0.vexs[19].point,G0.vexs[43].point); G0.arcs[20][26]=G0.arcs[26][20]=weight(G0.vexs[20].point,G0.vexs[26].point); G0.arcs[20][32]=G0.arcs[32][20]=weight(G0.vexs[20].point,G0.vexs[32].point); G0.arcs[21][22]=G0.arcs[22][21]=weight(G0.vexs[22].point,G0.vexs[21].point); G0.arcs[22][25]=G0.arcs[25][22]=weight(G0.vexs[22].point,G0.vexs[25].point); G0.arcs[24][44]=G0.arcs[44][24]=weight(G0.vexs[24].point,G0.vexs[44].point); G0.arcs[25][27]=G0.arcs[27][25]=weight(G0.vexs[25].point,G0.vexs[27].point); G0.arcs[26][52]=G0.arcs[52][26]=weight(G0.vexs[26].point,G0.vexs[52].point); G0.arcs[27][60]=G0.arcs[60][27]=weight(G0.vexs[27].point,G0.vexs[60].point); G0.arcs[28][31]=G0.arcs[31][28]=weight(G0.vexs[28].point,G0.vexs[31].point); G0.arcs[29][30]=G0.arcs[30][29]=weight(G0.vexs[29].point,G0.vexs[30].point); G0.arcs[29][44]=G0.arcs[44][29]=weight(G0.vexs[29].point,G0.vexs[44].point); G0.arcs[30][59]=G0.arcs[59][30]=weight(G0.vexs[30].point,G0.vexs[59].point);G0.arcs[30][60]=G0.arcs[60][30]=weight(G0.vexs[30].point,G0.vexs[60].point); G0.arcs[31][59]=G0.arcs[59][31]=weight(G0.vexs[31].point,G0.vexs[59].point); G0.arcs[32][33]=G0.arcs[33][32]=weight(G0.vexs[32].point,G0.vexs[33].point); G0.arcs[33][37]=G0.arcs[37][33]=weight(G0.vexs[33].point,G0.vexs[37].point); G0.arcs[33][58]=G0.arcs[58][33]=weight(G0.vexs[33].point,G0.vexs[58].point); G0.arcs[34][35]=G0.arcs[35][34]=weight(G0.vexs[34].point,G0.vexs[35].point); G0.arcs[34][45]=G0.arcs[45][34]=weight(G0.vexs[34].point,G0.vexs[45].point); G0.arcs[35][38]=G0.arcs[38][35]=weight(G0.vexs[35].point,G0.vexs[38].point);G0.arcs[35][58]=G0.arcs[58][35]=weight(G0.vexs[35].point,G0.vexs[58].point); G0.arcs[36][37]=G0.arcs[37][36]=weight(G0.vexs[36].point,G0.vexs[37].point); G0.arcs[36][38]=G0.arcs[38][36]=weight(G0.vexs[36].point,G0.vexs[38].point); G0.arcs[36][39]=G0.arcs[39][36]=weight(G0.vexs[36].point,G0.vexs[39].point);G0.arcs[36][58]=G0.arcs[58][36]=weight(G0.vexs[36].point,G0.vexs[58].point); G0.arcs[37][52]=G0.arcs[52][37]=weight(G0.vexs[37].point,G0.vexs[52].point);G0.arcs[38][45]=G0.arcs[45][38]=weight(G0.vexs[45].point,G0.vexs[38].point);G0.arcs[39][49]=G0.arcs[49][39]=weight(G0.vexs[39].point,G0.vexs[49].point); G0.arcs[39][55]=G0.arcs[55][39]=weight(G0.vexs[39].point,G0.vexs[55].point);G0.arcs[39][40]=G0.arcs[40][39]=weight(G0.vexs[39].point,G0.vexs[40].point); G0.arcs[40][56]=G0.arcs[56][40]=weight(G0.vexs[40].point,G0.vexs[56].point); G0.arcs[40][51]=G0.arcs[51][40]=weight(G0.vexs[40].point,G0.vexs[51].point); G0.arcs[41][47]=G0.arcs[47][41]=weight(G0.vexs[41].point,G0.vexs[47].point);G0.arcs[41][57]=G0.arcs[57][41]=weight(G0.vexs[41].point,G0.vexs[57].point);G0.arcs[42][44]=G0.arcs[44][42]=weight(G0.vexs[42].point,G0.vexs[44].point);G0.arcs[42][46]=G0.arcs[46][42]=weight(G0.vexs[42].point,G0.vexs[46].point);G0.arcs[43][46]=G0.arcs[46][43]=weight(G0.vexs[43].point,G0.vexs[46].point); G0.arcs[43][48]=G0.arcs[48][43]=weight(G0.vexs[43].point,G0.vexs[48].point);G0.arcs[43][54]=G0.arcs[54][43]=weight(G0.vexs[43].point,G0.vexs[54].point);G0.arcs[45][46]=G0.arcs[46][45]=weight(G0.vexs[45].point,G0.vexs[46].point); G0.arcs[46][49]=G0.arcs[49][46]=weight(G0.vexs[46].point,G0.vexs[49].point);G0.arcs[47][56]=G0.arcs[56][47]=weight(G0.vexs[47].point,G0.vexs[56].point);G0.arcs[48][53]=G0.arcs[53][48]=weight(G0.vexs[48].point,G0.vexs[53].point);G0.arcs[49][54]=G0.arcs[54][49]=weight(G0.vexs[49].point,G0.vexs[54].point); G0.arcs[50][52]=G0.arcs[52][50]=weight(G0.vexs[50].point,G0.vexs[52].point);G0.arcs[51][52]=G0.arcs[52][51]=weight(G0.vexs[51].point,G0.vexs[52].point);G0.arcs[51][57]=G0.arcs[57][51]=weight(G0.vexs[51].point,G0.vexs[57].point); G0.arcs[53][54]=G0.arcs[54][53]=weight(G0.vexs[53].point,G0.vexs[54].point);G0.arcs[54][55]=G0.arcs[55][54]=weight(G0.vexs[54].point,G0.vexs[55].point);G0.arcs[55][56]=G0.arcs[56][55]=weight(G0.vexs[55].point,G0.vexs[56].point);G0.arcs[56][57]=G0.arcs[57][56]=weight(G0.vexs[56].point,G0.vexs[57].point);華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 G0.arcs[58][59]=G0.arcs[59][58]=weight(G0.vexs[58].point,G0.vexs[59].point Floyd();} /*功能:佛洛依德算法,將每對景點之間的最短路徑距離算出并存儲最短路徑到path中 */ void Floyd() { int i,j,k; for(i=1;i<=All;i++) { for(j=1;j<=All;j++) { shortest[i][j]=G0.arcs[i][j]; path[i][j]=j; } } /*初始化數組*/ for(k=1;k<=All;k++) { for(i=1;i<=All;i++) { for(j=1;j<=All;j++) { if(shortest[i][j]>(shortest[i][k]+shortest[k][j])) { shortest[i][j]=shortest[i][k]+shortest[k][j]; path[i][j]=k; path[j][i]=k; /*記錄經過的路徑*/ } } } } } /*功能:初始化由所有景點構成的無向完全圖G1,并加載必要信息*/ int CreateUDG1(MGraph &G1){ int p,q;Gi=0;G1.vexnum=22; for(q=0;q G1.vexs[q].point.x=pos[q][0]; G1.vexs[q].point.y=pos[q][1]; strcpy(G1.vexs[q].name,Name[q]); G1.vexs[q].num=Num[q];} for(q=0;q { for(p=q;p G1.arcs[q][p]=G1.arcs[p][q]=weight(G1.vexs[p].point,G1.vexs[q].point);} return 1;} /*把音樂以資源形式嵌入exe并播放,mark用來控制音樂的播放與暫停*/ void Musicplay(int mark){ mciSendString(“open./music/1024.mp3 alias music”,NULL,0,NULL);華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 if(mark==1) mciSendString(_T(“play music repeat”),NULL,0,NULL);if(mark==2) mciSendString(_T(“pause music”),NULL,0,NULL);if(mark==3) mciSendString(_T(“resume music”),NULL,0,NULL);} /*功能:顯示主窗口界面,進入功能選擇區*/ void Windows(void){ cleardevice();int posx[]={265,265,265,265,265,31,62};int posy[]={180,220,260,300,340,449,449};putimage(0,0,&loading);settextstyle(25, 0, _T(“隸書”));setbkmode(TRANSPARENT);settextcolor(WHITE);outtextxy(posx[0],posy[0], _T(“地圖導航”));outtextxy(posx[1],posy[1], _T(“進入地圖”));outtextxy(posx[2],posy[2], _T(“使用幫助”));outtextxy(posx[3],posy[3], _T(“關于導航”));outtextxy(posx[4],posy[4], _T(“退出導航”));MOUSEMSG m;while(true){ m=GetMouseMsg(); if(m.uMsg==WM_MOUSEMOVE) { if(m.x>posx[0]&&m.x posy[0]&&m.y settextcolor(BLACK); else settextcolor(WHITE); outtextxy(posx[0],posy[0], _T(“地圖導航”)); if(m.x>posx[1]&&m.x posy[1]&&m.y settextcolor(BLACK); else settextcolor(WHITE); outtextxy(posx[1],posy[1], _T(“進入地圖”)); if(m.x>posx[2]&&m.x posy[2]&&m.y settextcolor(BLACK); else settextcolor(WHITE); outtextxy(posx[2],posy[2], _T(“使用幫助”)); if(m.x>posx[3]&&m.x posy[3]&&m.y settextcolor(BLACK); else settextcolor(WHITE); outtextxy(posx[3],posy[3], _T(“關于導航”)); if(m.x>posx[4]&&m.x posy[4]&&m.y settextcolor(BLACK); else settextcolor(WHITE); outtextxy(posx[4],posy[4], _T(“退出導航”)); } if(m.uMsg==WM_LBUTTONUP) { 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 if(m.x>posx[0]&&m.x posy[0]&&m.y Entermap(); if(m.x>posx[1]&&m.x posy[1]&&m.y Viewmain(); if(m.x>posx[2]&&m.x posy[2]&&m.y HelP(); if(m.x>posx[3]&&m.x posy[3]&&m.y About(); if(m.x>posx[4]&&m.x posy[4]&&m.y Quit(); if(m.x>posx[5]&&m.x posy[5]&&m.y Musicplay(3); if(m.x>posx[6]&&m.x posy[6]&&m.y Musicplay(2); } } cleardevice();return;} /*功能:進入地圖操作界面,可選功能項有最短路徑查詢和最佳路線問題*/ void Entermap(){ int posx[]={215,325,215,325,0};int posy[]={135,135,245,245,0};putimage(0,0,&background);MOUSEMSG m;while(true){ m=GetMouseMsg(); if(m.uMsg==WM_MOUSEMOVE) { if(m.x>posx[0]&&m.x posy[0]&&m.y putimage(215,135,&c2); else putimage(215,135,&c1); if(m.x>posx[1]&&m.x posy[1]&&m.y putimage(325,135,&d2); else putimage(325,135,&d1); if(m.x>posx[2]&&m.x posy[2]&&m.y putimage(215,245,&a2); else putimage(215,245,&a1); if(m.x>posx[3]&&m.x posy[3]&&m.y putimage(325,245,&b2); else putimage(325,245,&b1); } if(m.uMsg==WM_LBUTTONUP) { if(m.x>posx[0]&&m.x posy[0]&&m.y Showplace(); if(m.x>posx[1]&&m.x posy[1]&&m.y Shortest(); if(m.x>posx[2]&&m.x posy[2]&&m.y Findrepast(); if(m.x>posx[3]&&m.x posy[3]&&m.y 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 Findmarket(); if(m.x>posx[4]&&m.x posy[4]&&m.y Windows(); } } } /*功能:彈出地點查詢框,作為輸入信息用*/ void Showplace(void){ char s[10];int choose;HWND wnd = GetHWnd();M: if(InputBox(s, 10, “查找地點,如:我的選擇是:AnA南大門 B南一樓 C西十二樓 D西五樓nE青年園 F圖書館 G科技樓 H喻園餐廳nI機械學院 J名人園 K中心操場 L東九樓nM沁苑 N喻園教工超市 O東教工超市nP東一食堂 Q紫荊園餐廳 R清真食堂nS百景園 T東五樓 U南三門 V南二門”,“輸入地點編號”,NULL,300,90,false)==true){ choose=s[0]-'A'+1; if(0 Showpoint(choose); else if(MessageBox(wnd, _T(“選擇出現在A-V,請重新輸入”), _T(“提醒”),MB_OK | MB_ICONWARNING)== IDOK) goto M; } else Entermap();} void Showpoint(int i){ HWND wnd = GetHWnd();char s[][100] = {“你現在查詢的是 : ”,“ 【紅色為查詢地點所在位置】”};char message[100];int a=i;strcpy(message,s[0]);putimage(0,0,&map1);strcat(message,G1.vexs[a-1].name);strcat(message,s[1]);setfillcolor(0x001eff);fillcircle(G1.vexs[a-1].point.x,G1.vexs[a-1].point.y,7); if(MessageBox(wnd, _T(message), _T(“提醒”),MB_OK | MB_ICONQUESTION)== IDOK)Sleep(1000);if(MessageBox(wnd, _T(“你要繼續查詢嗎?n是 : 返回查詢界面n否 : 進入地圖界面”), _T(“提醒”),MB_YESNO | MB_ICONQUESTION)== IDNO) Viewmain();else Entermap();} /*功能:彈出最短路徑查詢框,作為輸入信息用*/ void Shortest(void){ char s[10];int choose1,choose2;HWND wnd = GetHWnd();華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 M: if(InputBox(s, 10, “查詢線路,如:我的選擇是:ABnA南大門 B南一樓 C西十二樓 D西五樓nE青年園 F圖書館 G科技樓 H喻園餐廳nI機械學院 J名人園 K中心操場 L東九樓nM沁苑 N喻園教工超市 O東教工超市nP東一食堂 Q紫荊園餐廳 R清真食堂nS百景園 T東五樓 U南三門 V南二門”,“輸入兩地點編號”,NULL,300,90,false)==true){ choose1=s[0]-'A'+1; choose2=s[1]-'A'+1; if(0 Showline(choose1,choose2); else if(MessageBox(wnd, _T(“選擇出現在A-V,請重新輸入”), _T(“提醒”),MB_OK | MB_ICONWARNING)== IDOK) goto M; } else Entermap();} /*功能:彈出食堂查詢框,作為輸入信息用*/ void Findrepast(void){ char s[10];int choose1,choose2;HWND wnd = GetHWnd();M: if(InputBox(s, 10, “查找地點附近食堂,如:我的選擇是:AnA南大門 B南一樓 C西十二樓 D西五樓nE青年園 F圖書館 G科技樓 H喻園餐廳nI機械學院 J名人園 K中心操場 L東九樓nM沁苑 N喻園教工超市 O東教工超市nP東一食堂 Q紫荊園餐廳 R清真食堂nS百景園 T東五樓 U南三門 V南二門”,“輸入編號”,NULL,300,90,false)==true){ choose1=s[0]-'A'+1; if(0 { if(choose1==6||choose1==7||choose1==8){ choose2=8; Showline1(choose1,choose2);} else if(choose1==1||choose1==2||choose1==9||choose1==10||choose1==16||choose1==20){ choose2=16; Showline1(choose1,choose2);} else if(choose1==11||choose1==13||choose1==15||choose1==17){ choose2=17; Showline1(choose1,choose2);} else if(choose1==12||choose1==14||choose1==18){ choose2=18; Showline1(choose1,choose2);} else{ choose2=19; Showline1(choose1,choose2);} } else if(MessageBox(wnd, _T(“選擇出現在A-V,W-X,請重新輸入”), _T(“提醒”),MB_OK | MB_ICONWARNING)== IDOK) goto M; } else Entermap();華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 } /*功能:彈出食堂超市查詢框,作為輸入信息用*/ void Findmarket(void){ char s[10];int choose1,choose2;HWND wnd = GetHWnd();M: if(InputBox(s, 10, “查找地點附近超市,如:我的選擇是:AnA南大門 B南一樓 C西十二樓 D西五樓nE青年園 F圖書館 G科技樓 H喻園餐廳nI機械學院 J名人園 K中心操場 L東九樓nM沁苑 N喻園教工超市 O東教工超市nP東一食堂 Q紫荊園餐廳 R清真食堂nS百景園 T東五樓 U南三門 V南二門”,“輸入編號”,NULL,300,90,false)==true){ choose1=s[0]-'A'+1; if(0 { if(choose1==8||choose1==12||choose1==14||choose1==18||choose1==19){ choose2=14; Showline2(choose1,choose2);} else{ choose2=15; Showline2(choose1,choose2);} } else if(MessageBox(wnd, _T(“選擇出現在A-V,W-X,請重新輸入”), _T(“提醒”),MB_OK | MB_ICONWARNING)== IDOK) goto M; } else Entermap();} /*功能:輸出最短路徑線路圖及最短距離*/ void Showline(int i,int j){ HWND wnd = GetHWnd();char s[][100] = {“你現在查詢的是 : ”,“→”,“的最短距離nn”,“最短距離為:”,“米 【藍色為起點,紅色為終點】”};char message[100];char string[10];int a,b;a=i;b=j;strcpy(message,s[0]);putimage(0,0,&map1);strcat(message,G1.vexs[a-1].name);strcat(message,s[1]);strcat(message,G1.vexs[b-1].name);strcat(message,s[2]);strcat(message,s[3]);Linemin(a,b);itoa(shortest[a][b]*3.68,string,10);strcat(message,string);strcat(message,s[4]);setfillcolor(BLUE);fillcircle(G1.vexs[a-1].point.x,G1.vexs[a-1].point.y,7);setfillcolor(0x001eff);fillcircle(G1.vexs[b-1].point.x,G1.vexs[b-1].point.y,7);if(MessageBox(wnd, _T(message), _T(“提醒”), 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 MB_OK | MB_ICONQUESTION)== IDOK)Sleep(1000);if(MessageBox(wnd, _T(“你要繼續查詢嗎?n是 : 返回查詢界面n否 : 進入地圖界面”), _T(“提醒”),MB_YESNO | MB_ICONQUESTION)== IDNO) Viewmain();else Entermap();} /*功能:輸出食堂最短路徑線路圖及最短距離*/ void Showline1(int i,int j){ HWND wnd = GetHWnd();char s[][100] = {“你現在查詢的是 : ”,“ 附近最近的食堂 ”,“ 其路徑如圖nn”,“最短距離為:”,“米 【藍色為起點,紅色為終點】”};char message[100];char string[10];int a,b;a=i;b=j;strcpy(message,s[0]);putimage(0,0,&map1);strcat(message,G1.vexs[a-1].name);strcat(message,s[1]);strcat(message,G1.vexs[b-1].name);strcat(message,s[2]);strcat(message,s[3]);Linemin(a,b);itoa(shortest[a][b]*3.68,string,10);strcat(message,string);strcat(message,s[4]);setfillcolor(BLUE);fillcircle(G1.vexs[a-1].point.x,G1.vexs[a-1].point.y,7);setfillcolor(0x001eff);fillcircle(G1.vexs[b-1].point.x,G1.vexs[b-1].point.y,7);if(MessageBox(wnd, _T(message), _T(“提醒”),MB_OK | MB_ICONQUESTION)== IDOK)Sleep(1000);if(MessageBox(wnd, _T(“你要繼續查詢嗎?n是 : 返回查詢界面n否 : 進入地圖界面”), _T(“提醒”),MB_YESNO | MB_ICONQUESTION)== IDNO) Viewmain();else Entermap();} /*功能:輸出食堂最短路徑線路圖及最短距離*/ void Showline2(int i,int j){ HWND wnd = GetHWnd();char s[][100] = {“你現在查詢的是 : ”,“ 附近最近的超市 ”,“ 其路徑如圖nn”,“最短距離為:”,“米 【藍色為起點,紅色為終點】”};char message[100];char string[10];int a,b;a=i;b=j;strcpy(message,s[0]);putimage(0,0,&map1);華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 strcat(message,G1.vexs[a-1].name);strcat(message,s[1]);strcat(message,G1.vexs[b-1].name);strcat(message,s[2]);strcat(message,s[3]);Linemin(a,b);itoa(shortest[a][b]*3.68,string,10);strcat(message,string);strcat(message,s[4]);setfillcolor(BLUE);fillcircle(G1.vexs[a-1].point.x,G1.vexs[a-1].point.y,7);setfillcolor(0x001eff);fillcircle(G1.vexs[b-1].point.x,G1.vexs[b-1].point.y,7);if(MessageBox(wnd, _T(message), _T(“提醒”),MB_OK | MB_ICONQUESTION)== IDOK)Sleep(1000);if(MessageBox(wnd, _T(“你要繼續查詢嗎?n是 : 返回查詢界面n否 : 進入地圖界面”), _T(“提醒”),MB_YESNO | MB_ICONQUESTION)== IDNO) Viewmain();else Entermap();} /*功能:繪制最短路徑線路圖*/ void Linemin(int i,int j){ setlinestyle(PS_DASH|PS_JOIN_ROUND,4);if(path[i][j]==i||path[i][j]==j) line(G0.vexs[i].point.x,G0.vexs[i].point.y,G0.vexs[j].point.x,G0.vexs[j].point.y);else{ Linemin(path[i][j],i); Linemin(path[i][j],j);} setlinestyle(PS_SOLID,1);} /*功能:地圖地點相關信息的介紹*/ void Viewmain(){ IMAGE temp;int choose;putimage(0,0,&map);getimage(&temp,465,275,210,260);setfillcolor(0x001eff);settextstyle(20,0,“楷體”);settextcolor(BLACK);setbkmode(TRANSPARENT);for(choose=1;choose<=N;choose++){ fillcircle(pos[choose-1][0],pos[choose-1][1],7);} outtextxy(0,0,“返回”);outtextxy(80,0,“Tips:鼠標移動到相應的點范圍即可查看對應地點信息”);MOUSEMSG m;while(true){ m=GetMouseMsg(); if(m.uMsg==WM_MOUSEMOVE)華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 { if(m.x>pos[0][0]-7&&m.x pos[0][1]-7&&m.y putimage(465,275,&Aa); else if(m.x>pos[1][0]-7&&m.x pos[1][1]-7&&m.y putimage(465,275,&Bb); else if(m.x>pos[2][0]-7&&m.x pos[2][1]-7&&m.y putimage(465,275,&Cc); else if(m.x>pos[3][0]-7&&m.x pos[3][1]-7&&m.y putimage(465,275,&Dd); else if(m.x>pos[4][0]-7&&m.x pos[4][1]-7&&m.y putimage(465,275,&Ee); else if(m.x>pos[5][0]-7&&m.x pos[5][1]-7&&m.y putimage(465,275,&Ff); else if(m.x>pos[6][0]-7&&m.x pos[6][1]-7&&m.y putimage(465,275,&Gg); else if(m.x>pos[7][0]-7&&m.x pos[7][1]-7&&m.y putimage(465,275,&Hh); else if(m.x>pos[8][0]-7&&m.x pos[8][1]-7&&m.y putimage(465,275,&Ii); else if(m.x>pos[9][0]-7&&m.x pos[9][1]-7&&m.y putimage(465,275,&Jj); else if(m.x>pos[10][0]-7&&m.x pos[10][1]-7&&m.y putimage(465,275,&Kk); else if(m.x>pos[11][0]-7&&m.x pos[11][1]-7&&m.y putimage(465,275,&Ll); else if(m.x>pos[12][0]-7&&m.x pos[12][1]-7&&m.y putimage(465,275,&Mm); else if(m.x>pos[13][0]-7&&m.x pos[13][1]-7&&m.y putimage(465,275,&Nn); else if(m.x>pos[14][0]-7&&m.x pos[14][1]-7&&m.y putimage(465,275,&Oo); else if(m.x>pos[15][0]-7&&m.x pos[15][1]-7&&m.y putimage(465,275,&Pp); else if(m.x>pos[16][0]-7&&m.x pos[16][1]-7&&m.y putimage(465,275,&Qq); else if(m.x>pos[17][0]-7&&m.x pos[17][1]-7&&m.y putimage(465,275,&Rr); else if(m.x>pos[18][0]-7&&m.x pos[18][1]-7&&m.y putimage(465,275,&Ss);華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 else if(m.x>pos[19][0]-7&&m.x pos[19][1]-7&&m.y putimage(465,275,&Tt); else if(m.x>pos[20][0]-7&&m.x pos[20][1]-7&&m.y putimage(465,275,&Uu); else if(m.x>pos[21][0]-7&&m.x pos[21][1]-7&&m.y putimage(465,275,&Vv); else putimage(465,275,&temp); } if(m.uMsg==WM_LBUTTONUP) { if(m.x>0&&m.x<40&&m.y>0&&m.y<20) { setbkmode(TRANSPARENT); Windows(); } } } } /*功能:進入幫助功能界面,顯示操作說明*/ void HelP(void){ putimage(0,0,&help);MOUSEMSG m;while(true){ m=GetMouseMsg(); if(m.uMsg==WM_LBUTTONUP) if(m.x>0&&m.x<070&&m.y>0&&m.y<50) Windows();} } /*功能:顯示作者相關信息*/ void About(void){ int posx[]={0,25};int posy[]={0,350};cleardevice();putimage(0,0,&about);MOUSEMSG m;while(true){ m=GetMouseMsg(); if(m.uMsg==WM_LBUTTONUP) if(m.x>posx[0]&&m.x posy[0]&&m.y Windows();} } /*退出系統,結束程序的運行*/ void Quit(void){ HWND wnd = GetHWnd();if(MessageBox(wnd, _T(“你確定要退出嗎?”), _T(“提醒”),31 華 中 科 技 大 學 計 算 機 科 學 與 技 術 學 院 課 程 設 計 報 告 } { } MB_OKCANCEL | MB_ICONQUESTION)== IDOK)closegraph();exit(0); 《企業資源計劃ERP》 課程設計 題目:關于企業實施ERP對人力資源管理影響的探究 班 級 信管 092 專 業 信息管理和信息系統 學 號 3090561053 姓 名 竇 婷 地 點 經濟與管理學院實驗室 指導老師 朱宗乾 設計日期 2012-6-24 — 2012-6-29 2012 年 春季 學期 目 錄 研究背景、研究意義及研究目標?????????????????? 3 1.1 設計背景??????????????????????????? 3 1.2 設計意義及目標???????????????????????? 3 2 設計內容???????????????????????????? 4 2.1 實施ERP的風險識別?????????????????????? 4 2.2 人在ERP系統中居主導地位??????????????????? 4 2.2.1 ERP系統本質上是一個以人為主的動態開放系統?????????4 2.2.2在ERP實施和應用過程中需要大量的人力資源管理工作??????5 2.2.3 ERP對人力資源管理提出了更高的要求???????????? 5 2.3人力資源模塊設計??????????????????????? 6 2.3.1 組織管理?????????????????????????6 2.3.2人事管理??????????????????????????7 2.3.3 招聘管理?????????????????????????7 2.3.4 考勤管理?????????????????????????7 2.3.5 薪資核算?????????????????????????7 2.3.6 培訓管理?????????????????????????7 2.3.7 員工管理?????????????????????????8 2.3.7.1制定職務模型??????????????????????8 2.3.7.2 進行人員成本分析????????????????????8 2.3.7.3 績效考核????????????????????????8 2.4 ERP成功實施的人力資源管理條件與對應措施 ???????????8 2.4.1 企業有穩定的人力資源管理體系??????????????? 8 2.4.2全體員工的關注和支持??????????????????? 9 2.4.3 堅持人本管理,重視心理契約???????????????? 9 2.4.4 注重長期規劃???????????????????????9 3 課程設計心得體會????????????????????????10 4 參考文獻????????????????????????????10 1、研究背景、意義及目標 1. 1、研究背景 企業實施ERP系統,意味著給會企業帶來一場大規模的、深刻的變革。人力資源是企業的重要資源之一,同樣的人力資源管理也是ERP系統中的一個重要組成部分。企業實施ERP,是指建立在信息技術基礎上,以系統化的管理思想,為企業決策層及員工提供決策運行手段的管理平臺。ERP系統集信息技術與先進的管理思想于一身,成為現代企業在信息時代生存、發展的基本運行模式。可以從管理思想、軟件產品、管理系統三個層次給出它的定義:一是在MRPⅡ(Manufacturing Resources Planning)基礎上進一步發展而成的面向供應鏈(Supply Chain)的管理思想;二是綜合應用了客戶機服務器體系、關系數據庫結構、面向對象技術,圖形用戶界面,網絡通訊等信息技術成果,以ERP管理思想為靈魂的軟件產品;三是整合了企業管理理念、業務流程、人力物力、計算機硬件和軟件于一體的企業資源管理系統。企業資源計劃系統是企業進行管理創新提高管理水平,實現企業管理功能整體優化的重要途徑。 以往ERP在企業管理中的發展進程,始終是以生產制造及銷售過程為中心的。而作為企業資源:人、財、物之首要的人力資源,長期以來一直作為一個孤立的系統獨立于企業核心管理系統之外。在競爭日益激烈的今天,如何吸引優秀人才、合理安排人力資源、降低人員成本、提高企業競爭力。已經成為企業管理者首先需要面對的一個問題。成功實施ERP可以使庫存下降、停工待料減少、成本降低、生產能力提高,從而帶來巨大經濟效益,這使很多企業對ERP產生了濃厚興趣。在知識經濟時代,落后的信息技術意味著將被市場淘汰,企業要想長久地發展,必須實施ERP成為不爭的事實。因此,如何將ERP與企業的內部條件和外部環境有機地結合起來,是ERP成功的首要因素,而其中人力資源問題首當其沖。 1.2研究意義及目標 企業實施ERP系統,可以實現管理方式的重大變革,進一步體現現代企業流程科學化、管理精細化、信息集成化的管理思想。它往往意味著,公司將不再需要原有數量的人員來完成工作,但是他們必須飛躍性地在技術上更加嫻熟,了解更多的經營知識,必須搞清楚如何借助于新系統來完成手頭上的工作任務,必須 3 要知道他們對ERP所做的一舉一動會對企業中的其他部門產生什么影響,還必須去學習新型的分析方法及申報手段。總之,他們必須學會在一個完全不同的、更加復雜的環境中生存。任何改革都會面對來自雇員的抵抗,抵抗變化是人類的本性。這種抵抗可能是對新系統及其優勢的忽視,對失業或對新技術的懼怕(對自身被淘汰的懼怕)等等。如果這些擔心和焦慮不被合理地提前解決,肯定會給新系統的實施帶來災難。所以研究企業實施ERP對于人力資源的研究對于企業的生存及長遠發展意義重大。 企業資源計劃系統(ERP)以其巨大的潛在經濟效益在國內外得到廣泛的應用,人力資源管理系統功能的完善和發揮對ERP的成功起舉足輕重的作用。研究企業實施ERP對人力資源管理的影響,就是要通過了解這些影響,提前作出應對措施,來避免因實施ERP而導致企業業績下滑、組織機構渙散、發展狀況變差等不良狀況,從而幫助企業實現業績增加、組織機構緊密有序、更好更快地發展。 2、研究內容 2.1 實施ERP的風險識別 企業人力資源風險管理始于風險識別。ERP系統是面向整個企業的,它需要所有部門和使用者的支持,而不僅僅是高層管理人員的認同和支持。因此,使各個部門都能認同ERP是系統協調員所面臨的最困難的任務之一。ERP的實施需要許多人的通力合作——軟件經銷商、外部的顧問、內部的實施小組、終端操作人員以及公司的管理層。一個典型的實施小組的結構為:最頂端的是執行委員會(負責人是CIO或COO,或者是其他高層管理人員),而后依次是項目管理小組、技術支持小組和管理支持小組、工作組,最底端是普通員工。所以任何一個環節出現問題,ERP 的實施都會受到影響。所以針對人力資源管理來說,必須把整個ERP實施過程所涉及的所有人員都協調好,使之各司其職,ERP的成功實施才有保障。 2.2 人在ERP系統中居主導地位 2.2.1 ERP系統本質上是一個以人為主的動態開放系統 ERP系統是一個以人為主的人機系統,人在系統中發揮決策主導的作用。人是ERP系統的輸入端,是ERP系統要管理的重要資源,同時人又是其它企業資源 4 的運籌整合與使用者。ERP是一種處理邏輯、一種方法論、一種管理哲學,它為企業管理人員提供了一套科學有效的管理工具,只有人們真正地理解了ERP的思想和邏輯,只有最終用戶面對企業實際生產中的問題,加強相應的采購管理、庫存管理、財務管理、生產管理、人力資源管理、銷售管理等才能使ERP創造出明顯的效益,使企業更快地收回投入ERP系統的資金,產生更大的效益和更長遠的發展。ERP系統同時也是一個動態的系統,首先系統賴以運行的數據是動態的,作為系統重要組成部分的人一一管理人員和操作人員,也是動態的。管理人員和操作人員的創造性和規范性將決定系統的運行效果。再者ERP系統更是一個開放的系統,系統必須適應企業并促使企業適應外部環境,反過來外部環境是不斷變化的,企業要適應變化,作為企業資源計劃系統的ERP也必須變化,它不但不能成為束縛企業的因素,而且要能夠敏捷地使企業變化,促使企業更快更長遠地發展。因此ERP不但對軟件系統有較高要求,而且要求管理人員和操作人員要不斷進取,快速適應企業的不斷變革和新舊系統的切換,推動系統應用不斷向前發展,從而推動企業不斷發展。 2.2.2在ERP實施和應用過程中需要大量的人力資源管理工作 實施ERP必須和企業業務流程重組(BPR)結合起來,沒有BPR實施ERP只是換湯不換藥,只是將原有的手工系統換成了一個相對快速的計算機系統,遠遠達不到企業實施ERP的目的。在BPR過程中要對企業的整個業務流程進行全面的審視,根據公司戰略,重組業務流程,然后在此基礎上進行組織結構的調整、人力資源結構的調整,進而是崗位職責的劃分,最后是工作分析與績效考核。在這個過程中,需要耗費相當大的人力資源,而人力資源管理工作的成效將直接決定BPR與ERP的程度和效果,ERP系統的實施是一個管理項目而非僅僅是一個IT項目,員工適應新的工作流程和觀念的轉變都需要大量持久的教育和培訓,需要耗費大量的人力物力以及財力,因此人力資源的管理在ERP的成功實施過程中占有舉足輕重的作用。 2.2.3 ERP對人力資源管理提出了更高的要求 ERP項目是一個企業管理系統工程,努力提高企業全體員工的知識水平,充分調動和發揮人的主動性、積極性和創造性,積極營造人與企業一起成長、共同發展的良好環境是現代企業管理的新理論,也是企業生存與發展之本。應用ERP 5 要求企業加強以人為本的管理工作,建立相應的競爭機制、激勵機制和約束機制,把應用ERP與制定企業經營發展戰略和全體員工的業績考核有機地結合起來,促使員工能感受外部壓力,從而自覺地投入到ERP應用與心得工作機制中來。 人力資源管理的職能之一就是幫助業務人員提升解決問題的能力,高效、快速地對企業各個層次的員工進行管理。應用ERP要求企業通過各種形式,不同程度地使全體員工接受新思想、新方法和新機制、新系統的培訓教育,以使他們適應系統變化,促使系統應用深入和組織架構的調整。為適應ERP系統帶來的改變,企業必須在組織架構和部門職責上做出相應的調整,在改革中會涉及到部門職能的重新劃分、崗位職責的調整、業務流程的改變、權力利益的重新分配等復雜問題,如果企業不能妥當地處理這些問題,將會使企業的處于不穩定的狀態,這對于企業的張遠發展是極其不利的。由于使用計算機系統的人員層次結構有了很大的變化,原來是管理人員重復勞動,現在管理人員把主要精力放到更具創造性的工作上來,這樣就能為企業創造出更多的利潤,員工自身也能受益,達到員工與企業共同發展的雙贏局面。企業要進行新的工作分析,以此為根據調整人力資源目標,對企業員工制定相應的引進、提拔、培訓等計劃。 由于企業組織架構、業務流程和人力資源結構的調整,企業必須對業績考評體系進行相應的調整,以適應新的崗位職責和業務要求。能否順利地將原有的業績考評體系轉變到適應新系統的業績考評體系是對人力資源管理部門的一個考驗,也是企業實施ERP后人力資源管理成敗的關鍵所在。2.3人力資源模塊設計 目前ERP中的人力資源系統功能已經從單一的工資核算、人事管理發展到可以為企業的決策提供幫助的全方位解決方案。這些領域包括人力資源規劃、員工考核、勞動力安排、時間管理、招聘管理、員工薪資核算、培訓計劃和差旅管理等。并同ERP中的財務、生產等子系統一起組成高效的、具有高度集成性的企業資源管理系統。 2.3.1 組織管理。該模塊清晰的顯示組織機構圖,組織結構、職能、成立日期、工作范疇一目了然,便于管理。 2.3.2人事管理。該模塊記錄了公司所有員工的檔案,便于領導對員工進行統籌管理,只有最高領導有權使用本功能。領導可以從不同角度對員工進行分類 6 查看,用其所長,避其所短,充分發揮每一位員工的聰明才智。從而達到最佳的用人效果。 2.3.3 招聘管理。人才是企業最重要的資源,擁有優秀的人才才能保證企業獲得持久的競爭力。招聘系統一般從以下幾方面提供支持:一是通過信息取舍,優化招聘過程,減少業務工作量;二是通過信息比對,對招聘成本進行歸集、分析,從而降低招聘成本;三是為選擇聘用人才的崗位提供輔助信息。并有效地幫助企業進行人力資源的挖掘。 2.3.4 考勤管理。一則能通過權限分配由最終用戶進行考勤輸入,由關鍵用戶進行考勤校隊及工資核算:二則與時間管理壹接集成,方便查看及管理。同時,根據所在國或當地的日歷,靈活安排企業的運作時間以及員工的作息時間表。對員工加班、作業輪班、員工假期、以及員工作業頂替等作出一整套周密的編排。2.3.5 薪資核算。一則能根據公司跨地區、跨部門、跨工種的不同薪資結構及處理流程制定與之相適應的薪資核算方法:二則與時間管理壹接集成,能夠及時更新,對員工的薪資核算動態化;三則通過和其他塊的集成.自動根據要求調整薪資結構及數據,履行“回算功能”。當薪資核算過程結束之后.員工的有關上一薪核算期的主數據發生變化,在下一薪核算期內,回算功能會自動觸發,進行修正。工作管理。運用遠端考勤系統,可以將員工的實際出勤狀況記錄到主系統中。并把與員工薪資、獎金有關的數據導入薪資系統和成本核算中。 2.3.6培訓管理。從員工技術現狀到培訓計劃、實施、評審、完成形成一整套完整的管理體系。實現培訓管理程序化、科學化、數字化。根據擔任該職位員工的資格和條件,系統會提出針對本員工的一系列相應培訓設計方案,如遇機構改組或職位變遷,系統會及時提出對應的一系列的培訓變動。 2.3.7員工管理。 2.3.7.1制定職務模型。包括職位要求、升遷路徑和培訓計劃,根據擔任該職位員工的資格和條件,系統會提出針對本員工的一系列相應培訓設計方案,如遇機構改組或職位變遷,系統會及時提出對應的一系列的職位變動或升遷建議。 2.3.7.2 進行人員成本分析。可以對過去、現在、將來的人員成本做出細節性分析及總評性分析,在此基礎上。對相應的成本做出數據化升降趨勢預測。并 7 通過ERP集成環境,為企業成本分析提供依據。對于企業人員、組織結構編制的多種方案.進行模擬比較和運用分析,并輔之以圖形的直觀評估,輔助管理層做出最終決策。 2.3.7.3績效考核。為激發員工工作積極性、保留優秀的員工而建立的考核機制,為高效員工創建晉升機會,恰當的薪酬激勵可以讓員工個盡心盡力地工作,提高工作效率、不斷創新。.4 ERP成功實施的人力資源管理條件與對應措施 人力資源管理信息化是ERP實施后企業人力資源管理的主要方式,該過程以先進的電子信息技術為手段,以軟件系統為平臺實現低成本、高效率、全員共同參與管理過程。實現人力資源戰略地位的全面、開放的人力資源管理新模式。人力資源信息化作為知識經濟時代的產物。在以ERP技術為平臺基礎上,它的需要企業具備以下幾個條件: 2.4.1 企業有穩定的人力資源管理體系。企業需要有扎實穩定的管理體系,保證各項命令都能認真貫徹執行,只有這樣才能讓每位員工在企業里安心工作并因才使用。促進企業不斷成長。在這樣的前提下可以考慮更進一步的信息化。2.2 企業人力資源管理人員應具備相當的業務水準與操作技能。既要有人力資源開發與管理的專業知識和實務經驗,又同時具備ERP系統的操作技能,即復合型人才。人力資源信息化要求管理人員遵循一定的規范。如實做好對工作步驟和流程的記錄工作。 2.4.2全體員工的關注和支持。人力資源管理信息化不只是人力資源部門的事情.需要生產、研發、財務等部門的協助和配合。作為企業領導者.要以發展的眼光看到它能給企業未來壯大集聚的巨大效益,積極給于支持.加大資金投入.配備合適人員。對于企業其他員工。也要充分認識到信息化給自己帶來的實惠。通力配合人力資源部門信息化改革。人力資源管理軟件的導入及運用無疑給企業帶來了前所未有的便利與效率,但是管理畢竟是出自實踐的,如何將軟件和企業自身管理調度之特點尤其是自身人力資源管理結構及流程恰當結合起來。最大限度地發揮其功能,這才是解決問題的重心所在。 2.4.3 堅持人本管理,重視心理契約。“以人為本”的管理思想不僅僅是傳統管理所需的,既是企業實施人力資源管理信息化,這一思想仍要被重視.畢竟 8 再好的機器也要靠人去操作。管理軟件是“一把手”。人性管理也是“一把手”,一定要兩只手一起抓,只有這樣,才能使企業更快地適應信息化,提高人力資源管理的工作績效。心理契約是靠溝通、信旗、承諾、感情聯系來實現的,基于國際互聯網的在不確定環境下的柔性溝通將成為未來組織的發展方向,因此企業實施人力資源管理信息化是一項改革與挑戰。如果不能合理有效的與員工進行溝通,則有可能會破壞他們的心理契約,進而導致滿意率下降、忠誠度下降,影響企業的績效。 2.4.4 注重長期規劃。實現持續發展。很多企業在導人人力資源管理信息化后往往產生一勞永逸的思想。忽視后期規劃和發展。其實成功的人力資源管理信息化建設是需要長期給予關注和規劃的。只有審時度勢地不斷改進它的工作,才有可能將它對企業潛移默化的影響轉化成持續的經濟效益。ERP系統注重企業管理的全面性、系統性,重視企業與外界的關系,支持全球化經營等,同時ERP還能使企業以更低的成本為客戶提供更多的服務。成功地選擇和實施ERP可以優化企業的業務流程,改善數據信息系統,有效地提高企業的管理、工作及設備等效率,實現快速信息傳遞與共享,從而達到管理水平的全面提高,使企業活力及競爭力加強。 3、課程設計心得體會 人力資源管理在信息化、科技化的今天越來越要求快速高效的管理,開發適合企業需要的人力資源管理系統已是非常重要的工作。而ERP系統的實施注定要對企業的各個管理部門進行一次深入的變革,人力資源作為企業最最重要的資源之一,其管理理念當然也要隨之變化。 首先要對ERP實施下的人力資源風險進行分析,只有清楚地了解了風險,才能懂得如何更好地避免風險,從而為企業避免損失。 其次,企業要將傳統的人力資源管理模式信息化,企業實施ERP就是一個實現信息化管理的過程,因此人力資源管理也要隨之信息化,才能使整個ERP系統高度集成、高度信息化,實現更高效和快速的管理。 最后,要對原有的人力資源模塊進行改革和重新設計,設計出適應ERP系統實施的新模塊,為企業成功實施ERP奠定堅實的基礎。在ERP運行的過程中還要隨著ERP系統的改變而迅速作出響應,從而保證企業能夠快速適應市場變化,保 9 證企業更好地、長遠地發展。 在課程設計過程中我查閱了相關資料,對原有的ERP知識有了更加透徹的理解。同時對ERP實施下的人力資源管理業有了一定的認識。當然,可能我的許多認識和理解可能還不是很成熟甚至是錯誤的,希望老師能予以批評指正,幫助我更好地提高。 4、參考文獻 [1]賀軍.ERP-HR系統在人力資源信息化建設中的應用【J】.湖南電力,2007,27(1):11-14. [2]陳啟申.ERP—從企業內部集成起步(第二版)【M】.電子工業出版社2012 [3]池續航.對ERP實施現狀的思考【N】.中國計算機報,2000—10—05. [4]楊體仁,祁光華.勞動與人力資源管理總覽【M】.北京:中國人民大學出版社,1999. [5]李嚴鋒.對ERP中人力資源管理的思考【J】.云南財貿學院學報,2010(5). [6]黃燃東.ERP/MRPII環境下的人力資源管理【J】.企業管理,2001.(4):94. [7] [荷] 諾伯特·韋爾伯.成功的ERP項目實施[M].北京:機械工業出版社,2003.第五篇:ERP課設報告