教師工資管理系統(tǒng)課程設計報告_第1頁
教師工資管理系統(tǒng)課程設計報告_第2頁
教師工資管理系統(tǒng)課程設計報告_第3頁
教師工資管理系統(tǒng)課程設計報告_第4頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、東莞理工學院C 語言程序設計課程設計報告題目:專業(yè):教師工資管理系統(tǒng)工業(yè)工程 1 班(本)年級:2013級 1 班小組成員:129 李惠敏 113 郭雁華指導教師:彭義春老師時間:2014年 6月 22日6月 26日地點:圖書館、E 機房東莞理工學院計算機學院制2014年 6 月目 錄1課程設計目的22課程設計內(nèi)容23總體設計24詳細設計45調(diào)試與測試86設計體會15參考文獻16附件:程序清單161 課程設計目的1) 通過課程設計, 加深對結(jié)構(gòu)化設計思想的理解, 能對系統(tǒng)功能進行分析, 并設計合理的模塊化結(jié)構(gòu)。2) 通過課程設計,學會設計數(shù)據(jù)結(jié)構(gòu)。其中,包括對函數(shù)、結(jié)構(gòu)數(shù)組、指針、鏈表和數(shù)據(jù)文

2、件等知識的運用。3) 通過課程設計,訓練 C 程序調(diào)試能力,能運用合理的控制流程編寫清晰高效的程序。4) 通過課程設計,培養(yǎng)分析問題、思考問題和動手解決實際問題的能力。2 課程設計內(nèi)容第 10 題:教師工資管理系統(tǒng)每個教師的信息為:教師號、姓名、性別、單位名稱、家庭住址、聯(lián)系電話、基本工資、津貼、生活補貼、應發(fā)工資、電話費、水電費、房租、所得稅、衛(wèi)生費、公積金、合計扣款、實發(fā)工資。注:應發(fā)工資 =基本工資 +津貼 +生活補貼;合計扣款 =電話費 +水電費 +房租 +所得稅 +衛(wèi)生費 +公積金;實發(fā)工資 =應發(fā)工資 合計扣款。A 、教師信息處理:(1) 輸入教師信息(2) 插入(修改)教師信息:

3、(3) 刪除教師信息:(4) 瀏覽教師信息:提示:具體功能及操作參考題1。(1) 按教師號錄入教師基本工資、津貼、生活補貼、電話費、水電費、房租、所得稅、衛(wèi)生費、公積金等基本數(shù)據(jù)。(2) 教師實發(fā)工資、應發(fā)工資、合計扣款計算。提示:計算規(guī)則如題目。(3) 教師數(shù)據(jù)管理提示:輸入教師號,讀出并顯示該教師信息,輸入新數(shù)據(jù),將改后信息寫入文件。(4) 教師數(shù)據(jù)查詢:提示:輸入教師號或其他信息,即讀出所有數(shù)據(jù)信息,并顯示出來。(5) 教師綜合信息輸出提示:輸出教師信息到屏幕。3. 總體設計( 1) 系統(tǒng)功能模塊教師工 資管理系統(tǒng)信息輸入信息新增信息修改信息刪除信息查找信息分類信息保存圖 1系統(tǒng)功能模塊

4、圖( 2) 模塊化設計為實現(xiàn)系統(tǒng)功能,本程序主要分為七個模塊。它們分別為:輸入教師信息、新增教師信息、修改教師信息、刪除教師信息、查找教師信息、分類教師信息和保存信息。這七個函數(shù)再通過主函數(shù)調(diào)用分別得以實現(xiàn)。主函數(shù) main ,首先提供了程序運行時的友好界面,列出了清單,提供用戶做出選擇,以便決定使用主菜單的哪種功能。然后,通過執(zhí)行多分支選擇語句switch 語句,分別實現(xiàn)其它各個函數(shù)的調(diào)用功能。其它各個函數(shù)的功能分別如下:Void menu() :用于打印出主菜單選項;PAY *input() :用于對教師個人信息中數(shù)據(jù)的輸入;PAY *insert() :用于新增教師個人信息;PAY *r

5、evise() :用于對教師個人信息的修改。PAY *del() :用于對教師個人信息的刪除;Void search() :用于對教師個人信息的查找;PAY *open() :用于打開教師個人信息中的所有信息;Void output() :用于對教師個人信息中數(shù)據(jù)的輸出;Void save(PAY *head) :用于對教師個人信息中數(shù)據(jù)以文件的形式保存起來;( 3) 模塊接口設計本程序中,大量地運用了鏈表,這樣就使對教師個人信息的插入、刪除和修改變得更為簡便些。本程序執(zhí)行的入口是main 函數(shù),然后在main 函數(shù)中首先調(diào)用了menu 函數(shù),這就實現(xiàn)了對教師信息中的數(shù)據(jù)的讀入。接下來在do-

6、while 語句中再套用switch 語句實現(xiàn)對各個函數(shù)的調(diào)用。最后,再從main 函數(shù)中結(jié)束整個程序的運行。4. 詳細設計( 1) 數(shù)據(jù)結(jié)構(gòu)設計本程序中, 運用了多種數(shù)據(jù)結(jié)構(gòu)。首先對于教師個人信息中各項詳細信息的記錄用了結(jié)構(gòu)數(shù)組的形式,然后又運用鏈表動態(tài)地分配內(nèi)存單元,在Input 函數(shù)中,把保存在數(shù)組中的值再賦值給其中的一個結(jié)點,通過指針的后移,把多個數(shù)據(jù)連成一個鏈,形成一個鏈表。在這過程當中, 還運用了數(shù)據(jù)文件的方式,每一次從終端輸入的數(shù)據(jù)都以數(shù)據(jù)文件的形式保存到了磁盤。對于主要數(shù)據(jù)結(jié)構(gòu)的舉例如下:結(jié)構(gòu)數(shù)組:typedef struct paylong num,tel;char name

7、20,sex10,dw20,add20;float should_pay,jbgz,jt,shbt;float koukuan,rent,gj,sd,tel_fee,sds;float actual_pay;struct pay *next;( 2) 流程圖主函數(shù)流程圖:開始顯示一系列功能選項否輸入 sel,判斷 sel 是否不等于 0?是根據(jù) sel 的值調(diào)用各功能模塊函數(shù)結(jié)束圖 2.主函數(shù)流程圖PAY *input() 函數(shù)流程圖:通過主函數(shù)調(diào)用是判斷鏈表是否為空?否逐一輸入教師個人信息通過 n 來累加輸入的教師人數(shù)結(jié)束圖 3.教師信息輸入函數(shù)流程圖PAY *Insert() 函數(shù)流程圖:

8、通過主函數(shù)調(diào)用是判斷原鏈表是否為空?否逐一輸入教師個人信息新插入結(jié)點成為頭結(jié)點新插入結(jié)點成為尾結(jié)點結(jié)束圖 4.教師信息插入函數(shù)流程圖Void Search() 函數(shù)流程圖:通過主函數(shù)調(diào)用是判斷鏈表是否為空?否輸入要查詢的教師號否判斷是否存在所輸入的教師個人信息?是顯示出所要查詢的教師個人信息結(jié)束圖 5.教師信息查詢函數(shù)流程圖PAY *Del() 函數(shù)流程圖:通過主函數(shù)調(diào)用是判斷鏈表是否為空?否輸入要刪除的教師號否判斷是否存在該教師號?是刪除該教師個人信息結(jié)束圖 6.教師信息刪除函數(shù)流程圖PAY *Revise() 函數(shù)流程圖:通過主函數(shù)調(diào)用是判斷鏈表是否為空?否輸入要修改的教師號否判斷要找的教

9、師號是否存在?是修改該教師個人信息?結(jié)束圖 7.教師信息修改函數(shù)流程圖5. 調(diào)試與測試( 1) 調(diào)試過程中的主要問題由于本程序是分模塊設計的,所以運行時選擇完任務并且執(zhí)行完任務后,又會繼續(xù)回到用戶選擇界面,供用戶繼續(xù)選擇任務并執(zhí)行任務,整個程序以文件形式讀寫,所以每次都可對輸入的數(shù)據(jù)進行保存。但在調(diào)試修改、模塊等其它的程序中,總是無法正確退出。所以,總體上來說,在調(diào)試過程中還是有比較大的困難。( 2) 測試結(jié)果的分析與討論 登錄主界面: 若賬號輸入正確:若賬號輸入不正確:創(chuàng)建工資信息: 輸入完成后按7 存盤:新增工資信息:修改工資信息:刪除工資信息: 刪除后存盤: 再查找刪除后的信息:查找工資

10、信息:分類信息列表:保存信息:退出程序:6. 設計體會通過為期五天的課程設計,我們對C 語言程序設計這門課程有了更深一步的了解。它是計算機程序設計的重要理論技術基礎,在我們信息與計算科學專業(yè)的學習中占據(jù)著十分重要的地位。同時,也使我們知道,要學好這門課程,僅學習書本上的知識是不夠的,還要有較強的實踐能力。運用 C 語言中的算法思想作數(shù)據(jù)結(jié)構(gòu),結(jié)合 C 語言基本知識, 編寫一個教師工資管理系統(tǒng)。通過完成本課題,進一步熟悉C 語言的基本知識,并掌握數(shù)據(jù)結(jié)構(gòu)的一些基本算法思想,掌握C 語言的文件操作(包括從磁盤讀入和向磁盤寫入內(nèi)容),進一步熟悉指針的用法,數(shù)組的建立運用和函數(shù)的調(diào)用等。另外,在調(diào)試每

11、一個模塊中,有些模塊是很棘手的。但,我們經(jīng)過不斷地修改和調(diào)試,最終,我們還是克服了這些困難,頓時就覺得很開心,而且還有點小小的成就感。原來,我們無論面對什么困難,只要不放棄,并且執(zhí)著當初的目標,那么,我們總會成功的。當然,對于這次的二人合作,我們覺得還不錯。分工比較明顯,而且,我們也會時時刻刻地交流各自的想法。雖然,我們兩個在C 語言方面不是最厲害的,但,我們至少很努力和很認真地完成課程設計。所以,無論結(jié)果如何,我們都問心無愧了。參考文獻3-5 篇,格式如下:1何欽銘,顏暉 . C 語言程序設計 ( 第 2 版 )M.北京 :高等教育出版社 . 2012年 3月.2肖捷,陳雪芳 . C/C 語

12、言程序設計實訓教程與水平考試指導(第1 版) M.北京 :高等教育出版社 . 2012年 3月.3顏暉,柳俊 .C 語言程序設計實驗與習題指導( 第 2版 )M.北京 : 高等教育出版社.2012 年 3月.附件:程序清單說明:將代碼貼在下表中,文字大小小五,英文采用段后 0 行,代碼必須有足夠的注釋。Time New Roman ,行間距1 倍,段前Calculator()/* 簡單計算器*/int a4,b4,c4,i,j,k;char ch4;/* 定義FILE *fp1,*fp2;fp1=fopen("expres.txt","r");/* 定義

13、 ab 兩個數(shù)組存放數(shù)c 存放運算符 */* 打開 expres 文件 */*/if(fp1=NULL)/* 判斷打開成功*/printf("Can not open file expresn");exit(1);for(i=0;i<=3;i+)fscanf(fp1,"%d%c%d",&ai,&chi,&bi);/* 循環(huán)讀入四道題*/for(j=0;j<=3;j+)switch(chj)/* 判斷運算符 */ case '+':cj=aj+bj; break; case '-':cj=aj-bj; break;case '*':cj=aj*bj; break;case '/':cj=aj/bj; break;fp2=fopen("result.txt","w"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論