C語言課程設(shè)計工資管理系統(tǒng).doc
《C語言課程設(shè)計工資管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《C語言課程設(shè)計工資管理系統(tǒng).doc(58頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、東北大學(xué)信息科學(xué)與工程學(xué)院程序?qū)嵺`報告題目 工資管理系統(tǒng)課題組長 劉誠陽課題組成員 張鵬舉 于文鑫專業(yè)名稱 計算機科學(xué)與技術(shù)班 級 計算機1405指導(dǎo)教師 張曉紅2015 年 4月目錄1.課題概述- 3 -1.1課題任務(wù):工資管理系統(tǒng)- 3 -1.2課題原理- 3 -1.3 課題實踐目的- 3 -1.4 相關(guān)知識- 4 -2.需求分析- 4 -2.1課題調(diào)研- 4 -2.2用戶需求分析- 5 -3.方案設(shè)計- 5 -3.1總體功能設(shè)計- 5 -3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計- 6 -3.3函數(shù)原型設(shè)計- 7 -3.4主算法設(shè)計- 12 -3.5用戶界面設(shè)計- 13 -3.6程序特色設(shè)計- 13 -4.方案
2、實踐- 14 -4.1開發(fā)環(huán)境與工具- 14 -4.2程序設(shè)計關(guān)鍵技術(shù)- 14 -4.3個人設(shè)計實現(xiàn)- 14 -4.3.1劉誠陽設(shè)計實現(xiàn)- 14 -4.3.2張鵬舉設(shè)計實現(xiàn)- 22 -4.3.3于文鑫設(shè)計實現(xiàn)255.測試與調(diào)試275.1個人測試275.1.1劉誠陽測試275.1.2張鵬舉測試375.1.3于文鑫測試425.2組裝與系統(tǒng)測試465.3系統(tǒng)運行496. 課題總結(jié)506.1課題評價506.2團隊協(xié)作506.3個人設(shè)計小結(jié)516.3.1劉誠陽設(shè)計小結(jié)516.3.2張鵬舉設(shè)計小結(jié)526.3.3于文鑫設(shè)計小結(jié)526.4參考資料537.附錄A和附錄B54附錄A 課題任務(wù)分工54A-1 課題程
3、序設(shè)計分工54A-2 課題報告分工55附錄B 課題設(shè)計文檔561.課題概述1.1課題任務(wù):工資管理系統(tǒng)1) 以結(jié)構(gòu)體/共用體設(shè)計數(shù)據(jù)的結(jié)構(gòu),采用動態(tài)鏈表、文件存儲方式,結(jié)構(gòu)化、模塊化程序設(shè)計方法,設(shè)計一個功能完善的系統(tǒng) ,要有功能菜單。2) 本系統(tǒng)應(yīng)具有數(shù)據(jù)維護(hù)(包括數(shù)據(jù)錄入、添加、修改、刪除),數(shù)據(jù)查詢(可按 編號、姓名、基本工資、崗位工資、績效工資 、房改補助、獎勵、應(yīng)發(fā)工資、公積金、扣稅、實發(fā)工資等進(jìn)行查詢,也可進(jìn)行組合查詢),排序,統(tǒng)計,輸出,系統(tǒng)維護(hù)(包括數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、口令維護(hù)),幫助,退出等功能。3) 本系統(tǒng)要有通用性、界面美觀、操作方便。要考慮系統(tǒng)安全。4) 可增加其他有用
4、的功能。1.2課題原理1) 利用結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu),采用動態(tài)鏈表,實現(xiàn)對數(shù)據(jù)的即時增刪。2) 使用文件存儲方式,對數(shù)據(jù)進(jìn)行有效的存取。3) 采用結(jié)構(gòu)化、模塊化的設(shè)計方式,每個.C文件僅包含一個或一類函數(shù),實現(xiàn)模塊化的設(shè)計開發(fā)模式。4) 使用C語言的順序、選擇、循環(huán)三種基本語句,實現(xiàn)函數(shù)所需功能。5) 運用函數(shù)定義、聲明和調(diào)用等基本知識,實現(xiàn)數(shù)值、地址的傳遞,進(jìn)行數(shù)據(jù)計算。6) 運用C語言獨特的指針功能,對數(shù)據(jù)地址進(jìn)行處理,實現(xiàn)相應(yīng)操作。1.3 課題實踐目的1) 通過程序?qū)嵺`,強化計算機應(yīng)用技能,驗證、鞏固和充實所學(xué)的理論知識,加深對相關(guān)內(nèi)容的理解,拓寬知識面,培養(yǎng)創(chuàng)新精神和實踐能力。 2) 進(jìn)一
5、步掌握C的數(shù)據(jù)類型、基本結(jié)構(gòu)、結(jié)構(gòu)體、文件、鏈表、結(jié)構(gòu)化、模塊化設(shè)計等知識點。3) 進(jìn)一步熟悉基本流程控制結(jié)構(gòu)實現(xiàn)分支的ifelse語句、switch語句和實現(xiàn)循環(huán)的for、while、dowhile語句、break、continue等。4) 掌握C語言程序設(shè)計的基本思想,了解簡單的系統(tǒng)分析和了解數(shù)據(jù)庫系統(tǒng)的理論。5) 掌握數(shù)據(jù)庫設(shè)計的基本方法,熟悉數(shù)據(jù)庫設(shè)計的步驟。6) 進(jìn)一步鞏固、加深所學(xué)專業(yè)課程C語言程序設(shè)計的基本理論知識,理論聯(lián)系實際,進(jìn)一步培養(yǎng)綜合分析問題,解決問題的能力。7) 利用所學(xué)知識,開發(fā)小型應(yīng)用系統(tǒng),掌握運用C語言編寫調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨立開發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜
6、合能力。1.4 相關(guān)知識1) C語言的數(shù)據(jù)類型、基本結(jié)構(gòu)知識。2) 基本流程控制結(jié)構(gòu)實現(xiàn)分支的ifelse語句、switch語句和實現(xiàn)循環(huán)的for、while、dowhile語句、break、continue等。3) 數(shù)據(jù)結(jié)構(gòu)的設(shè)計。4) 系統(tǒng)分析和數(shù)據(jù)庫系統(tǒng)的理論及設(shè)計知識。5) 結(jié)構(gòu)體的建立和基本操作。6) 動態(tài)鏈表的建立與基本操作。7) 文件操作對數(shù)據(jù)進(jìn)行輸入和輸出8) 多文件的項目管理應(yīng)用。9) 開發(fā)程序所用的結(jié)構(gòu)化、模塊化設(shè)計等知識點。2.需求分析2.1課題調(diào)研隨著企業(yè)的快速發(fā)展,企業(yè)規(guī)模越來越大,員工的數(shù)量也越來越多,企業(yè)工資管理更加的復(fù)雜。工資管理是一項瑣碎、復(fù)雜而又十分細(xì)致的工
7、作,工資計算、發(fā)放、核算的工作量很大,一般不允許出錯,如果實行手工操作,每月發(fā)放工資須手工填制大量的表格,這就會耗費工作人員大量的時間和精力。通過計算機進(jìn)行工資發(fā)放工作,不僅能夠保證工資核算準(zhǔn)確無誤、快速輸出,而且還可以利用計算機對有關(guān)工資的各種信息進(jìn)行統(tǒng)計,服務(wù)于財務(wù)部門其他方面的核算和財務(wù)處理。同時計算機具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事工資管理的效率,也是企業(yè)科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。這就對企業(yè)工資管理提出了新的要求,用計算機管理系統(tǒng)來管理工資已經(jīng)成為目前的趨勢,使用計算機可
8、以高速,快捷地完成以上工作。工資管理系統(tǒng)便是以計算機為工具,通過對工資管理所需的信息管理,不僅把管理人員從繁瑣的數(shù)據(jù)計算處理中解脫出來,而且優(yōu)化了管理體系,使其高效化,簡易化,智能化,也提高了透明度和互動性。專門的管理人員可以輕松地通過工資管理系統(tǒng)對員工的工資進(jìn)行錄入,查看與修改;而且公司高層也可以通過管理員身份了解公司的薪資情況,從而作出一些列財務(wù)方面的重要決策;普通員工也可以通過自己的用戶名和密碼登陸工資管理系統(tǒng),對自己每個月的工資情況進(jìn)行查詢,一目了然,方便快捷。因此,工資管理系統(tǒng)是各個企業(yè)部門必不可少的工具,具有很好市場前景與用戶需求。2.2用戶需求分析1) 功能需求:登陸功能,顯示主
9、菜單功能,職工信息輸入、輸出、修改、刪除功能,職工工資查詢、排序、統(tǒng)計功能,系統(tǒng)備份、還原功能,數(shù)據(jù)初始化功能,幫助,退出等。2) 性能需求:此工資管理系統(tǒng)對工資數(shù)據(jù)精度的錄入、計算、統(tǒng)計和儲存能精確到小數(shù)點后一位小數(shù)。當(dāng)用戶向服務(wù)器發(fā)出命令請求(對數(shù)據(jù)更新處理、工資數(shù)據(jù)的查詢檢索)時,要求系統(tǒng)響應(yīng)時間不會超過1秒。3) 安全需求:為保障系統(tǒng)數(shù)據(jù)的安全性,系統(tǒng)采用用戶密碼登陸機制,未授權(quán)者不能進(jìn)入系統(tǒng)。而且登錄人員分為管理員和員工,安全性能通過安全口令得以保證。由于軟件運行數(shù)據(jù)放在數(shù)據(jù)庫中,所以參數(shù)不容易被錯改、破壞,萬一參數(shù)受到破壞也不會影響源程序。4) 其他需求:系統(tǒng)提供了完善的數(shù)據(jù)備份與
10、恢復(fù)功能,不會出現(xiàn)系統(tǒng)崩潰,因此具有較強健壯性。該系統(tǒng)是在Windows7操作系統(tǒng)下運行,運行可行性是很高的。5) 約束條件:硬件環(huán)境:處理器(CPU)Pentium 以上;內(nèi)存容量(RAM)256M或更高。軟件環(huán)境:Windows7/8/XP/Vista/2000/98操作系統(tǒng)。3.方案設(shè)計3.1總體功能設(shè)計該職工工資管理系統(tǒng)總共分為四大功能和輔助功。 四大功能:1.工資查詢功能:工資排序、查找、統(tǒng)計2數(shù)據(jù)處理功能:工資添加、修改、刪除、輸出到文本文件3.系統(tǒng)維護(hù)功能:數(shù)據(jù)備份、恢復(fù)、清空,修改參數(shù),修改口令4.員工編號登記功能. 輔助功能:1.幫助 2.重選年月 3.切換用戶 4.安全退出
11、職工工資管理系統(tǒng)雙入口登陸功能年月選擇功能職工工資信息輸入職工工資信息輸出職工工資信息添加計算職工工資信息修改職工工資信息刪除生成職工工資文本工資信息排序工資信息查詢工資計算工資信息統(tǒng)計數(shù)據(jù)恢復(fù)數(shù)據(jù)備份修改參數(shù)數(shù)據(jù)清空修改口令幫助重選年月退出3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計分別定義了兩個結(jié)構(gòu)體,一個對員工工資信息進(jìn)行儲存,另外一個對員工編號進(jìn)行登記(只有經(jīng)過管理員登記過的員工才能登陸該系統(tǒng))。并使用動態(tài)鏈表的方式對數(shù)據(jù)進(jìn)行儲存和查找,員工的各類信息會被以二進(jìn)制的形式寫入文件內(nèi)進(jìn)行保存,系統(tǒng)從文件中以二進(jìn)制形式讀入數(shù)據(jù)。結(jié)構(gòu)體如下:struct personchar num20; /編號char name20
12、; /姓名char sex10;/性別int age;/年齡float postsalary;/崗位工資float basepay; /基本工資float meritpay;/績效工資float subsidy;/住房補貼float bonus;/獎金float gotpaid;/應(yīng)發(fā)工資float insurance;/社會保險公積金float tax;/稅金float realpaid; /實發(fā)工資struct person *next;struct staffchar num20;/員工登記編號struct staff *latter;3.3函數(shù)原型設(shè)計AA.1 鏈表的建立,數(shù)據(jù)輸入、輸
13、出、顯示、添加、修改、刪除函數(shù)1) struct person *Creat(int n)建立員工工資信息的鏈表,先通過傳遞的形式參數(shù)n來判斷需要建立多少組數(shù)據(jù),再通過鍵盤輸入生成相應(yīng)數(shù)量的動態(tài)鏈表數(shù)據(jù)2) struct staff *Creat_num(int n)建立員工登記編號的鏈表3) int Creat_number(void)向*Creat函數(shù)傳遞數(shù)值的函數(shù),即需要錄入幾組數(shù)據(jù)4) struct person *Input(void)讀取員工工資信息的函數(shù),從文件中讀取信息并以動態(tài)鏈表方式保存到結(jié)構(gòu)體中5) struct staff *Input_num(void)讀取員工登記編號
14、的函數(shù)6) void Output(struct person *head)輸出員工工資數(shù)據(jù)到文件7) void Output_num(struct staff *head)輸出員工編號到文件8) void Output_txt()生成員工信息的文本文件9) void Print(void)將鏈表中員工的工資信息輸出到屏幕上10) void Print_num(void)將鏈表中員工的登記編號輸出到屏幕上11) int Insert(struct person *head)員工數(shù)據(jù)添加函數(shù),使用方式:Insert(Creat(Creat_number(),先確定添加數(shù)據(jù)的組數(shù),然后通過動態(tài)鏈表
15、添加數(shù)據(jù)到結(jié)構(gòu)體,最后通過該函數(shù)將數(shù)據(jù)加到文件尾部,實現(xiàn)數(shù)據(jù)添加。12) int Insert_num(struct staff *head)員工編號添加函數(shù),使用方式同上,用于管理員向系統(tǒng)中登記員工編號,只有登記過的員工才可以登陸該系統(tǒng)13) int Modify()修改員工信息函數(shù)14) int Delete()刪除員工工資信息的函數(shù)15) int Delete_num()刪除員工登記編號的函數(shù)A.2 數(shù)據(jù)備份、清空、恢復(fù)1) struct person *Empty(void)清空該年月份所有員工工資信息數(shù)據(jù)的函數(shù)2) void Output_b(struct person *head)
16、員工工資信息備份,輸出信息到自定名稱的文件3) struct person *Input_b(void)系統(tǒng)還原函數(shù),將備份文件中的信息拷貝到以當(dāng)前年月命名的文件中,從而還原上一次備份的數(shù)據(jù)A.3 統(tǒng)計函數(shù)1) void Statistics()員工工資統(tǒng)計函數(shù),統(tǒng)計數(shù)據(jù)中所有員工工資的最小值和最大值,并計算平均數(shù),輸出到屏幕A.4 輔助函數(shù)1) int main()主函數(shù)2) int Exit()退出函數(shù),顯示感謝使用該系統(tǒng),并正確結(jié)束運行3) void Choose_month()管理員登陸時用來選擇年月份的函數(shù),系統(tǒng)中員工各個年月份的工資分別保存在以該年月命名的不同文件下,以該函數(shù)判斷系
17、統(tǒng)需要打開哪個文件。4) void Choose_month_num()員工登陸時用來選擇年月份的函數(shù),功能同上,是兩個不同的登陸口5) float post(int a)崗位工資獲取函數(shù),崗位級別作為參數(shù)傳遞到該函數(shù),該函數(shù)返回對應(yīng)的崗位工資金額6) void Return()返回主菜單的函數(shù)A.5 各類菜單函數(shù)1) void Defined()修改參數(shù)菜單2) void Help()幫助菜單,提供幫助信息、設(shè)計人員信息和版本信息3) void Menu()管理員的主菜單,內(nèi)含工資查詢,數(shù)據(jù)處理,系統(tǒng)維護(hù),編號登記,幫助,重選年月,切換用戶,退出等功能選項4) void Menu_num()
18、員工的主菜單5) void Menu2()工資查詢菜單,內(nèi)含員工工資查找,工資排序,工資統(tǒng)計等功能選項6) void Menu3()員工工資數(shù)據(jù)處理菜單,內(nèi)含數(shù)據(jù)添加,修改,刪除,輸出等功能選項7) void Menu4()系統(tǒng)維護(hù)菜單,內(nèi)含數(shù)據(jù)備份,清空,恢復(fù),修改參數(shù)、口令等功能選項8) void menu_print_out(void)輸出數(shù)據(jù)時顯示在最上面的表頭9) void Menu_Register()修改在冊員工編號的分菜單10) void Inquire()員工工資查找分菜單11) void Sort()排序菜單,內(nèi)含從小到大、從大到小排序的功能選項12) int Sort_m
19、enu_down_up()排序分菜單從小到大,內(nèi)含各類排序種類13) int Sort_menu_up_down()排序分菜單從大到小,內(nèi)含各類排序種類BB.1 登陸判斷函數(shù)1) void password()用戶登錄函數(shù),通過輸入的用戶名檢測該用戶是管理員或者員工還是未登記用戶,從而進(jìn)行不同的登錄方式B.2 修改參數(shù)、密碼類函數(shù)1) int ChangePassword()密碼修改函數(shù),用于修改管理員密碼2) int ChangePassword_num()密碼修改函數(shù),用于修改員工密碼3) float ChangePostsalary()用于修改初始參數(shù)中的崗位工資參數(shù),將1-5個崗位級別
20、分別對應(yīng)不同的崗位工資4) float Subsidy_in()從文件中讀取住房補貼參數(shù)5) float ChangeSubsidy()用于修改初始參數(shù)中的住房補貼參數(shù),得到一個固定的住房補貼金額,數(shù)據(jù)保存到文件B.3 計算稅金的函數(shù)1) float Tax(float a)計算稅金的函數(shù),將工資做參數(shù)傳遞進(jìn)去,返回應(yīng)繳稅金金額CC.1查詢類函數(shù)1) int Inquire_age()查詢員工信息函數(shù),以年齡查詢2) int Inquire_basepay()查詢員工信息函數(shù),以基本工資查詢3) int Inquire_bonus()查詢員工信息函數(shù),以獎金查詢4) int Inquire_g
21、otpaid()查詢員工信息函數(shù),以應(yīng)得工資查詢5) int Inquire_meritpay()查詢員工信息函數(shù),以績效工資查詢6) int Inquire_name()查詢員工信息函數(shù),以姓名查詢7) int Inquire_num()查詢員工信息函數(shù),以編號查詢8) int Inquire_postsalary()查詢員工信息函數(shù),以崗位工資查詢9) int Inquire_realpaid()查詢員工信息函數(shù),以實發(fā)工資查詢10) int Inquire_tax()查詢員工信息函數(shù),以稅金查詢11) void Inquire_undefined(void)查詢員工信息函數(shù),編號、姓名、
22、性別組合查詢C.2 排序類函數(shù)1) int Neaten()數(shù)據(jù)整理,將員工信息按編號從小到大排列2) int Neaten_num()數(shù)據(jù)整理,將登記的員工編號從小到大排列3) int Sort_down_up_num()編號排序,升序4) int Sort_down_up_age()年齡排序,升序5) int Sort_down_up_basepay()基本工資排序,升序6) int Sort_down_up_bonus()獎金排序,升序7) int Sort_down_up_gotpaid()應(yīng)得工資排序,升序8) int Sort_down_up_meritpay()績效工資排序,升序
23、9) int Sort_down_up_postsalary()崗位工資排序,升序10) int Sort_down_up_realpaid()實發(fā)工資排序,升序11) int Sort_down_up_tax()稅金排序,升序12) int Sort_up_down_age()年齡排序,降序13) int Sort_up_down_basepay()基本工資排序,降序14) int Sort_up_down_bonus()獎金排序,降序15) int Sort_up_down_gotpaid()應(yīng)得工資排序,降序16) int Sort_up_down_meritpay()績效工資排序,降序
24、17) int Sort_up_down_num()編號排序,降序18) int Sort_up_down_postsalary()崗位工資排序,降序19) int Sort_up_down_realpaid()實發(fā)工資排序,降序20) int Sort_up_down_tax()稅金排序,降序3.4主算法設(shè)計用戶登錄1開始年月選擇5432修改密碼員工界面結(jié)束幫助管理員界面1234567輸出工資信息1234工資排序工資查找工資統(tǒng)計12348工資添加工資整理工資修改56工資刪除生成文本1234數(shù)據(jù)備份數(shù)據(jù)恢復(fù)數(shù)據(jù)清空56修改參數(shù)修改口令1234編號添加編號整理編號刪除3.5用戶界面設(shè)計1) 兩個
25、操作界面。根據(jù)登陸人員不同,分為管理員的操作界面和員工的查詢界面,使界面顯示項更加專門化和清晰化。2) 采用選擇式的功能菜單。屏幕上顯示功能菜單的功能項,根據(jù)菜單上提供的數(shù)字按相應(yīng)的鍵去執(zhí)行相應(yīng)的子程序,執(zhí)行后返回功能菜單。3) 用戶界面采取相同的樣式進(jìn)行設(shè)計,主界面上會顯示當(dāng)前操作的是哪個年月的員工工資,菜單的選擇功能利用switch函數(shù)實現(xiàn)。4) 通過printf函數(shù)輸出各種裝飾符號,Windows自帶函數(shù)調(diào)節(jié)背景色和字體顏色,以達(dá)到優(yōu)化操作界面的目的。3.6程序特色設(shè)計1) 多入口登陸。分成管理員登陸和員工登陸兩個入口:管理員登陸之后可以查看全體員工的工資信息,并對其進(jìn)行增添刪改、排序、
26、備份清空、輸出打印等處理;員工登陸之后只能看到自己的個人信息和工資情況。極大地保證了管理層和員工層不同的需求,以及個人信息的安全性。2) 以文件形式輸入和輸出。程序中所有的數(shù)據(jù)在每次變動后都會通過輸出函數(shù)以二進(jìn)制形式輸出到文件內(nèi),而且每次調(diào)用數(shù)據(jù)時都是從文件中輸入,從而保證了系統(tǒng)數(shù)據(jù)的可靠性,不易丟失性。3) 自動計算功能。輸入員工工資信息時不用輸入全部信息,例如,輸入員工的崗位級別,即可獲得員工在該崗位應(yīng)得的工資數(shù),員工的應(yīng)得工資、實發(fā)工資以及應(yīng)該繳納的社會保險、公積金和稅金都是通過函數(shù)直接計算,無需手動輸入。4) 基本參數(shù)的設(shè)置。管理員可以修改崗位級別所對應(yīng)的崗位工資金額,從而實現(xiàn)了程序的
27、靈活性,滿足公司崗位薪資調(diào)整的需求。5) 員工注冊功能。只有管理員可以對員工進(jìn)行注冊登記,只有經(jīng)過登記的員工才可以使用自己的員工編號登陸該系統(tǒng),從而防止了外部人員對公司財務(wù)情況的獲取。各員工的初始登陸密碼與編號相同,登陸后可以自行修改密碼,從而保證了個人信息的安全性。6) 嚴(yán)密的非法輸入檢測和糾錯功能。程序中任何一個地方都考慮了非法輸入,以保證程序不會崩潰或跳出。例如,登陸時如果輸入錯誤用戶名會得到不存在用戶名的提示,并要求重新輸入;在菜單選擇時,如果輸入的不是數(shù)字編號,而是字母或字母與數(shù)字的組合,系統(tǒng)仍會提示輸入錯誤,請重新輸入,不會出現(xiàn)崩潰或跳出;當(dāng)在屏幕中輸出數(shù)據(jù)時,如果保存數(shù)據(jù)的文件丟
28、失、不存在,系統(tǒng)會提示錯誤,文件不存在;在程序中沒有任何數(shù)據(jù)的情況下選擇排序、修改、刪除數(shù)據(jù)的功能,會提示“沒有數(shù)據(jù),無法進(jìn)行操作!”,不會出現(xiàn)程序崩潰。7) 工資按月份存取功能。考慮到該系統(tǒng)應(yīng)該可以儲存員工每個月的工資信息,因此建立多個以年月份命名的文件,用來儲存不同月份的員工工資,用戶只需要在登陸后輸入相應(yīng)的年月就可以獲取到該年月下的工資信息。4.方案實踐4.1開發(fā)環(huán)境與工具Windows 7CodeBlocksVisual C+ 6.04.2程序設(shè)計關(guān)鍵技術(shù)1) 建立動態(tài)鏈表,通過結(jié)構(gòu)體對員工信息進(jìn)行管理,包括員工信息的輸入、輸出、添加、修改、刪除和統(tǒng)計等功能2) 以文件形式輸入和輸出員
29、工信息3) 建立管理員和員工兩個登陸通道,實現(xiàn)員工工資查詢和管理員對員工工資管理的分級機制4) 將數(shù)據(jù)儲存在不同月份文件下,實現(xiàn)工資按月錄入與查詢5) 員工基本信息和工資錄入后,可以調(diào)用函數(shù)自動計算崗位工資,應(yīng)得工資,應(yīng)繳納稅金,應(yīng)交保險和公積金,和實發(fā)工資6) 查找和排序算法,用來對數(shù)據(jù)進(jìn)行查找和排序7) 稅金計算算法,通過工資計算出應(yīng)繳納的稅金金額8) 統(tǒng)計算法,計算各組數(shù)據(jù)的最大值、最小值和平均數(shù)據(jù)9) 登錄系統(tǒng),區(qū)別不同賬號,并且對用戶密碼進(jìn)行驗證4.3個人設(shè)計實現(xiàn)4.3.1劉誠陽設(shè)計實現(xiàn)a) Insert(Creat(Creat_number( ) ) )開始NYnexthead=p
30、t1Output(Pt2),i=1提示無數(shù)據(jù)!Pt1=Input( )結(jié)束i=1,Print( )Pt2!=NULL?NY輸入刪除編號Strcmp(Pt1-num,strnum)=0?Y指針后移i!=1?Strcmp(Pt2-num,strnum)=0?NYPt1-next=Pt2-nextOutput(head),i=1NNY提示查詢不到!f) Modify()開始NYP=NULL?計算崗位工資Post(a),稅金Tax(m),應(yīng)發(fā)、實發(fā)工資提示無數(shù)據(jù)!P=Input( ),i=0結(jié)束Print( )i!=1?NY輸入修改編號Strcmp(P-num,strnum)=0?P!=NULL?Y無
31、相同編號修改數(shù)據(jù)!NY輸入員工信息Output( ),i=1NP=P-nextg) Statistics()開始NYP=NULL?i=1i+,sum=sum+money提示無數(shù)據(jù)!P=Input( )i=0,sum=0結(jié)束P-next=NULL?NYP!=NULL?YN輸出max,min,sum/iP-moneymoneyP-moneynextNNmax=P-moneymin=P-moneyYYh) Post(int a)開始NYa=1?return(fir)Open,讀取數(shù)據(jù)到數(shù)組,Close結(jié)束a=2?a=3?a=4?a=5?NNNNYYYYreturn(sec)return(thi)re
32、turn(fou)return(fif)4.3.2張鵬舉設(shè)計實現(xiàn)a) Password() 開始輸入用戶名并判斷是否為管理員是進(jìn)入管理員操作系統(tǒng)否讀出文件password并且將它存入數(shù)組key中,并關(guān)閉文件輸入密碼并存入數(shù)組Password中判斷密碼是否與數(shù)組password中是否一致是否 是進(jìn)入函數(shù)Welcome和Choose_month 進(jìn)入員工操作系統(tǒng)定義鏈表指針并指向數(shù)組NUM的第一個數(shù)據(jù)判斷數(shù)據(jù)是否與name數(shù)組中數(shù)據(jù)相等 否 不存在該員工編號 輸入密碼并與Password是否相等 是是否 對不起密碼錯誤 57b) Changepassword( ) 開始 讀取文件password.
33、text 輸入原始密碼password將文件中的密碼讀取出來并且存入數(shù)組x中 進(jìn)入while循環(huán)調(diào)用strcmp函數(shù),并且將數(shù)組x與psaaword比較是否相等 是否請重新輸入密碼password 輸入新密碼并且存入數(shù)組a中再次輸入新密碼并且存入數(shù)組b中 調(diào)用strcmp函數(shù)比較數(shù)組a與b是否相等否是重新讀取文件password,并且將數(shù)組a中的密碼存入password中輸出密碼修改成功 結(jié)束c) Tax( )開始NYSalary=0?Salary=a-3500結(jié)束Tax=00Salary1500?1500Salary4500?4500Salary9000?9000Salary35000?35
34、000Salary55000?55000nextp-min-next=min-nexthead=Print()結(jié)束For循環(huán),p=head,min=head,指針下指,!=NULL?NYStrcmpnextNfirst!=NULL?head=firstOutput(head)Print( )Ntail-next=mintail=minNYtail-next=NULL5.測試與調(diào)試5.1個人測試5.1.1劉誠陽測試1) 主界面管理人員界面:員工界面:2) 非法輸入檢測3) 顯示函數(shù),輸出員工工資信息到屏幕4) 員工工資信息統(tǒng)計5) 員工工資信息添加添加前:函數(shù)通過崗位級別自動給出相應(yīng)崗位工資,并
35、計算應(yīng)發(fā)工資,社保&公積金,稅金和實發(fā)工資,自動輸出保存到文件。添加后:6) 員工工資信息修改修改前:修改后:7) 員工工資信息刪除刪除前:刪除后:8) 輸出員工工資信息到文本文件輸出前:輸出后:9) 數(shù)據(jù)備份、清空與恢復(fù)對數(shù)據(jù)進(jìn)行備份:以二進(jìn)制形式備份成功:系統(tǒng)中數(shù)據(jù)清空前:清空數(shù)據(jù):清空后:通過之前備份的文件對系統(tǒng)中數(shù)據(jù)進(jìn)行恢復(fù):恢復(fù)成功:5.1.2張鵬舉測試1) 登陸測試輸入不存在編號,會提示,并返回登陸界面:輸入錯誤密碼,提示密碼輸入錯誤和剩余嘗試次數(shù):連續(xù)輸錯密碼三次,程序結(jié)束運行:輸入正確密碼,成功登陸,進(jìn)入年月選擇界面:2) 崗位級別與對應(yīng)崗位工資修改3) 住房補貼參數(shù)修改4)
36、用戶密碼修改首先驗證原始密碼,密碼錯誤系統(tǒng)會一直提示“原始密碼輸入錯誤,請重新輸入”。原始密碼正確后,請輸入新密碼,如兩次新密碼輸入不一致,則會提示重新輸入第二次密碼,一致后,密碼修改成功。修改密碼之后再登陸:使用新密碼登陸成功!5.1.3于文鑫測試1) 員工工資信息排序從高到低按編號排序之前:選擇工資信息排序,并選擇從高到低排序:選擇按編號排序:排序之后:2) 員工工資信息排序從高到低按獎金3) 員工工資信息查詢按員工編號查詢:按獎金查詢:組合模糊查詢關(guān)鍵字查詢:5.2組裝與系統(tǒng)測試由于之前并沒有進(jìn)行過模塊化的程序設(shè)計,所以剛開始將各個.C文件鏈接時出現(xiàn)了很多問題。最嚴(yán)重的問題就是在一個.C
37、文件中沒有對所調(diào)用的另一個.C文件中的函數(shù)進(jìn)行聲明,出現(xiàn)了找不到該函數(shù)的定義,程序各個模塊無法連接的問題。經(jīng)過查閱課本和資料,建立了一些.H頭文件,并在預(yù)處理中包含這些頭文件,解決了這一問題。另外一些小的問題也是層出不斷,例如函數(shù)名稱由于疏忽,增加或丟掉了個別字母,導(dǎo)致前后函數(shù)名不一致,調(diào)用時候出現(xiàn)錯誤,或者出現(xiàn)重復(fù)定義的問題。經(jīng)過細(xì)心仔細(xì)地檢查,解決了這些小的毛病,最終還算順利地實現(xiàn)了各個模塊的拼接,程序最終在Windows7平臺上成功運行。系統(tǒng)測試記錄操作名稱操作流程操作結(jié)果和輸出登錄系統(tǒng)打開登錄頁面:1.輸入正確用戶名和正確密碼,登陸;2.輸入正確用戶名和錯誤密碼,登陸;3.輸入錯誤用戶
38、名。1.成功登陸,從登錄系統(tǒng)到系統(tǒng)信息顯示完成,花費2秒時間,基本滿足了系統(tǒng)顯示要求;2.提示密碼輸入錯誤,請重新輸入,三次輸入錯誤后退出系統(tǒng);3.提示不存在用戶名,請重新輸入。月份選擇進(jìn)入選擇界面,輸入年份,回車,月份,回車進(jìn)入操作主界面,并在上方顯示當(dāng)前年月全部用戶信息輸出無需操作,在相應(yīng)選擇下自動輸出到屏幕用列表的方式顯示出了所有的用戶記錄,用時小于1秒,符合要求。查詢工資信息1.選擇查詢方式,例如選擇按編號查詢,則輸入編號,回車即可;2.輸入不存在編號;3.系統(tǒng)中無數(shù)據(jù)時選擇該功能。1.用列表的方式顯示出了所有符合的用戶記錄,用時小于1秒,符合要求;2.提示查詢不到信息;3.提示系統(tǒng)中
39、無數(shù)據(jù),無法使用該功能。工資信息排序1.選擇排序方式,例如選擇按降序、編號排序,則選擇降序、按編號即可;2.系統(tǒng)中無數(shù)據(jù)時選擇該功能。1.用列表的方式顯示出了排序后的所有用戶記錄,用時小于1秒,符合要求;2.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。工資信息統(tǒng)計1.選擇該功能;2.無數(shù)據(jù)時選擇該功能。1.從崗位工資、基本工資、績效工資、獎金、應(yīng)發(fā)工資、稅金、實發(fā)工資等幾個方面顯示現(xiàn)有數(shù)據(jù)的最小值、最大值和平均值。2.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。數(shù)據(jù)添加輸入需要添加信息的員工個數(shù),然后按步驟輸入員工編號、姓名、性別、年齡、崗位級別、基本工資和績效工資提示數(shù)據(jù)添加成功,并將數(shù)據(jù)寫入文件。數(shù)據(jù)整理1.
40、選擇該功能;2.無數(shù)據(jù)時選擇該功能。1.對數(shù)據(jù)按編號從小到大排列并輸出到屏幕;2.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。數(shù)據(jù)修改1.選擇需要修改的員工編號,按步驟輸入員工編號、姓名、性別、年齡、崗位級別、基本工資和績效工資;2.無數(shù)據(jù)時選擇該功能。1.將該員工編號的員工信息修改后輸出到屏幕,并保存到文件,時間小于1秒,基本滿足要求;2.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。數(shù)據(jù)刪除1.輸入需要刪除的員工編號;2.輸入不存在員工編號;3.系統(tǒng)中無數(shù)據(jù)時選擇該操作。1.刪除該員工編號的員工信息,并存儲,在屏幕上顯示操作后的全部員工信息;2.提示系統(tǒng)中沒有需要刪除的數(shù)據(jù);3.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能
41、。輸出數(shù)據(jù)到文本文件1.選擇該功能;2.無數(shù)據(jù)時選擇該功能。1.生成一個txt文本文件,里面有所有員工的工資信息;2. 提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。數(shù)據(jù)備份選擇該功能將當(dāng)前數(shù)據(jù)存儲到一個二進(jìn)制文件中數(shù)據(jù)清空選擇該功能系統(tǒng)中所有數(shù)據(jù)被清空。數(shù)據(jù)還原選擇該功能將備份的信息輸出到屏幕,并存儲到當(dāng)前文件。修改崗位工資參數(shù)按步驟輸入崗位工資將崗位級別對應(yīng)的崗位工資存儲到文件修改住房補貼參數(shù)輸入新的住房補貼金額將住房補貼金額存儲到文件修改管理員或個人密碼1.輸入舊密碼,輸入新密碼,再次輸入新密碼;2.輸入錯誤的舊密碼;3.輸入舊密碼,輸入新密碼,再次輸入不同新密碼。1.提示密碼修改成功,并存儲到文件
42、;2.提示密碼錯誤,請重新輸入;3.提示兩次輸入密碼不同,請重新輸入。員工編號添加輸入編號進(jìn)行添加編號添加成功,以列表形式顯示,并存儲在文件中。員工編號整理1.選擇該功能;2.系統(tǒng)中沒有數(shù)據(jù)時,選擇該功能。1.將員工編號從小到大排列,并儲存;2.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。員工編號刪除1.選擇該功能,輸入員工編號,回車;2.輸入不存在員工編號;3.系統(tǒng)中沒有數(shù)據(jù)時,選擇該功能。1.刪除該員工編號的記錄,并存儲,在屏幕上顯示操作后的全部員工編號;2.提示系統(tǒng)中沒有需要刪除的數(shù)據(jù);3.提示系統(tǒng)中無數(shù)據(jù),無法使用該功能。重選年月選擇該功能返回選擇年月份的界面,用時小于1秒。切換用戶選擇該功能返
43、回用戶登錄界面,用時小于1秒。幫助選擇該功能輸出系統(tǒng)功能介紹、制作人名單和產(chǎn)品信息。個人信息輸出無需操作,在相應(yīng)選擇下自動輸出到屏幕輸出個人的全部信息到屏幕。5.3系統(tǒng)運行系統(tǒng)可以在Windows平臺上平穩(wěn)運行,各項功能都達(dá)到了預(yù)期效果,界面簡潔,操作便捷。運行過程中不會出現(xiàn)出錯崩潰的情況。對于一些需要完善的功能,我們在運行程序,并進(jìn)行檢測后,又再一次對相應(yīng)功能進(jìn)行了完善與增強,并對系統(tǒng)的界面進(jìn)行了精心的布局,調(diào)整了各個提示語句的輸出位置,使之達(dá)到最好的用戶體驗效果。6. 課題總結(jié)6.1課題評價 工資管理系統(tǒng)對于公司的管理者和員工來說,都至關(guān)重要,所以工資管理系統(tǒng)應(yīng)該能夠給使用者提供充足的信息
44、和簡單快速的查詢方法。使用計算機對工資信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高工資管理的效率,也是科學(xué)化、正規(guī)化管理的重要條件。本課題就是為了滿足這種需求,實現(xiàn)公司員工工資的計算機化管理。 該工資管理系統(tǒng)經(jīng)過我們整個設(shè)計開發(fā)團隊的不懈努力,強有力地實現(xiàn)了課題的基本要求和所有目標(biāo),并增設(shè)了很多切實有用的創(chuàng)意和功能,全方面體現(xiàn)了我們團隊的設(shè)計思想,完全達(dá)到了預(yù)期的效果。首先,該工資管理系統(tǒng)具有全面細(xì)致的功能選項,可以滿足用戶各方面信息的管理與查詢,而且分為兩個入口,可以滿足公司不同層級的人員需求,面
45、向群體廣泛。其次,該工資管理系統(tǒng)具有良好的健壯性和安全性,運行穩(wěn)定,數(shù)據(jù)不易丟失,密碼登陸,安全可靠。而且系統(tǒng)代碼的每個函數(shù)中都嵌入了非法輸入和非法操作檢測機制,確保系統(tǒng)不會在運行中跳出或者崩潰。最后,該工資管理系統(tǒng)具有良好的界面,簡單清新,使用方便,操作快捷??傮w來說,經(jīng)過三周的設(shè)計與實踐,最終我們團隊圓滿地完成了本次工資管理系統(tǒng)的設(shè)計任務(wù),達(dá)到了在實踐中鞏固并真正運用自己所學(xué)知識的目的。本次課題設(shè)計順利實現(xiàn)。6.2團隊協(xié)作我們團隊在組團完成后,即刻就課題題目的選擇問題進(jìn)行了深刻的討論,經(jīng)由組長建議和組員的一致同意,我們最終選定了“職工工資管理系統(tǒng)”這個設(shè)計課題。選定課題之后,第二天,我們組
46、便進(jìn)行了整體框架和具體功能的討論與研究。組長提出了該系統(tǒng)應(yīng)該具有的功能并做記錄,與組員們進(jìn)行討論,綜合建議和信息,制定了總體的設(shè)計框架和系統(tǒng)具備的功能?;厝ズ?,組長查閱了與員工工資相關(guān)的資料,并繪制了所設(shè)計系統(tǒng)的功能圖,以及在網(wǎng)上參考了別人設(shè)計的同類型的工資管理系統(tǒng),并且將這些資料一并發(fā)給了組員,大家課余時間自行研究,最后再匯總交流經(jīng)驗與想法。隔日,大家一起進(jìn)行了詳細(xì)的分工明確,確定了我們的設(shè)計最終要實現(xiàn)什么樣的功能,并進(jìn)一步細(xì)致化,分類成一個個的函數(shù),將函數(shù)的設(shè)計分配給每一個人。劉誠陽作為組長,負(fù)責(zé)整個程序的走向,函數(shù)設(shè)計包括界面的設(shè)計,與動態(tài)鏈表相關(guān)的一切數(shù)據(jù)設(shè)計,文件輸入輸出的設(shè)計,以及
47、對鏈表中數(shù)據(jù)求最小值、最大值和平局?jǐn)?shù)的函數(shù)設(shè)計等等;張鵬舉作為重要組員,負(fù)責(zé)的函數(shù)設(shè)計包括用戶的登錄系統(tǒng),修改密碼和基本參數(shù),計算稅金并返回數(shù)值;于文鑫作為重要組員,主要負(fù)責(zé)對數(shù)據(jù)進(jìn)行查找和排序的設(shè)計。任務(wù)分工完成后,大家都回去查找相關(guān)資料,潛心研究,獨立完成各自的設(shè)計任務(wù)。每人都進(jìn)行了自己所承擔(dān)任務(wù)的研究,設(shè)計了相關(guān)的算法,繪制了實現(xiàn)目標(biāo)函數(shù)的流程圖,經(jīng)過組內(nèi)商討與研究,修改糾正,最終確立了較為完善的總體程序設(shè)計樣板。每次上機課的時候,我們都會在一起討論研究,進(jìn)一步明確設(shè)計所要實現(xiàn)的具體目標(biāo),解決代碼編寫過程中的編寫錯誤或者是當(dāng)時設(shè)計時出現(xiàn)的紕漏。經(jīng)過組內(nèi)人員的共同努力,最后我們順利地完成了
48、此次程序設(shè)計任務(wù),設(shè)計開發(fā)出了令人滿意的職工工資管理系統(tǒng)。更為珍貴的是,通過團隊合作,我們學(xué)會了團隊開發(fā)模式,注重交流,分享經(jīng)驗,從彼此身上學(xué)到了很多,也為自己能在團隊中貢獻(xiàn)一份力量感到由衷的開心。6.3個人設(shè)計小結(jié)6.3.1劉誠陽設(shè)計小結(jié)在開發(fā)工資管理系統(tǒng)的三周時光中,我深刻地體會到了自學(xué)能力的重要性。著手程序的總體設(shè)計時,我發(fā)現(xiàn)課堂上學(xué)習(xí)的知識還遠(yuǎn)遠(yuǎn)不夠,很多東西都需要自己臨時查閱并學(xué)以致用。而且第一次進(jìn)行實驗設(shè)計,整個設(shè)計過程并不清楚,因此很多不懂的地方都是靠自己的不斷嘗試與摸索,憑借老師和同學(xué)的幫助,才最終完成了這個實驗設(shè)計。在該工資管理系統(tǒng)中,我作為組長,首要任務(wù)是組織好組員,確立工
49、資管理系統(tǒng)的大體框架和主要功能,建立需要的主要函數(shù),并進(jìn)行明確的分工。我所主要負(fù)責(zé)的是工資管理系統(tǒng)的界面設(shè)計和用動態(tài)鏈表對數(shù)據(jù)進(jìn)行處理的所有函數(shù)的設(shè)計以及數(shù)據(jù)輸入、輸出的設(shè)計。由于我們還沒有學(xué)數(shù)據(jù)結(jié)構(gòu),所以使用動態(tài)鏈表對于我來說是一項很大的挑戰(zhàn),在使用動態(tài)鏈表進(jìn)行數(shù)據(jù)添加的過程中,出現(xiàn)了很多錯誤,程序各種崩潰。經(jīng)過了好幾天的嘗試,才最終實現(xiàn)了利用動態(tài)鏈表添加數(shù)據(jù)的功能,過程十分的曲折,好在功夫不負(fù)有心人。對于如何將動態(tài)鏈表中的數(shù)據(jù)輸出的屏幕上,我也是做了一番研究才最終設(shè)計出了數(shù)據(jù)輸出函數(shù),現(xiàn)在想來只是將指針從頭節(jié)點遍歷到尾節(jié)點,絲毫不難理解,但是當(dāng)初設(shè)計的時候也是在網(wǎng)上查閱了很多資料,看了很多
50、別人的設(shè)計,才最終完成。對于數(shù)據(jù)的輸入和輸出設(shè)計就相對來說簡單了許多,查閱課本,確定好存儲方式和類型,按格式打開文件,操作后將文件關(guān)閉,這部分的設(shè)計相對來說比較容易。另外利用將數(shù)據(jù)從文件中輸入和輸出,我還設(shè)計了對員工編號的注冊,還有按月份查詢工資的功能,系統(tǒng)可以將用戶在登陸時從鍵盤輸入的年月保存到文件中,登陸進(jìn)去后,相關(guān)函數(shù)會從文件中讀取這個年月,并打開相應(yīng)年月名稱的文件,獲取該年月的員工信息。這個按年月存取是第三周程序快要驗收的時候我才加上的,因為考慮到實際情況,該管理系統(tǒng)不可能只進(jìn)行員工一個月工資的儲存,應(yīng)該可以儲存一個人多個月份的工資。這也算是對該系統(tǒng)的進(jìn)一步完善了。對于多入口登陸這個功
51、能,也是我后來思考后進(jìn)行的添加修改。登錄系統(tǒng)雖然不是我設(shè)計的,但是后來我考慮到該系統(tǒng)如果只能供管理員使用而員工不能使用的話,會有很大的局限性,真正更合適的系統(tǒng)應(yīng)該是二者可以兼?zhèn)?。于是我在登陸系統(tǒng)的函數(shù)中加了一部分判斷,即可以區(qū)分登錄用戶是管理員還是員工,或者是不存在的用戶;與此同時,額外設(shè)計了一個員工登記功能,用來輔助多入口登陸的實現(xiàn)。這樣,整個工資管理系統(tǒng)就顯得更加完善了,也更加貼合實際情況,滿足用戶需求。此外,對于員工工資是如何計算的這個問題,我是經(jīng)過了百度各方面資料,才進(jìn)行了數(shù)據(jù)運算方面的設(shè)計,像五險一金和稅金這些東西都應(yīng)該是在輸入基本工資等基礎(chǔ)信息后,系統(tǒng)自行運算得出結(jié)果,并進(jìn)行儲存,
52、而不是人工操作。對崗位工資的獲取也是通過輸入崗位級別后系統(tǒng)自動對照。這一系列的設(shè)計雖然并不復(fù)雜,但是也確實繁瑣,從查閱相關(guān)資料,到最后設(shè)計出完整的數(shù)據(jù)運算,并以正確形式輸入、輸出,著實花了不少時間和功夫,也進(jìn)一步提升了自己對數(shù)據(jù)處理的能力和加強了自己對相關(guān)知識的掌握與運用。最后感謝在程序設(shè)計中給予我?guī)椭耐瑢W(xué)們和老師們,有了你們的建議和指導(dǎo),我們這個團隊才能不斷完善設(shè)計,找到程序的Bug,并最終設(shè)計出一個相對完備的工資管理系統(tǒng)。6.3.2張鵬舉設(shè)計小結(jié)通過這個程序系統(tǒng)設(shè)計,我明白了C語言究竟是怎么樣運用的,以及一系列函數(shù)和數(shù)據(jù)處理。就我自己做的登錄界面和修改密碼來說我運用到了鏈表和文件處理,這
53、是我以前上機課從沒有過的實踐,自己也明白了許多方法的使用。從一個個函數(shù)到整體系統(tǒng)的運用,讓我明白了它的原理,讓我對程序設(shè)計有了新的認(rèn)識。就我做的那些個函數(shù)來看,首先數(shù)據(jù)必然很重要,什么類型,該怎么用它,怎樣用很少的代碼,運行處更多的程序,是一個很有意思的問題,也是個很有挑戰(zhàn)的問題。從這次實踐我學(xué)到了,怎么更好的用選擇結(jié)構(gòu)來進(jìn)行對輸入的判斷,怎樣修改文件中的數(shù)據(jù),怎樣把輸入的東西經(jīng)過修改再存入文件中??傊@是個很好的經(jīng)歷,也是個很不錯的實踐,對我來說很有價值。6.3.3于文鑫設(shè)計小結(jié)通過這幾個多星期的課程設(shè)計,我學(xué)到了很多很多。不僅是在知識上,也表現(xiàn)在了各個方面。首先,在設(shè)計的過程中,我發(fā)現(xiàn)我已
54、經(jīng)遺忘了很多上星期學(xué)習(xí)過的C語言知識,也發(fā)現(xiàn)了原來學(xué)習(xí)中的不少漏洞。有不少地方的樹葉還是新的,那方面的知識自然還沒有吃透。比如結(jié)構(gòu)體的定義已經(jīng)不是很熟,字符串?dāng)?shù)組也不太能熟練運用了,還有就是指向數(shù)組和字符串的指針也不是很熟了。在編寫項目程序的過程中,我不斷的發(fā)現(xiàn)自己的不足并努力提高,在原來的基礎(chǔ)上對C語言有了更進(jìn)一步的理解。 在開發(fā)這個工資管理系統(tǒng)過程中我深刻地體會到了自學(xué)能力的重要性。畢竟在學(xué)校學(xué)習(xí)到的知識是有限的而在開發(fā)系統(tǒng)的過程中僅憑原有的一點點知識是遠(yuǎn)遠(yuǎn)夠的,只有翻閱大量的資料才能學(xué)到更多的知識,才能實現(xiàn)其預(yù)期的功能。在開發(fā)過程中,遇到困難是在所難免的,開發(fā)一個系統(tǒng),恒心和 毅力也是不
55、可缺少的,如果一遇到難題就心慌,想要放棄,那這樣就不可能完成系統(tǒng)。同樣,在開發(fā)過程當(dāng)中,細(xì)心也是非常重要的,由于很多事項都要很注意才行,如果沒有做到這一點,就會出錯。在開發(fā)過程當(dāng)中,我學(xué)到很多,明白了做任何事情都要有始有終,要敢于同困難作斗爭,要養(yǎng)成獨立思考的習(xí)慣。在以后的工作和生活當(dāng)中,我將繼續(xù)發(fā)揚這些好的作風(fēng)。在程序編寫中,出現(xiàn)了不少的問題,比如指針地址錯誤,文件無法保存;還有,經(jīng)常我會忘在語句結(jié)尾處帶分號,經(jīng)常VC會在這方面報錯;當(dāng)然,圖書館也是查找資源的好地方,我也感謝那些在冬日里坐在那里的圖書館管理人員,是他們及時的借到相著圖書,讓我們的信息查找更為方便快捷。最后,我再一次感謝我的老師們,謝謝你們的諄諄教誨,沒有你們的言傳身教,就沒有我課程設(shè)計的順利完成,謝謝您們。6.4參考資料譚浩強.C程序設(shè)計.清華大學(xué)出版社.第四版譚浩強.C程序設(shè)計學(xué)習(xí)輔導(dǎo).清華大學(xué)出版社.第四版Brian W.Kernighan & Dennis M.Ritchie.C程序設(shè)計語言.機械工業(yè)出版社.第2版
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《七巧板》課件人教新課標(biāo)
- 《一元二次方程的根與系數(shù)的關(guān)系》課件1
- 《U6-When-was-it-invented-A-2》-3優(yōu)質(zhì)教學(xué)講解課件
- 同底數(shù)冪的乘法課件
- 電功率課件 (3)
- 用色彩表達(dá)情感
- 公叔痤賞識衛(wèi)鞅的能力課件
- 七下《歷史與社會》有關(guān)“特點”綜合復(fù)習(xí)(教育精品)
- B10 Types of Global Competition
- 微電子知識結(jié)構(gòu)
- 住宅裝配式設(shè)計(PPT46頁)
- 婦幼保健院評審方法與組織實施培訓(xùn)講義課件
- 汽車其它電氣裝置資料課件
- 常用酒店物品單詞課件
- 分?jǐn)?shù)的基本性質(zhì) (4)