




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
高級語言程序設(shè)計訓(xùn)題 目: 員工信息管理程序 院系專業(yè): 計算機(jī)工程系 姓 名: 朱建國 學(xué) 號: 201100403025 2011年01月05 日1、 需求分析員工檔案是企業(yè)勞動,人事部門在招用、調(diào)配、培訓(xùn)、考核、獎懲和任用等工作中形成的有關(guān)職工個人經(jīng)歷、政治思想、業(yè)務(wù)技術(shù)水平、工作表現(xiàn)以及工作變動等情況的文件材料。1、 基本要求:(1) 程序菜單功能或詳細(xì)的提示功能;(2) 員工信息的輸入(包括員工號、姓名、年齡、職位、工資)功能;(3) 員工信息的瀏覽功能;(4) 員工信息的添加功能;(5) 員工信息的刪除功能;(6) 員工信息的排序功能;(7) 員工信息的查詢功能;2、 其他要求:(1) 結(jié)構(gòu)體數(shù)組實現(xiàn),用指針訪問結(jié)構(gòu)體成員;(2) 自行設(shè)計的程序不少于100行,總體程序不少于200行;(3) 輸出數(shù)據(jù)要求格式美觀;(4) 程序要有詳細(xì)的注釋,并畫出程序流程圖及必要的文字說明書文檔,程序內(nèi)容和文檔 內(nèi)容要體現(xiàn)個性化設(shè)計思想;(5) 嚴(yán)禁雷同,任務(wù)書除外全部手寫;二、程序總體設(shè)計:1、程序主要包括三大模塊:輸入輸出模塊、管理模塊和文件操作模塊。如下圖:輸入輸出終端 輸入輸出模塊 管理模塊 文件操作模塊 存儲文件 2、界面設(shè)計:程序中visual C+的編譯環(huán)境中進(jìn)行,界面將通過屏幕的輸出顯示功能選項。通過鍵盤輸入完成相應(yīng)操作。程序主界面是一個文本方式的菜單,通過鍵盤相應(yīng)選擇操作指令。 3、數(shù)據(jù)結(jié)構(gòu)設(shè)計:員工檔案中的記錄項由多個不同的數(shù)據(jù)項構(gòu)成,是一個結(jié)構(gòu)體數(shù)據(jù),因此需要定義結(jié)構(gòu)體數(shù)據(jù)類型。根據(jù)要求,數(shù)據(jù)項為:員工號、姓名、性別、年齡、職位、工資。據(jù)此定義如下結(jié)構(gòu)體數(shù)據(jù)類型:struct workerint num;/* 員工號*/char name10;/* 姓名*/char sex10;/* 性別*/int age;/* 年齡*/char position10;/*職位*/int pay;/*工資*/workN; 4、程序函數(shù)設(shè)計main ();/*主函數(shù)*/void menu_handle();/*函數(shù)處理菜單*/int menu_choose();/*函數(shù)選擇菜單*/void input_worker();/*創(chuàng)建文件并對工人信息輸入函數(shù)*/void save_file(int n);/*文件保存*/int load();/*提取員工數(shù)*/void message_output();/*員工信息瀏覽函數(shù)*/void add_worker();/*員工添加函數(shù)*/void dele_worker();/*員工信息刪除函數(shù)*/void fine();/*員工信息查詢函數(shù)*/void fine_num();/*員工號查詢函數(shù)*/void fine_name();/*按姓名查詢函數(shù)*/void sort_age();/*按年齡排序函數(shù)*/void sort_pay();/*按工資排序函數(shù)*/void sort();/*排序函數(shù)處理*/void change(struct worker *p,int n);/*交換元素*/3、 程序流程圖1、員工信息輸入功能 3、添加員工信息開始 開始新建文件 清屏打開文件 以追加方式打開數(shù)據(jù)文件提示輸入提示輸入輸入 輸入寫入文件寫入文件關(guān)閉文件關(guān)閉并返回結(jié)束并返回2、員工信息瀏覽功能開始打開數(shù)據(jù)文件讀文件關(guān)閉文件結(jié)束并返回 結(jié)束4、 員工信息刪除開始顯示該記錄清屏刪除與否 否提示輸入姓名 是輸入將數(shù)組后移 調(diào)用瀏覽函數(shù) 調(diào)用文件保存函數(shù)數(shù)據(jù)讀到數(shù)組中 對比查找 返回5、員工信息查詢6、 員工信息排序結(jié)束并返回開始 開始清屏清屏 提示提示輸入 按什么排序輸入 選擇數(shù)據(jù)與數(shù)組比較 調(diào)用瀏覽函數(shù)讀該數(shù)組 冒泡排序結(jié)束并返回輸出 四、實訓(xùn)計劃第一天:設(shè)計程序設(shè)計書;第二天:實現(xiàn)函數(shù)菜單功能;第三天:實現(xiàn)員工信息輸入(保存在文件中)與瀏覽功能;第四天:實現(xiàn)員工信息的添加及刪除功能;第五天:實現(xiàn)員工信息的查詢功能;第六天:實現(xiàn)員工信息的排序功能;第七天:對源程序進(jìn)行改進(jìn)與美化;五、詳細(xì)設(shè)計設(shè)計總圖如下:1、:建立頭文件:頭文件包含各種調(diào)用函數(shù),如圖2、建立主函數(shù)文件:里面的是主函數(shù)并調(diào)用菜單函數(shù)3、建立菜單函數(shù)文件:調(diào)用各種功能函數(shù):員工信息的輸入輸出、添加刪除、查詢排序4、建立子函數(shù)文件:包括各種功能函數(shù):員工信息的輸入輸出、添加刪除、查詢排序六、實訓(xùn)過程在菜單功能的源程序編寫過程沒有遇到什么困難,但在界面的設(shè)計上,花費了許多時間尋找適合的符號和設(shè)計,以下是程序菜單選擇界面: 菜單功能完成之后,就開始各種功能函數(shù)的編寫,輸入函數(shù)一開始沒有想到調(diào)用一個保存文件的函數(shù),后來在資料上看到這樣這個方法,但當(dāng)時已經(jīng)編好了,就沒有修改。但這次功能我也學(xué)會了這樣一個方法。下次可以應(yīng)用到程序中。這個功能的實現(xiàn)也沒有遇到困難之后我便一口氣把員工信息的瀏覽功能做好了。 然而在做員工信息添加功能時,開始遇到困難了,當(dāng)時我的fwrite()語句為fwrite(work,sizeof(struct worker),1,fp);使得加進(jìn)去的信息讀出來的是一堆亂碼,結(jié)果我不知道錯誤在哪里,一直以為是輸入函數(shù)那邊出錯或者瀏覽函數(shù)那邊錯誤,這么改都改不得,花了很多時間,最后才發(fā)現(xiàn)是這里錯誤,才改成fwrite(p,sizeof(struct worker),1,fp); 實現(xiàn)了添加功能之后,就開始做員工信息的刪除功能,這個功能的實現(xiàn)花了我更多的時間。首先,我當(dāng)時把結(jié)構(gòu)體數(shù)組放在頭文件的文件中并初始化一個數(shù)組,使得調(diào)用這個文件時出現(xiàn)一個重復(fù)定義的錯誤,解決完這個錯誤之后,開始調(diào)試,沒發(fā)現(xiàn)別的錯誤,但在運行的時候,前面的幾個人的信息都無法刪除,只能刪除最后一個人的信息,這個錯誤讓我苦惱了很久設(shè)置斷點調(diào)試的時候,輸入功能的work0、work1都沒問題,然而添加功能的work0、work1卻發(fā)生了變化!刪除功能那邊的work0是居然是儲存最后一名員工的信息,而在瀏覽員工信息之后的work0、work1卻是我想得到的,于是我便在刪除函數(shù)功能那里調(diào)用了瀏覽函數(shù),終于解決了這個困難。這個困難花了我好幾天 解決完那個問題之后,我的編程開始一馬平川,之后的功能實現(xiàn)也沒有遇到很大的困難提前了兩天完成這個任務(wù)。七、程序的調(diào)試與測試程序調(diào)試時在錄入員工信息設(shè)斷點如下:用于調(diào)試數(shù)組當(dāng)前儲存的數(shù)據(jù) 在瀏覽信息函數(shù)里設(shè)的斷點如下:用于調(diào)試數(shù)組當(dāng)前儲存的數(shù)據(jù) 在刪除信息函數(shù)里設(shè)如下斷點:用于調(diào)試數(shù)組當(dāng)前儲存的數(shù)據(jù)用于調(diào)試數(shù)組當(dāng)前儲存的數(shù)據(jù)存的數(shù)據(jù)用于調(diào)試數(shù)組當(dāng)前儲存的數(shù)據(jù)用于調(diào)試數(shù)組當(dāng)前儲存的數(shù)據(jù)調(diào)試結(jié)果:發(fā)現(xiàn)這幾個數(shù)組儲存的數(shù)據(jù)不一樣,原本以為只要把數(shù)組定義在頭文件數(shù)組內(nèi)容就不會改變,結(jié)果發(fā)現(xiàn)這個想法是錯誤的。這給我的C語言上了一課!七、程序的運行1、程序的歡迎界面2、 按1進(jìn)入員工信息輸入,并輸入員工數(shù)為2,姓名為張三、李四,如下圖:3,、錄入員工信息后,按回車,退出員工信息的錄入功能,按2瀏覽員工信息,操作如下圖:3、 瀏覽無誤之后,按3進(jìn)行下一個功能,員工信息的添加,并添加3名員工,如圖:4、 添加完成后,按2進(jìn)行瀏覽員工信息,如圖:5、 瀏覽無誤之后,按4進(jìn)行員工信息的刪除,以下以刪除朱總為例:按1刪除后,程序瀏覽刪除后的信息并提示是否繼續(xù)刪除或者返回6、 按2退出刪除功能,并按5進(jìn)行員工信息的查詢功能,如圖:(1) 程序?qū)⑻崾景词裁捶绞讲樵儯韵乱园葱彰樵優(yōu)槔海?)輸入要查詢的姓名為朱總,顯示如下圖:(2) 按1選擇重新輸入,以張三為例:7、 按3退出,并選擇6進(jìn)行排序:(1)提示按什么方式排序:(2)按2,以按工資排序為例,提示按從小到大或者從大到小排序:(3)按1,以從大到小排序:8、 按3退出,功能演示完畢,按2瀏覽員工信息是否改變,如下圖:9、 演示完畢按7退出程序:八、結(jié)論分析問題問題的解決不能想著一步登天,當(dāng)時一拿到這個任務(wù)的時候,就開始醞釀著用什么是用數(shù)組還是用鏈表去做這個任務(wù),由于對鏈表的認(rèn)識不夠深刻,就選擇了數(shù)組。因為員工信息包含多種不同的信息,就著手于結(jié)構(gòu)體,之后開始以菜單為一條線索,隨著這條線索,一步一步的把各種功能調(diào)用到菜單中,這樣才能有清晰的思路去編程。算法分析算法是各個功能函數(shù)實現(xiàn)的核心與前提,首先算法是結(jié)合數(shù)組來思考的,比如在做刪除函數(shù)的時候,首先要想到如何把你輸入的要刪除的信息與數(shù)組中儲存的信息做一個比較,只有這樣才能找得到你想要刪除的內(nèi)容。因此就不由自主的想到用strcmp()這個函數(shù),這樣不僅節(jié)約了許多不必要的程序代碼,還能使自己的思維方式更寬。找到更合適自己的算法去解決問題九、心得與體會經(jīng)過了兩個星期的實訓(xùn)培訓(xùn),雖然這期間很苦很累,在這段時間里,可以說我花了幾天幾夜去編了吧,從早上9點到凌晨12點半,每次厚著臉皮去找學(xué)長借電腦使用,我都會有些不好意思然而,這說明了我已經(jīng)陷入了編寫程序的樂趣當(dāng)中,雖然每次遇到困難,我都會去研究許久。甚至想到放棄(我第一次的程序啊,有時候看到別人都已經(jīng)做出來了我自己卻沒能完成,是不是太執(zhí)著了呢?其實我也好想借鑒一下別人的方法啊,可是這樣能提高嗎?哎好累,花了那么多精力去編了,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑行業(yè)職業(yè)資格認(rèn)證試題及答案
- 行政管理中的法律制度與社會實踐試題及答案
- 農(nóng)田承包續(xù)租合同范例
- 行政管理中的公文寫作評價試題及答案
- 供暖公司勞務(wù)派遣合同范例
- 2025行政管理學(xué)重點突破試題及答案
- 行政管理學(xué)的基本原理試題及答案
- 行政管理心理學(xué)創(chuàng)新與發(fā)展趨勢分析試題及答案
- 備戰(zhàn)2025年市政學(xué)考試試題及答案的方法
- 行政管理專業(yè)復(fù)習(xí)必考試題及答案
- OTN在地鐵行業(yè)中的應(yīng)用
- 大學(xué)體育與健康智慧樹知到期末考試答案章節(jié)答案2024年齊魯師范學(xué)院
- 2023-2024學(xué)年浙江省紹興市上虞市重點中學(xué)小升初數(shù)學(xué)入學(xué)考試卷含解析
- 小區(qū)消防移交物業(yè)協(xié)議書
- 【一例豬流行性腹瀉的診斷與治療實例探析4500字(論文)】
- 2024年正式離婚協(xié)議電子版(三篇)
- 中餐餐中服務(wù)服務(wù)流程培訓(xùn)
- 外賣行業(yè)交通安全培訓(xùn)
- 2024春期國開電大本科《現(xiàn)代漢語專題》在線形考(任務(wù)1至6)試題及答案
- 九三學(xué)社申請入社人員簡歷表
- 南京曉莊學(xué)院輔導(dǎo)員考試試題2024
評論
0/150
提交評論