C語言職工工資管理系統(tǒng)程序設(shè)計(jì)報(bào)告_第1頁
C語言職工工資管理系統(tǒng)程序設(shè)計(jì)報(bào)告_第2頁
C語言職工工資管理系統(tǒng)程序設(shè)計(jì)報(bào)告_第3頁
C語言職工工資管理系統(tǒng)程序設(shè)計(jì)報(bào)告_第4頁
C語言職工工資管理系統(tǒng)程序設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語言課程設(shè)計(jì)報(bào)告題 目 小型職工工資管理系統(tǒng) 專業(yè)班級(jí) 2016級(jí)通信工程本科1班 組 別 通信第二組 學(xué)生姓名 院 (系) 信息工程系 指導(dǎo)教師(職稱) 完成時(shí)間 2017年5月31日 課程設(shè)計(jì)任務(wù)書題目 職工工資管理系統(tǒng) 班級(jí) 2016級(jí)通信工程本科1班 學(xué)號(hào) 201605070106 姓名 學(xué)號(hào) 201605070111 姓名 學(xué)號(hào) 201605070118 姓名 學(xué)號(hào) 201605070119 姓名 學(xué)號(hào) 201605070136 姓名 一、 主要內(nèi)容:本課程設(shè)計(jì)結(jié)合本學(xué)期所學(xué)C語言知識(shí),準(zhǔn)備設(shè)計(jì)開發(fā)一個(gè)簡(jiǎn)單職工工資管理系統(tǒng)。工資管理系統(tǒng)是企業(yè)不可或缺的一部分,它利用計(jì)算機(jī)對(duì)員工工資

2、進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)工資管理系統(tǒng)的系統(tǒng)化、規(guī)范化和自動(dòng)化,為企業(yè)提高工作效率。設(shè)計(jì)開發(fā)這個(gè)系統(tǒng)需要用到單鏈表、文件讀取操作、結(jié)構(gòu)體、函數(shù)、指針等C語言知識(shí)。本課程設(shè)計(jì)準(zhǔn)備通過Windows控制臺(tái)應(yīng)用程序?qū)崿F(xiàn)職工工資管理系統(tǒng)的簡(jiǎn)單運(yùn)行。利用所學(xué)知識(shí),本著簡(jiǎn)單、易用的設(shè)計(jì)原則,本課程設(shè)計(jì)盡量實(shí)現(xiàn)良好、美觀的“人機(jī)界面”,便于軟件的操作使用。本次設(shè)計(jì)主要學(xué)習(xí)內(nèi)容包括:(一)進(jìn)一步學(xué)習(xí)并熟練掌握C語言語法和編程思想。(二)學(xué)習(xí)C語言提供的庫函數(shù),熟悉Visual C+ 6.0的開發(fā)工具。(三)學(xué)習(xí)C語言函數(shù)、鏈表、結(jié)構(gòu)體、文件讀取、指針等知識(shí)。(四)學(xué)習(xí)如何查閱他人的文檔進(jìn)行軟件的設(shè)計(jì)與開發(fā)。二、基本要

3、求:(一)質(zhì)量要求1.職工工資管理系統(tǒng)基本功能模塊的設(shè)計(jì)應(yīng)包括:顯示主菜單功能、職工信息的錄入、添加、刪除、修改、查詢、排序功能,退出系統(tǒng)。測(cè)試文件的讀取與存儲(chǔ)是否正常、測(cè)試評(píng)估界面是否合理,友好。2.對(duì)職工工資管理系統(tǒng)設(shè)計(jì)并進(jìn)行調(diào)試、修復(fù)、完善、測(cè)試。3.定期主動(dòng)向指導(dǎo)教師匯報(bào)任務(wù)進(jìn)度,認(rèn)真填寫相關(guān)報(bào)告文檔。4.按時(shí)完成各階段工作,不突擊,不抄襲。(二)進(jìn)度要求1.明確課程設(shè)計(jì)任務(wù),搜集資料:2017年2月28日3月14日。2.完成程序的設(shè)計(jì)與實(shí)現(xiàn),撰寫課程設(shè)計(jì)論文初稿:2017年3月15日5月15日。3.與指導(dǎo)教師溝通,完成課程設(shè)計(jì)論文定稿:2016年5月16日2017年5月28日。4.進(jìn)

4、入課程設(shè)計(jì)論文審閱階段,準(zhǔn)備答辯:2017年5月29日6月9日。三、主要參考資料:1. 工資管理系統(tǒng)課程設(shè)計(jì)程序2. C語言程序設(shè)計(jì)規(guī)范及基礎(chǔ) 3. 明解C語言 第3版,(日)柴田望洋著,人民郵電出版社4. C Primer Plus 第6版 中文版,姜佑譯,人民郵電出版社5. C程序設(shè)計(jì) 第四版,譚浩強(qiáng)著,清華大學(xué)出版社6. C和C+實(shí)物精選,徐波著,北京郵電出版社學(xué) 生 簽 名: 指導(dǎo)教師簽名: 年 月 日 目 錄1 概述11.1 設(shè)計(jì)思想11.2 設(shè)計(jì)原則11.3 性能需求11.4 課程設(shè)計(jì)報(bào)告內(nèi)容及分工情況21.4.1 課程設(shè)計(jì)報(bào)告內(nèi)容21.4.2 課程設(shè)計(jì)分工情況22 總體設(shè)計(jì)32.

5、1 系統(tǒng)功能設(shè)計(jì)圖32.2 主函數(shù) main()32.3 程序流程圖43 詳細(xì)設(shè)計(jì)53.1 函數(shù)53.2 函數(shù)流程圖104 運(yùn)行結(jié)果與調(diào)試164.1 運(yùn)行結(jié)果164.2 程序調(diào)試21結(jié)束語22附錄251 概述1.1 設(shè)計(jì)思想1.系統(tǒng)分成幾個(gè)相對(duì)獨(dú)立的模塊,但這些模塊都進(jìn)行集中式管理。2.分層的模塊化程序設(shè)計(jì)思想,整個(gè)系統(tǒng)采用模塊化結(jié)構(gòu)設(shè)計(jì)作為應(yīng)用程序,有較強(qiáng)的可操作性和擴(kuò)展性。3.合理的數(shù)據(jù)設(shè)計(jì),在應(yīng)用系統(tǒng)設(shè)計(jì)中,相對(duì)獨(dú)立的模塊間以數(shù)據(jù)相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運(yùn)行,提高系統(tǒng)安全性 。 1.2 設(shè)計(jì)原則為了使本系統(tǒng)功能齊全完備,操作簡(jiǎn)便,最大限度的提高軟件的質(zhì)量,從而滿足用戶的

6、實(shí)際需要,在設(shè)計(jì)開發(fā)過程中遵循了如下原則:1.合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實(shí)際的工作情況,進(jìn)行諸如產(chǎn)品進(jìn)貨、銷售等工作。2.實(shí)用性原則:適合產(chǎn)品信息管理工作的實(shí)際需求,并能夠處理一些特殊情況的要求,此外,盡可能預(yù)留空間,以便擴(kuò)充功能。3.準(zhǔn)確性原則:對(duì)輸入的相關(guān)資料建立檢錯(cuò)機(jī)制,及時(shí)報(bào)錯(cuò),使用戶能夠及時(shí)準(zhǔn)確的輸入合法資料(如:類型匹配,長度不超限等)。4.易操作原則:要求設(shè)計(jì)的系統(tǒng)功能齊全,界面友好,操作方便,必要的地方進(jìn)行提示。5.源程序可讀性原則:為了便于其他設(shè)計(jì),維護(hù)人員讀懂代碼或以后的代碼修改,軟件升級(jí)維護(hù),即可能做好代碼注釋工作。1.3 性能需求(1) 支

7、持工資信息一次性多組導(dǎo)入(2) 非法操作能夠提示錯(cuò)誤并且知道安全行為方式(3) 信息查詢時(shí)界面顯示數(shù)量1.4 課程設(shè)計(jì)報(bào)告內(nèi)容及分工情況1.4.1 課程設(shè)計(jì)報(bào)告內(nèi)容1.系統(tǒng)功能模塊結(jié)構(gòu)圖和程序流程圖2.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說明3.程序結(jié)構(gòu)(畫功能模塊圖或流程圖)4.各模塊的功能5.實(shí)驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)6.設(shè)計(jì)體會(huì)7.參考文獻(xiàn)1.4.2 課程設(shè)計(jì)分工情況本組共有5人,具體分工情況如下:(1)學(xué)號(hào):201605070106,姓名:司笑笑,具體負(fù)責(zé)功能模塊結(jié)構(gòu)圖和程序流程圖的設(shè)計(jì);負(fù)責(zé)“排序”代碼的編寫及整體代碼的整合;負(fù)責(zé)程序設(shè)計(jì)報(bào)告中函數(shù)詳細(xì)設(shè)計(jì)。(2)學(xué)號(hào):201605070111

8、,姓名: 代慧 ,負(fù)責(zé)“添加”、“錄入”代碼的編寫;負(fù)責(zé)顯示界面的優(yōu)化、美化。(3)學(xué)號(hào):201605070118,姓名:王春亞,負(fù)責(zé)“查詢”代碼的編寫;程序的測(cè)試與調(diào)試;。(4)學(xué)號(hào):201605070119,姓名:董子陽,負(fù)責(zé)“修改”代碼的編寫;具體負(fù)責(zé)實(shí)驗(yàn)結(jié)果的采集;程序設(shè)計(jì)報(bào)告書的校對(duì);負(fù)責(zé)流程圖的繪制。(5)學(xué)號(hào):201605070136,姓名:馬良智,負(fù)責(zé)“刪除”代碼的編寫;具體負(fù)責(zé)程序設(shè)計(jì)報(bào)告書的排版與完善;相關(guān)文獻(xiàn)的查找和參考。2 總體設(shè)計(jì)2.1 系統(tǒng)功能設(shè)計(jì)圖系統(tǒng)功能設(shè)計(jì)是使整個(gè)系統(tǒng)能基本實(shí)現(xiàn)職工工資管理功能,能讓公司的管理者利用計(jì)算機(jī)對(duì)員工工資進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)工資管理系統(tǒng)

9、的系統(tǒng)化、規(guī)范化和自動(dòng)化,提高了工作效率。管理信息系統(tǒng)(MIS)主要的功能就是進(jìn)行信息的收集、查詢、存儲(chǔ),同時(shí)對(duì)這些信息進(jìn)行維護(hù)的。 本系統(tǒng)共包括七大模塊,分別是錄入模塊,添加模塊,修改模塊,刪除模塊,查詢模塊,排序模塊,輸出模塊。系統(tǒng)功能模塊設(shè)計(jì)如圖2-1所示。 圖2-1 小型職工工資管理系統(tǒng)功能模塊結(jié)構(gòu)圖2.2 主函數(shù) main() (1)函數(shù)的功能: 用于聯(lián)系各個(gè)功能函數(shù)模塊,以及退出程序時(shí)的退出畫面提示。(2)函數(shù)的入口: 整個(gè)程序是從主函數(shù)開始的。(3)函數(shù)的出口: 當(dāng)從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choise的值大于7時(shí)通過return退出main()函數(shù),即:

10、退出整個(gè)程序。(4)函數(shù)調(diào)用關(guān)系:該函數(shù)不被其它函數(shù)調(diào)用。2.3 程序流程圖3 詳細(xì)設(shè)計(jì)3.1 函數(shù)(1)功能函數(shù)mainMenu()函數(shù)的功能:顯示主菜單 函數(shù)的入口:從main()進(jìn)入,main()運(yùn)行時(shí)進(jìn)入該函數(shù)。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。函數(shù)的出口:當(dāng)主菜單顯示在屏幕上,結(jié)束該函數(shù)。(2)功能函數(shù)input (LinkList head)函數(shù)的功能:進(jìn)入錄入職工信息系統(tǒng)。 函數(shù)的入口:程序從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為1時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,首先用inputMenu()顯示錄入菜單選項(xiàng),然后選擇選項(xiàng)進(jìn)行錄入職工信息。函數(shù)調(diào)用關(guān)系:被主函

11、數(shù)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:錄入職工信息完成后,結(jié)束該函數(shù)而并執(zhí)行主函數(shù)main()中“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(3)功能函數(shù)inputMenu ()函數(shù)的功能:顯示錄入菜單。 函數(shù)的入口:從input(LinkList head)進(jìn)入,input(LinkList head)被調(diào)用時(shí)進(jìn)入該函數(shù)。函數(shù)調(diào)用關(guān)系:被input(LinkList head)調(diào)用,并在文中無返回值的空值void函數(shù)。函數(shù)的出口

12、:當(dāng)錄入菜單顯示在屏幕上,結(jié)束該函數(shù)。(4)功能函數(shù)hand (LinkList head)函數(shù)的功能:進(jìn)入“手動(dòng)錄入職工信息”。 函數(shù)的入口:程序從input(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為1時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,首先輸入錄入職工人數(shù),然后逐個(gè)錄入職工信息。函數(shù)調(diào)用關(guān)系:被input(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:錄入全部職工信息完成后,結(jié)束該函數(shù)并執(zhí)行input(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)

13、行while循環(huán)結(jié)構(gòu)。(5)功能函數(shù)read(LinkList head)函數(shù)的功能:進(jìn)入“文件錄入職工信息”。函數(shù)的入口:程序從input(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為2時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,輸入需要錄入的文件路徑fileName,通過fopen()函數(shù),即“if(fq=fopen(fileName,r)=NULL)” 打開文件,進(jìn)入數(shù)據(jù)的處理。函數(shù)調(diào)用關(guān)系:被input(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:自動(dòng)錄入文件中全部職工信息后,結(jié)束該函數(shù)并

14、執(zhí)行input(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(6)功能函數(shù)output (LinkList head)函數(shù)的功能:輸出職工信息。函數(shù)的入口:程序在錄入、添加、修改、刪除、查詢、排序后都進(jìn)入該函數(shù),進(jìn)入函數(shù)后,將職工信息用printf()標(biāo)準(zhǔn)輸出到屏幕上,然后通過fopen()函數(shù),即“if(fp=fopen(d:worker.dat, w) = NULL)” 打開文件,將職工信息寫到d:worker.dat文件中。函數(shù)調(diào)用關(guān)系:被main()等多個(gè)調(diào)用。在文中無返回值的空值void函數(shù)。函數(shù)的出口:將職工信息用prin

15、tf()標(biāo)準(zhǔn)輸出到屏幕上,將職工信息存入磁盤后,結(jié)束該函數(shù)。(7)功能函數(shù)add(LinkList head)函數(shù)的功能:添加一個(gè)職工信息。函數(shù)的入口:從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為2的時(shí)侯,進(jìn)入該函數(shù),根據(jù)提示輸入職工信息。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中有返回值的整型int函數(shù),返回值為1添加成功。函數(shù)的出口:職工信息添加成功返回1后結(jié)束該函數(shù), 并執(zhí)行主函數(shù)main()中“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行whi

16、le循環(huán)結(jié)構(gòu)。(8)功能函數(shù)deleteWorker (LinkList head)函數(shù)的功能:刪除 一個(gè)職工信息。函數(shù)的入口:從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為3的時(shí)侯,進(jìn)入該函數(shù),輸入要?jiǎng)h除的職工編號(hào),刪除改編號(hào)職工信息。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中有返回值的整型int函數(shù),返回值為1刪除成功。函數(shù)的出口:職工信息刪除成功返回1后結(jié)束該函數(shù), 并執(zhí)行主函數(shù)main()中“output(head);”,輸出剩余的職工信息在屏幕上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(9)

17、功能函數(shù)update(LinkList head)函數(shù)的功能:修改一個(gè)職工信息。函數(shù)的入口:從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為4的時(shí)侯,進(jìn)入該函數(shù),輸入要修改的職工編號(hào),根據(jù)提示輸入新的職工信息。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中有返回值的整型int函數(shù),返回值為1修改成功。函數(shù)的出口:職工信息修改成功返回1后結(jié)束該函數(shù), 并執(zhí)行主函數(shù)main()中“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(10)功能函數(shù)fi

18、nd (LinkList head)函數(shù)的功能:進(jìn)入查詢職工信息系統(tǒng)函數(shù)的入口:程序從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為5時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,首先用findMenu()顯示查詢菜單選項(xiàng),然后選擇選項(xiàng)進(jìn)行查詢職工信息。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:查詢職工信息完成后,結(jié)束該函數(shù),然后執(zhí)行主函數(shù)main()中的“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(11)功能函數(shù)findMenu()函數(shù)的功能:顯示查詢菜單。 函數(shù)的入口:從find (Li

19、nkList head)進(jìn)入,find (LinkList head)被調(diào)用時(shí)進(jìn)入該函數(shù)。函數(shù)調(diào)用關(guān)系:被find (LinkList head)調(diào)用,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:當(dāng)查詢菜單顯示在屏幕上,結(jié)束該函數(shù)。(12)功能函數(shù)findByWay(LinkList head, int n)函數(shù)的功能:查詢職工信息”。 函數(shù)的入口:程序從find(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為1,2,3,4,5,6時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,根據(jù)不同的選項(xiàng)值進(jìn)行相應(yīng)的查詢。函數(shù)調(diào)用關(guān)系:被find(LinkList head)調(diào)用。

20、從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中有返回值的的整型int函數(shù),返回值為1查詢成功。函數(shù)的出口:查詢職工信息完成后,執(zhí)行“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后結(jié)束該函數(shù),執(zhí)行find(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(13)功能函數(shù)sort (LinkList head)函數(shù)的功能:進(jìn)入職工信息排序系統(tǒng)函數(shù)的入口:程序從main()的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為6時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,首先用sortMenu()顯示排序菜單選項(xiàng),然后選擇選項(xiàng)進(jìn)

21、行職工信息排序。函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:職工信息排序完成后,結(jié)束該函數(shù),然后執(zhí)行主函數(shù)main()中的“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(14)功能函數(shù)sortMenu()函數(shù)的功能:顯示排序菜單。 函數(shù)的入口:從sort(LinkList head)進(jìn)入,sort(LinkList head)被調(diào)用時(shí)進(jìn)入該函數(shù)。函數(shù)調(diào)用關(guān)系:被sort (LinkList head)調(diào)用,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:當(dāng)排序菜單顯示在屏幕上,結(jié)束該函數(shù)。(15)功能

22、函數(shù)sortByWay(LinkList head, int n)函數(shù)的功能:職工信息排序。 函數(shù)的入口:程序從sort (LinkList head)的switch()開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為1,2,3,4,5,6時(shí),開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,根據(jù)不同的選項(xiàng)值進(jìn)行相應(yīng)的排序。函數(shù)調(diào)用關(guān)系:被sort(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中有返回值的的整型int函數(shù),返回值為1排序成功。函數(shù)的出口:職工信息排序完成后,執(zhí)行“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后結(jié)束該函數(shù),執(zhí)行sort(LinkList

23、 head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(16)功能函數(shù)uqnum(LinkList head, int num)函數(shù)的功能:判斷職工編號(hào)是否已存在。 函數(shù)的入口:程序add (LinkList head)中進(jìn)入, 輸入職工編號(hào)后,開始進(jìn)入該函數(shù),進(jìn)入函數(shù)后,判斷輸入的職工編號(hào)是否已經(jīng)存在。函數(shù)調(diào)用關(guān)系:被add(LinkList head)調(diào)用。在文中有返回值的的整型int函數(shù),返回值為1職工編號(hào)已存在。函數(shù)的出口:判斷職工編號(hào)是否已存在后返回add(LinkList head),繼續(xù)輸入其它職工信息或重新輸入職工編號(hào)。功能實(shí)現(xiàn)效果如圖3-1所

24、示。圖3-1 主菜單界面3.2 函數(shù)流程圖(1) 錄入職工信息該功能模塊流程如圖3-2所示。圖3-2 “錄入職工信息”功能模塊流程圖(2)添加職工信息該功能模塊流程如圖3-3所示。圖3-3 “添加職工信息”功能模塊流程圖(3)刪除職工信息該功能模塊流程如圖3-4所示。圖3-4“刪除職工信息”功能模塊流程圖(4)修改職工信息該功能模塊流程如圖3-5所示。圖3-5“修改職工信息”功能模塊流程圖(5)查詢職工信息該功能模塊流程如圖3-6所示。圖3-6“查詢職工信息”功能模塊流程圖(6)排序職工信息該功能模塊流程如圖3-7所示。圖3-7“排序職工信息”功能模塊流程圖4 運(yùn)行結(jié)果與調(diào)試4.1 運(yùn)行結(jié)果本

25、系統(tǒng)運(yùn)行初始頁面如圖4-1所示。圖4-1 初始頁面在函數(shù)開始時(shí),初始化臨時(shí)結(jié)構(gòu)體數(shù)組,讓結(jié)構(gòu)體內(nèi)所有信息為空.,讀取目標(biāo)文件,然后運(yùn)行功能函數(shù),選擇需要的功能。實(shí)現(xiàn)效果如圖4-2所示。圖4-2 輸入界面(1)根據(jù)自己需要的功能輸入相應(yīng)數(shù)字圖4-3職工信息的錄入 圖4-4職工信息的添加圖4-5職工信息的刪除 4-6職工信息的修改 圖4-7職工信息的查詢 圖4-8職工信息的排序 圖4-9退出系統(tǒng) (2)錄入職工的信息,通過手動(dòng)錄入和文件錄入兩個(gè)方法錄入職工的信息。圖4-10職工信息錄入的方式(3)查找職工的個(gè)人信息,通過輸入編號(hào)、姓名、部門、基本工資、獎(jiǎng)金和總工資進(jìn)行查找。圖4-11職工信息的查詢

26、方式(4)職工信息的排序可以通過編號(hào)排序、姓名排序、部門排序、基本工資排序、獎(jiǎng)金排序和總工資排序。 圖4-12職工信息的排序方式(5)每次將職工信息輸出在屏幕上時(shí),都會(huì)通過fwrite寫到文件D:woker.date中。(6)根據(jù)數(shù)字提示結(jié)束程序。4.2 程序調(diào)試(1)每個(gè)選擇界面之后,前一屏幕的內(nèi)容依舊存在,影響界面的美觀;經(jīng)過同學(xué)的幫助及上網(wǎng)搜索,發(fā)現(xiàn)利用“system(“cls”);”可以消去前一屏幕的內(nèi)容;然而接下來又出現(xiàn)新的問題:有些函數(shù)會(huì)出現(xiàn)錯(cuò)誤;經(jīng)過多次調(diào)試和修改,才發(fā)現(xiàn)把“system(“cls”);”放在調(diào)用的函數(shù)之前以及適當(dāng)?shù)奈恢每梢越鉀Q此問題。(2)修改員工信息時(shí),輸入職

27、工編號(hào)查詢出多條信息,修改錯(cuò)誤!后來加入職工編號(hào)唯一判斷的函數(shù),讓職工編號(hào)唯一不重復(fù)。(3)排序,開始交換指針指向,一直出現(xiàn)指針不存在導(dǎo)致亂碼問題,后來修改為交換指針的數(shù)據(jù)域。(4)文件寫入磁盤,用筆記本打開磁盤內(nèi)的文件亂碼,經(jīng)查詢資料了解寫入磁盤的文件是二進(jìn)制數(shù)據(jù),不能通過筆記本打開,可重新把文件讀入程序中,在程序中顯示。(5)忘導(dǎo)入,導(dǎo)致strcmp不能用。(6)字符串輸入輸出要用%s。結(jié)束語工資管理系統(tǒng)對(duì)于決策者和管理者來說都至關(guān)重要,所以工資管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件工資檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保

28、密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)工資信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工資管理的效率,也是科學(xué)化、正規(guī)化管理的重要條件。這一個(gè)月以來,在開發(fā)這個(gè)工資管理系統(tǒng)過程中,我深刻地體會(huì)到了自學(xué)能力的重要性。畢竟在學(xué)校學(xué)習(xí)到的知識(shí)是有限的,而在開發(fā)系統(tǒng)的過程中僅憑原有的一點(diǎn)點(diǎn)知識(shí)是遠(yuǎn)

29、遠(yuǎn)不夠的,只有翻閱大量的資料才能學(xué)到更多的知識(shí),才能實(shí)現(xiàn)其預(yù)期的功能。在開發(fā)過程中,遇到困難是在所難免的,期間我跟我的指導(dǎo)老師和同學(xué)們進(jìn)行交流,從中明白了很多。開發(fā)一個(gè)系統(tǒng),恒心和毅力也是不可缺少的。同樣,在開發(fā)過程當(dāng)中,細(xì)心也是非常重要的,由于很多事項(xiàng)都要很注意才行,如果沒有做到這一點(diǎn),就會(huì)出錯(cuò)。在這里要同學(xué)的幫助、老師的悉心指導(dǎo)下基本完成本次課程設(shè)計(jì),基本達(dá)到了工資管理系統(tǒng)的要求。小組各成員心得體會(huì)Xxx:這個(gè)系統(tǒng)實(shí)現(xiàn)了對(duì)員工信息的存儲(chǔ)、修改、刪除、查詢及排序。從拿到題目到完成整個(gè)編程,從理論到實(shí)踐學(xué)到了很多東西。通過這次程序設(shè)計(jì)我深入了解了鏈表、結(jié)構(gòu)體,也學(xué)會(huì)了文件的讀寫,懂得了理論和實(shí)際結(jié)合是很重要的。在設(shè)計(jì)過程中遇到了很多問題,這畢竟是第一次做,同時(shí)在設(shè)計(jì)過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)的知識(shí)理解的不夠深刻,掌握的不夠牢固,比如單鏈表。總之不收獲很多!Xxx:通過這次課程設(shè)計(jì),我對(duì)數(shù)據(jù)結(jié)構(gòu)中單鏈表的應(yīng)用有了更深的理解,并且深刻的認(rèn)識(shí)了實(shí)踐的重要性,只有理論與實(shí)踐相結(jié)合才能很好的學(xué)習(xí)。發(fā)現(xiàn)想要做好課程設(shè)計(jì),僅靠書本上的知識(shí)是不夠的,還需要查閱其他的程序和知識(shí)。在這個(gè)過程中,我充分認(rèn)識(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論