c語言教師工資管理系統(tǒng)方案_第1頁
c語言教師工資管理系統(tǒng)方案_第2頁
c語言教師工資管理系統(tǒng)方案_第3頁
c語言教師工資管理系統(tǒng)方案_第4頁
c語言教師工資管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.PAGE.C語言程序設(shè)計課程設(shè)計報告設(shè)計題目:教師工資管理系統(tǒng)班級學(xué)號姓名指導(dǎo)教師起止時間2010-10-26至2010-12-26..設(shè)計任務(wù)該系統(tǒng)包含教師的基本信息,供讀者查詢。建立一個文件,包括老師的信息,包括:教師號、姓名、性別、單位名稱、家庭住址、、基本工資、津貼、生活補(bǔ)貼、應(yīng)發(fā)工資、費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金等。讀者可以輸入教師信息、插入教師信息、刪除教師信息、瀏覽教師信息、查詢教師信息和修改教師信息。同時讀者可以將之前錄入的教師信息保存下來,然后關(guān)閉程序后,再次打開后只需加載教師信息就可以了。更加方便以后程序。評語<教師填寫>..目錄設(shè)計任務(wù)2評語<教師填寫>21.課程設(shè)計目的42.課程設(shè)計題目……………….53.功能描述64.數(shù)據(jù)結(jié)構(gòu)設(shè)計85.功能模塊設(shè)計105.1主控模塊設(shè)計105.2輸入記錄模塊115.3插入記錄模塊115.4刪除記錄模塊126.函數(shù)功能描述136.1保存數(shù)據(jù)函數(shù)save<>136.2查詢數(shù)據(jù)函數(shù)query<>136.1修改數(shù)據(jù)函數(shù)edit<>146.1加載數(shù)據(jù)函數(shù)load<>157.運(yùn)行結(jié)果157.1系統(tǒng)主界面15 7.2輸入教師信息界面………………..16 7.3輸出教師信息界面18 7.4插入教師信息界面……………….19 7.5保存和加載教師信息界面………………….…208.個人設(shè)計小結(jié)與心得體會21參考文獻(xiàn)22..1.課程設(shè)計目的本程序旨在訓(xùn)練基本編程能力,了解管理信息系統(tǒng)的開發(fā)流程,熟悉C語言的文件和結(jié)構(gòu)數(shù)組的各種基本操作。本程序涉及結(jié)構(gòu)體、數(shù)組、指針、文件等方面的知識。通過本程序的訓(xùn)練,使讀者能對C語言的文件操作有一個更深刻的了解,掌握利用數(shù)組存儲結(jié)構(gòu)實(shí)現(xiàn)教師工資管理系統(tǒng),為進(jìn)一步開發(fā)出高質(zhì)量信息管理系統(tǒng)打下堅實(shí)的基礎(chǔ)?!?鞏固和加強(qiáng)《C語言程序設(shè)計》課程的理論知識。〔2掌握C語言的基本概念、語法、語義和數(shù)據(jù)類型的使用特點(diǎn)?!?掌握C語言程序設(shè)計的方法及編程技巧,能正確使用C語言編寫程序?!?進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程設(shè)計的思想和方法;學(xué)會利用流程圖表示算法?!?掌握調(diào)試程序的基本方法及上機(jī)操作方法?!?掌握書寫程設(shè)計開發(fā)文檔的能力,學(xué)會撰寫課程設(shè)計總結(jié)報告。課程設(shè)計的思想和方法還可以作為畢業(yè)論文時的參考資料?!?通過查閱手冊和文獻(xiàn)資料,培養(yǎng)自己獨(dú)立分析問題和解決問題的能力。為自己做畢業(yè)設(shè)計打好基礎(chǔ)。〔8初步掌握開發(fā)一個小型實(shí)用系統(tǒng)的基本方法:結(jié)合實(shí)際應(yīng)用的要求,使課程設(shè)計既覆蓋知識點(diǎn),又接近工程實(shí)際需要。通過激發(fā)學(xué)習(xí)興趣,調(diào)動自己主動學(xué)習(xí)的積極性,并根據(jù)實(shí)際編程要求,訓(xùn)練自己實(shí)際分析問題的能力及編程能力,并養(yǎng)成良好的編程習(xí)慣?!?培養(yǎng)自己的創(chuàng)新能力和創(chuàng)新思維??梢愿鶕?jù)指導(dǎo)書和相關(guān)文獻(xiàn)上的參考算法,自己設(shè)計出相應(yīng)的應(yīng)用程序?!?0培養(yǎng)自己良好的程序設(shè)計風(fēng)格。在實(shí)際編程中,為了提高編程質(zhì)量,對空行、空格和注釋均有要求。自己在課程設(shè)計書寫代碼時,應(yīng)該嚴(yán)格按要求處理,以便建立良好的程序設(shè)計風(fēng)格。2.課程設(shè)計題目教師工資管理系統(tǒng)每個教師的信息為:教師號、姓名、性別、單位名稱、家庭住址、、基本工資、津貼、生活補(bǔ)貼、應(yīng)發(fā)工資、費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金、合計扣款、實(shí)發(fā)工資。注:應(yīng)發(fā)工資=基本工資+津貼+生活補(bǔ)貼;合計扣款=費(fèi)+水電費(fèi)+房租+所得稅+衛(wèi)生費(fèi)+公積金;實(shí)發(fā)工資=應(yīng)發(fā)工資-合計扣款。A、教師信息處理<1>輸入教師信息<2>插入〔修改教師信息:<3>刪除教師信息:<4>瀏覽教師信息:提示:具體功能及操作參考題1。B、教師數(shù)據(jù)處理:<1>按教師號錄入教師基本工資、津貼、生活補(bǔ)貼、費(fèi)、水電費(fèi)、房租、所得稅、衛(wèi)生費(fèi)、公積金等基本數(shù)據(jù)。<2>教師實(shí)發(fā)工資、應(yīng)發(fā)工資、合計扣款計算。提示:計算規(guī)則如題目。<3>教師數(shù)據(jù)管理提示:輸入教師號,讀出并顯示該教師信息,輸入新數(shù)據(jù),將改后信息寫入文件<4>教師數(shù)據(jù)查詢:提示:輸入教師號或其他信息,即讀出所有數(shù)據(jù)信息,并顯示出來。<5>教師綜合信息輸出提示:輸出教師信息到屏幕。3.功能描述根據(jù)需求描述,本人按照結(jié)構(gòu)化程序設(shè)計的原則將整個系統(tǒng)劃分若干個功能模塊。系統(tǒng)各子模塊的設(shè)計如下:主界面主界面選擇操作選擇操作1——1——輸入教師信息2——插入教師信息2——插入教師信息33——刪除教師信息教師工資管理系統(tǒng)教師工資管理系統(tǒng)4——瀏覽教師信息4——瀏覽教師信息55——錄入教師信息6——查詢教師信息6——查詢教師信息7——修改教師信息7——修改教師信息8——加載教師信息8——加載教師信息結(jié)束0——退出系統(tǒng)結(jié)束0——退出系統(tǒng)圖1教師工資系統(tǒng)功能模塊圖<1>輸入教師信息模塊在主菜單中運(yùn)用結(jié)構(gòu)體teacher,輸入教師信息,首先建立鏈表,將用戶輸入的學(xué)生信息存儲到鏈表中,輸入完成后提示用戶時候繼續(xù)輸入,如果用戶輸入"Y"或"y",則再次調(diào)用,實(shí)現(xiàn)繼續(xù)輸入學(xué)生信息的操作。如果用戶輸入"N"或"n",則返回主菜單界面。<2>插入教師信息模塊在主菜單中調(diào)用teacher*insert<>,然后按照提示依次輸入教師信息,然后再調(diào)用voidprint〔函數(shù)講所有的教師信息記錄打印出來。然后再返回主菜單界面。<3>刪除教師信息模塊在主菜單中調(diào)用del<>函數(shù),以刪除教師信息,首先按學(xué)號查詢教師信息,如果沒有找到教師信息,給出提示信息。如果查找到該教師信息,給出改教師的全部信息,如果查找到,則刪除該教師信息,給出刪除成功的提示信息。然后返回主菜單界面。<4>瀏覽教師信息模塊在主菜單中調(diào)用voidprint<>函數(shù)來顯示教師信息,先判斷鏈表是否為空。如果鏈表不為空時,逐條顯示鏈表中教師的信息,顯示調(diào)用teacher*next<>函數(shù)按照教師號的大小來顯示教師的信息。然后返回主菜單界面。<5>保存教師信息模塊 在主菜單中調(diào)用voidsave<>函數(shù)來保存教師信息到teacher_list這個文件中。并給出"保存成功"的提示信息。然后返回主菜單界面。<6>查詢教師信息模塊 在主菜單中選擇6的時候進(jìn)行教師信息的查詢,調(diào)用voidquery<>函數(shù),按教師號查詢信息。提示用戶輸入要查找的教師號,然后調(diào)用voidquery<>函數(shù),查找成功,最后打印出教師的信息。然后返回主菜單界面。<7>修改教師信息模塊 在主菜單中調(diào)用voidedit<>函數(shù)。按教師號查找教師信息,如果找到教師信息,調(diào)用voidedit<>函數(shù)提示用戶輸入新的教師信息,完成修改的操作。操作結(jié)束后提示用戶修改成功。然后返回主菜單界面。<8>加載教師信息模塊 在主菜單中調(diào)用voidload<>函數(shù)。如果存在teacher_list文件并不為空,打開文件,找到教師信息。如果存在teacher_list文件并為空,給出提示,"cannotopenfile"。然后返回主菜單界面。<9>退出系統(tǒng)模塊 將鏈表中的數(shù)據(jù)全部釋放掉,防止內(nèi)存泄露。退出系統(tǒng)。4.數(shù)據(jù)結(jié)構(gòu)設(shè)計本程序定義了結(jié)構(gòu)體teacher,主要用于存放圖書的基本信息,如下所示:structteacher{ intnum; charname[10]; charsex[10]; charunit[10]; charaddress[10]; longtelnum; floatsalary_1; floatallowance; floatlife_allow; floatsalary_2; floattel_fee; floatwater_fee; floatrent; floattax; floathealth_fee; floatgrant; floattotal_fee; floatactual_salary; structteacher*next; };其中,各字段含義如下 intnum:教師號 charname[10]:教師姓名 charsex[10]:教師性別 charunit[10] :教師單位 charaddress[10]:教師住址 longtelnum:教師號碼 floatsalary_1:基本工資 floatallowance:津貼 floatlife_allow:生活補(bǔ)貼 floatsalary_2:應(yīng)發(fā)工資 floattel_fee:費(fèi) floatwater_fee:水電費(fèi) floatrent:房租 floattax:個人所得稅 floathealth_fee:衛(wèi)生費(fèi) floatgrant:公積金 floattotal_fee:合計扣款 floatactual_salary:實(shí)發(fā)工資 structteacher*next:指向下一個節(jié)點(diǎn)的指針5.功能模塊設(shè)計5.1主控模塊設(shè)計主控函數(shù)的流程圖如圖1所示。首先,調(diào)用voidwelcome<>子函數(shù)和charmainmenu<>子函數(shù)顯示歡迎界面和初始界面;再次,調(diào)用main<>函數(shù)并令ch=mainmenu<>,在main<>函數(shù)中,用switch語句實(shí)現(xiàn)該系統(tǒng)各功能,若ch=1,系統(tǒng)實(shí)現(xiàn)輸入教師信息功能;若ch=2,系統(tǒng)實(shí)現(xiàn)插入教師信息功能;若ch=3,系統(tǒng)實(shí)現(xiàn)刪除教師信息功能;若ch=4,系統(tǒng)實(shí)現(xiàn)瀏覽教師信息功能;若ch=5,系統(tǒng)實(shí)現(xiàn)保存教師信息功能;若ch=6,系統(tǒng)實(shí)現(xiàn)查詢教師信息功能;若ch=7,系統(tǒng)實(shí)現(xiàn)修改教師信息功能;若ch=8,系統(tǒng)實(shí)現(xiàn)加載教師信息功能;若ch=0,退出系統(tǒng)?!矊χ骺睾瘮?shù)進(jìn)行文字描述5.2輸入記錄模塊他輸入教師信息的流程圖如下圖。首先要開辟一個新節(jié)點(diǎn),并使p1,p2指向它。讀入一個教師數(shù)據(jù)給p1所指的節(jié)點(diǎn)。此時要使head=NULL,n=0,并且p1->num!=0。開辟一個新節(jié)點(diǎn),并使P1,p2指向它讀入一個教師數(shù)據(jù)給P1所指的結(jié)點(diǎn)開辟一個新節(jié)點(diǎn),并使P1,p2指向它讀入一個教師數(shù)據(jù)給P1所指的結(jié)點(diǎn)Head=NULL&&n=0<當(dāng)讀入的p1->num!=o>N=n+1N=1真假Head=p1p2->next=p1把p1所指的結(jié)點(diǎn)把p1所指的結(jié)點(diǎn)作為第一結(jié)點(diǎn)連接到表尾P2=p1再開辟一個新結(jié)點(diǎn),使p1指向它讀入一個教師數(shù)據(jù)給p1所指結(jié)點(diǎn)5.3插入記錄模塊插入記錄模塊具體流程圖如下圖所示:P1=head,p0=teacher原來的鏈表是空表是否當(dāng)p0->num>p1->num以及p1所指的不是表尾結(jié)點(diǎn)P2指向p1位置P1向后移一個結(jié)點(diǎn)P0->num<=p1->num將p0所真假指的結(jié)p1指向頭結(jié)點(diǎn)點(diǎn)作為是否p1->next=p0唯一的head=p0p2->next=p0結(jié)點(diǎn)p0->next=p1p0->next=p1p0->next=NULL鏈表是一個空鏈表真假P1=head輸當(dāng)num!=p1->num以及p1所指的結(jié)點(diǎn)不是表尾結(jié)點(diǎn)P2=p1鏈表是一個空鏈表真假P1=head輸當(dāng)num!=p1->num以及p1所指的結(jié)點(diǎn)不是表尾結(jié)點(diǎn)P2=p1出P1=p1->nextP1是要刪除的結(jié)點(diǎn)是否空p1所指的頭結(jié)點(diǎn)是否輸出找不到表head=p2->next=教師信息P1->nextp1->next6.函數(shù)功能描述6.1保存數(shù)據(jù)函數(shù)save<>函數(shù)原型:voidsave<>功能描述:將鏈表teacher中的N個數(shù)據(jù)寫入到磁盤文件teacher_list中,如果保存成功,則給出提示保存成功,否則返回"cannotofenfile"表示無法打開文件,返回"filewriteerror"表示文件輸入錯誤。6.2查詢教師信息函數(shù)query<>函數(shù)原型:voidquery<structteacher*p>功能描述:將鏈表teacher中的head指向p,然后讓用戶輸入教師號no,依次在鏈表中需找p,如果教師號不對,則指針往后面撥動一下,使p=p->next;知道找到相對應(yīng)的正確的教師號。然后打印出教師的基本信息。函數(shù)流程圖如圖5.2所示p=headp=headp->num=nop->num!=nop=p->nextp=p->next打印教師信息打印教師信息圖5.26.3修改教師信息函數(shù)edit<>函數(shù)原型:voidedit<structteacher*p>功能描述:首先讓用戶輸入希望修改的教師的教師號a,然后在鏈表中一條一條查找看p->num是否等于a,如果找到,則讓用戶再次輸入教師的具體信息,輸入完畢跳出,轉(zhuǎn)向主菜單界面。如果沒有找到,則令p=p->next。直到查詢完所有的教師記錄。函數(shù)流程圖如圖5.3所示輸入想修改教師信息的教師號a輸入想修改教師信息的教師號ap->num==ap->num==aYesnop=p->next再次輸入教師信息p=p->next再次輸入教師信息6.4加載教師信息函數(shù)load<>函數(shù)原型:voidload<>功能描述:首先進(jìn)行判定""teacher_list"是否為空,如果為空,給出提示,然后將p1,p2定義為動態(tài)的存儲教師的記錄,并將p1定義為頭結(jié)點(diǎn),然后依次一條一條的讀出。部分代碼如下: p1=p2=<structteacher*>malloc<LEN>; head=p1; fread<&n,sizeof<n>,1,fp>; do { if<fread<p1,sizeof<structteacher>,1,fp>!=1> { printf<"fileerror\n">; gotoend; } if<p1->next!=NULL> { p2=p1; p1=<structteacher*>malloc<LEN>; p2->next=p1; } else break; }while<1>;7.運(yùn)行結(jié)果7.1系統(tǒng)主界面用戶剛進(jìn)入系統(tǒng)時,如圖6.1所示。主菜單界面:圖6.1用戶根據(jù)自己的需求輸入自己的選擇。7.2輸入界面用戶在主菜單界面的時候輸入1,顯示如圖6.2:圖6.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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論