版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> 題 目: </b></p><p> 設(shè) 計(jì) 者: </p><p><b> 專業(yè)班級(jí): </b></p><p> 學(xué) 號(hào): </p><
2、;p> 指導(dǎo)教師: </p><p><b> 所屬院系: </b></p><p> 2011年6月30日</p><p><b> 目錄</b></p><p> 本次課題的基本內(nèi)容和要求..........................................
3、...............</p><p> 軟件設(shè)計(jì)整體規(guī)劃及方案……...………...………………………………………</p><p> 程序功能簡(jiǎn)介……...…...……………………………………………………………..</p><p> 操作方法(流程)……...…………………………………………………………………..</p><p&g
4、t; 各模塊的功能及程序說明……...………………………………………………….</p><p> 試驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)……...……………………………</p><p> 設(shè)計(jì)體會(huì)……...…………………………………………………………………………….</p><p> 源代碼……...…………………………………………………………………………………
5、</p><p> 參考文獻(xiàn)……...…………………………………………………………………………….</p><p> 一、本次課題的基本內(nèi)容和基本要求:</p><p> 基本內(nèi)容:運(yùn)用C語(yǔ)言進(jìn)行編程設(shè)計(jì)一個(gè)職工工資管理系統(tǒng)的程序,很好地實(shí)現(xiàn)該系統(tǒng)的各項(xiàng)功能。熟練運(yùn)用turbo c,完成本次實(shí)驗(yàn)。</p><p> 基本要求:本次“C
6、語(yǔ)言程序設(shè)計(jì)實(shí)踐”課程設(shè)計(jì),是基于“C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)”課程學(xué)習(xí)內(nèi)容的重要實(shí)踐環(huán)節(jié),其主要目的在于,通過綜合程序課程設(shè)計(jì),培養(yǎng)和提高學(xué)生的獨(dú)立分析問題、解決實(shí)際問題的能力和計(jì)算機(jī)語(yǔ)言編程能力。本次課程設(shè)計(jì)時(shí)間為2周,要求每位同學(xué)在為期兩周的時(shí)間段內(nèi),獨(dú)立完成相關(guān)設(shè)計(jì)題所規(guī)定的任務(wù),</p><p> 合理安排時(shí)間。安排情況如下:</p><p> 1、閱讀設(shè)計(jì)題目、任務(wù)內(nèi)容,規(guī)劃設(shè)計(jì)進(jìn)
7、度,并進(jìn)行軟件的各相關(guān)功能模塊的規(guī)劃設(shè)計(jì)(1天)。</p><p> 2、在Turbo C環(huán)境下,用結(jié)構(gòu)化程序設(shè)計(jì)思想進(jìn)行C語(yǔ)言程序設(shè)計(jì)、功能模塊調(diào)試(7-9天)。其中菜單及登錄界面的設(shè)計(jì)(1天), 各子函數(shù)的設(shè)計(jì)(4-5天),采用分文件的方法并上機(jī)不斷進(jìn)行調(diào)試和修改(2-3天)。</p><p> 3、進(jìn)行課程設(shè)計(jì)報(bào)告編寫與整理(2天)。</p><p>
8、; 二、軟件整體規(guī)劃及方案</p><p> 閱讀好設(shè)計(jì)題目和要求后,設(shè)計(jì)算法,采用分文件的形式,使各功能得到更好的實(shí)現(xiàn)。以主函數(shù),采取分模塊化,使各模塊獨(dú)立。進(jìn)行結(jié)構(gòu)化分析,其指導(dǎo)思想為自頂向下、逐步求精、單入口/單出口,基本原則是抽象和功能的分解。對(duì)于較為復(fù)雜問題的大型程序開發(fā),應(yīng)采取“自頂向下、逐步細(xì)化和模塊化”的設(shè)計(jì)方法,模塊化程序設(shè)計(jì)是結(jié)構(gòu)化程序設(shè)計(jì)方法在開發(fā)大型程序中的應(yīng)用</p>
9、<p> 所謂“自頂向下,逐步細(xì)化、逐步求精”就是在對(duì)于給定問題進(jìn)行透徹的了解和詳細(xì)的分析的基礎(chǔ)上,把問題分解成若干個(gè)按順序執(zhí)行的邏輯部分,稱為“模塊”。每個(gè)子任務(wù)如果仍很復(fù)雜,還可以再分解為若干個(gè)子任務(wù)。如此逐層分解,對(duì)于每個(gè)模塊的設(shè)計(jì)都采用這種“自頂向下、逐步細(xì)化”的方法,將它們分解成為基本結(jié)構(gòu)為止,就如同寫文章先擬出題目和中心內(nèi)容,再確定分為幾大部分,每一大部分又分哪幾節(jié),每一節(jié)分為幾段,每一段包括哪幾個(gè)意思,這就是“
10、自頂向下,逐步細(xì)化”的方法。</p><p> 當(dāng)一個(gè)程序的規(guī)模比較龐大,層次和模塊比較多時(shí),不要每次都將所有模塊按順序執(zhí)行一遍,最好在每一層,至少在最高幾層都設(shè)一個(gè)“菜單”。為方便用戶操作,“菜單”技術(shù)已廣泛使用在計(jì)算機(jī)的系統(tǒng)軟件中,具體做法是:程序首先把各功能說明及相應(yīng)代號(hào)以菜單形式顯示在屏幕上,然后由用戶在鍵盤上輸入所選的功能代號(hào),程序自動(dòng)轉(zhuǎn)去調(diào)用相應(yīng)的功能模塊進(jìn)行處理。</p><p
11、><b> 三、程序功能簡(jiǎn)介</b></p><p> 1. 輸入記錄:將每一個(gè)職工的姓名、ID號(hào)以及基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險(xiǎn)、公積金的數(shù)據(jù)作為一個(gè)記錄。該軟件能建立一個(gè)新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄。</p><p> 2. 顯示記錄:根據(jù)用戶提供的記錄或者根據(jù)職工姓名顯示一個(gè)或幾個(gè)職工的各項(xiàng)工資及平均工資。</p>
12、<p> 3. 修改記錄:可以對(duì)數(shù)據(jù)文件的任意記錄進(jìn)行修改并在修改前后對(duì)記錄內(nèi)容進(jìn)行顯示。</p><p> 4. 查找記錄:可以對(duì)數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行查找并在查找前后對(duì)記錄內(nèi)容進(jìn)行顯示。</p><p> 5. 刪除記錄:可刪除數(shù)據(jù)文件中的任意記錄。</p><p> 6. 恢復(fù)記錄:能恢復(fù)被刪除的人已記錄。</p>&
13、lt;p> 7. 添加記錄:可以在數(shù)據(jù)文件中添加記錄并添加記錄后對(duì)記錄內(nèi)容進(jìn)行顯示。</p><p> 8. 統(tǒng)計(jì):(A)計(jì)算各項(xiàng)工資平均工資及總工資,(B)統(tǒng)計(jì)符合指定條件(如職工工資前三項(xiàng)之和在2000元以上、2000~1500元、1500~1000元)以內(nèi)的工資職工人數(shù)及占總職工人數(shù)的百分比。(C)按字符表格形式打印全部職工工資信息表即平均工資(包括各項(xiàng)總的平均工資)。</p>&l
14、t;p> 9.保存數(shù)據(jù)文件功能。</p><p> 經(jīng)過逐層逐塊、不斷細(xì)化、求精過程,編寫程序并進(jìn)行測(cè)試、驗(yàn)證,可以逐個(gè)模塊地分開調(diào)試,并通過文件包含或用工程文件的形式進(jìn)行逐步聯(lián)合調(diào)試。將一些頭文件放入一個(gè)HEAD的文件中,變量的定義放入HEAD2的文件中,自定義函數(shù)的聲明放入DECLARATION的文件中,各個(gè)子函數(shù)文件放入FUNCTION的文件中。</p><p><b
15、> 四、操作方法</b></p><p> 進(jìn)入版本信息界面后,敲擊enter鍵進(jìn)入主菜單。</p><p> 然后根據(jù)主菜單進(jìn)行操作,選擇功能1為輸入信息。功能2 為輸出信息,敲任意鍵返回。</p><p> 返回主菜單后,選擇3為修改功能,根據(jù)提示用戶可以選擇通過ID號(hào)或姓名進(jìn)行修改。</p><p> 功能4
16、為查詢功能,可通過ID號(hào)、姓名、基本工資、職務(wù)工資、津貼、醫(yī)療保險(xiǎn)、公積金來查詢。其中會(huì)有提示用戶繼續(xù)查詢的功能,按1繼續(xù)查詢,按2則返回主菜單。</p><p> 功能5為刪除功能,用戶根據(jù)提示信息,輸入ID號(hào)先查找出該項(xiàng)信息,然后會(huì)提示用戶是否確認(rèn)刪除,選擇1為確認(rèn),0為返回,敲任意鍵返回主菜單。</p><p> 功能6為恢復(fù)函數(shù),實(shí)現(xiàn)將刪除的信息恢復(fù)回來。</p>
17、<p> 功能7為添加函數(shù),根據(jù)提示輸入另外的職工的信息,在進(jìn)行選擇是否繼續(xù)添加,1為是,0為返回。</p><p> 功能8為統(tǒng)計(jì)功能,用戶可看到原始信息,查看工資在1000~1500的選擇1,1500~2000的選擇2,2000以上的選擇3,選擇完畢后用戶會(huì)看到該范圍內(nèi)的人數(shù)及比例,還有會(huì)先輸出總的各項(xiàng)工資平均值,再提示是否繼續(xù)統(tǒng)計(jì),1為繼續(xù),0為返回主菜單。</p><p
18、> 返回主菜單后,選擇0 為退出程序。</p><p> 五、各模塊的功能及程序說明</p><p> 1.main函數(shù)中主要顯示菜單并進(jìn)行調(diào)用函數(shù)操作。</p><p> 2.input函數(shù)主要是讓用戶往系統(tǒng)中輸入職工的相關(guān)信息,在調(diào)用保存函數(shù)save和save2保存到兩個(gè)文件employee_list、worker_txt(備份文件)中。其中保存到
19、worker_txt中是備份數(shù)據(jù)。</p><p> 3.diplay函數(shù)是用來顯示用戶輸入的信息,以便用戶觀察。</p><p> 4.modfiy函數(shù)是用來讓用戶修改輸入或原有的信息,然后在調(diào)用save和save2函數(shù)將數(shù)據(jù)保存起來。并且用戶可以選擇不同的方式對(duì)數(shù)據(jù)信息進(jìn)行修改,可以用輸入ID號(hào)或職工的姓名來進(jìn)行數(shù)據(jù)修改。</p><p> 5.searc
20、h函數(shù)是供用戶查詢信息用的。也有很多方式供用戶選擇,用戶可以通過選擇職工的ID號(hào)、姓名、基本工資、職務(wù)工資、津貼、醫(yī)療保險(xiǎn)、公積金來對(duì)職工信息進(jìn)行查詢。</p><p> 6.delete函數(shù)是幫助用戶將不需要的信息及時(shí)刪除,用戶根據(jù)職工的ID號(hào)來刪除信息。然后只調(diào)用save函數(shù),對(duì)該操作進(jìn)行保存。</p><p> 7.recover函數(shù)是幫助用戶將誤刪的信息恢復(fù),通過將worker
21、_txt中的數(shù)據(jù)信息復(fù)制到文件employee_list中來實(shí)現(xiàn)恢復(fù),然后再調(diào)用save函數(shù)進(jìn)行保存。</p><p> 8.add函數(shù)是用來添加職工信息的。用戶可以輸入多條信息添加到該系統(tǒng)中,然后在調(diào)用save和save2函數(shù)對(duì)數(shù)據(jù)信息進(jìn)行保存并備份。</p><p> 9.save、save2函數(shù)都為保存函數(shù),每次操作是但需要保存時(shí)對(duì)兩者進(jìn)行調(diào)用,但在刪除函數(shù)中只能調(diào)用save函數(shù)
22、,因?yàn)閭浞菸募械臄?shù)據(jù)信息是用來恢復(fù)刪除信息用的。</p><p> 10.load、load2函數(shù)為導(dǎo)出函數(shù),在每次要用到數(shù)據(jù)信息是要調(diào)用這兩個(gè)函數(shù),并且當(dāng)進(jìn)行recover函數(shù)時(shí)只能調(diào)用load2函數(shù),將備份中的數(shù)據(jù)信息保存到employee_list中,從而達(dá)到恢復(fù)功能。</p><p> 11.將一些程序中的頭文件都包含到head文件中。將變量的定義放到head2文件之中,其中
23、包括全局變量和結(jié)構(gòu)體等等。再將自定義函數(shù)聲明放入到declaration文件中,然后把含有子函數(shù)定義過程的文件都放入function文件中。</p><p> 六、試驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)</p><p> 輸入數(shù)據(jù)及界面如上圖所示。</p><p> 輸出的數(shù)據(jù)如上圖所示,各職工的信息都以顯示出來。</p><p><
24、b> 七、設(shè)計(jì)體會(huì)</b></p><p> 為期兩周的課程設(shè)計(jì)已經(jīng)結(jié)束了,經(jīng)過了一個(gè)學(xué)期的C語(yǔ)言學(xué)習(xí),我已經(jīng)在C語(yǔ)言程序設(shè)計(jì)方面有了更多的了解和體會(huì)。這次的課程設(shè)計(jì)對(duì)我來說是一次考驗(yàn),雖然在期間又遇到過不少問題,但在老師、室友和同學(xué)的幫助下,我還是完成了這次實(shí)驗(yàn)。經(jīng)過了兩周的時(shí)間,我對(duì)其中的知識(shí)點(diǎn)又鞏固了一下,并且能較好掌握不熟練的部分,比如文件的使用,將程序份文件化能很好的在調(diào)試過程中對(duì)
25、語(yǔ)句進(jìn)行修改,如果不分文件的話,在修改的時(shí)候會(huì)因?yàn)槌绦蛱L(zhǎng)而帶來麻煩。</p><p> 起初,我比較迷茫,因?yàn)樵谖募矫孀约翰惶煜ぃ恢廊绾问褂?,這讓我在比較頭疼,經(jīng)過一天的時(shí)間,通過看書以及這方面的資料和向同學(xué)求助,最后我還是弄懂了,心里挺開心的。在子函數(shù)我遇到了一個(gè)很大問題,就是對(duì)恢函數(shù)不知如何下手,我有想過用添加函數(shù)直接加進(jìn)去,還有與同學(xué)探討得知可以找到刪除數(shù)據(jù)信息的位置,然后在輸入進(jìn)去來完成恢復(fù)。
26、但我覺得這樣不夠好,經(jīng)過一個(gè)下午的嘗試,我想到可以將原有的數(shù)據(jù)信息保存進(jìn)兩個(gè)文件中,這樣在進(jìn)行恢復(fù)時(shí)先導(dǎo)出備份中的數(shù)據(jù),在保存到原先的數(shù)據(jù)文件中,這樣就完成了恢復(fù)操作。</p><p> 編寫程序是一項(xiàng)十分縝密的工作,編寫者需要縝密的思維和很好的耐性,在調(diào)試和運(yùn)行的過程中或遇到許多問題,沒有很好的耐性,會(huì)影響自己的心理,變得焦躁。在編寫程序中,真的是細(xì)節(jié)決定成敗,因?yàn)椴还艹绦虻恼Z(yǔ)句是多是少,但是只要有一條語(yǔ)句或
27、語(yǔ)法不正確,就不能使程序得到所需要的結(jié)果。沒能夠使自己編寫出來的程序等到想要的結(jié)果,意味著這是一個(gè)不理想的程序,對(duì)于本次編寫來說則是失敗的。通過此次實(shí)踐,讓我明白了在做任何一件事之前,都需要進(jìn)行整體規(guī)劃,理一下大體的思路,不然會(huì)走很多彎路,浪費(fèi)很多不必要的時(shí)間。</p><p><b> 八、源代碼</b></p><p> /*head.h*/</p>
28、;<p> #ifndef head</p><p> #define head</p><p> #include"stdio.h"</p><p> #include"string.h"</p><p> #include"conio.h"</p&g
29、t;<p> #include"stdlib.h"</p><p> #include"graphics.h"</p><p><b> #endif</b></p><p> /*head2.h*/</p><p> #ifndef head2</p
30、><p> #define head2</p><p> #define N 3</p><p> int t=0,i=0,j=0,k=0;</p><p> static int count=0;</p><p> struct employee</p><p><b> {
31、</b></p><p><b> int id;</b></p><p> char name[40];</p><p> int jiben;</p><p> int zhiwu;</p><p> int jintie;</p><p> i
32、nt yibao;</p><p> int gongjijin;</p><p> int total;</p><p> }em[100],*p=em;</p><p><b> #endif</b></p><p> /*declaration.h 函數(shù)聲明*/</p>
33、<p> #ifndef declaration</p><p> #define declaration</p><p> void input();</p><p> void display();</p><p> void display2();</p><p> void modfi
34、y();</p><p> void search();</p><p> void delete();</p><p> void recover();</p><p> void add();</p><p> void tongji();</p><p> void tongj
35、i1();</p><p> void save();</p><p> int load2();</p><p> void save2();</p><p> int load();</p><p> void menu();</p><p><b> #endif&l
36、t;/b></p><p> /*function.h*/</p><p> #ifndef function</p><p> #define function</p><p> #include"input.c"</p><p> #include"menu.c&quo
37、t;</p><p> #include"display.c"</p><p> #include"display2.c"</p><p> #include"modfiy.c"</p><p> #include"search.c"</p>
38、<p> #include"save.c"</p><p> #include"add.c"</p><p> #include"load.c"</p><p> #include"delete.c"</p><p> #include&qu
39、ot;#c"</p><p> #include"tongji2.c"</p><p> #include"recover.c"</p><p> #include"save2.c"</p><p> #include"load2.c"
40、;</p><p><b> #endif</b></p><p> /*task1.c/</p><p> #include"head.h"</p><p> #include"head2.h"</p><p> #include"de
41、claration.h"</p><p> #include"function.h"</p><p> void main()</p><p><b> {</b></p><p> extern int i;</p><p><b> clrsc
42、r();</b></p><p> gotoxy(20,10);</p><p> printf("**********Central South University**********\n\n");</p><p> gotoxy(20,11);</p><p> printf("
43、 zhigonggongziguanlixitong \n");</p><p> gotoxy(29,12);</p><p> printf(" designed by pzz \n");</p><p> gotoxy(18,13);</p
44、><p> printf(" please click enter \n");</p><p><b> getch();</b></p><p><b> for(;;)</b></p><p><b> {<
45、/b></p><p><b> clrscr();</b></p><p><b> menu();</b></p><p> printf("input i:\n");</p><p> scanf("%d",&i);</p&g
46、t;<p><b> if(i==0)</b></p><p><b> break;</b></p><p><b> else</b></p><p><b> switch(i)</b></p><p><b> {
47、</b></p><p> case 1:input();break;</p><p> case 2:display();break;</p><p> case 3:modfiy();break;</p><p> case 4:search();break;</p><p> case 5:
48、delete();break;</p><p> case 6:recover();break;</p><p> case 7:add();break;</p><p> case 8:tongji();break;</p><p><b> }</b></p><p><b>
49、; }</b></p><p><b> }</b></p><p> /*input.c 輸入函數(shù)*/</p><p> void input()</p><p><b> {</b></p><p><b> clrscr();<
50、/b></p><p> for(i=0;;i++)</p><p><b> {</b></p><p> printf("ID number:\n");</p><p> scanf("%d",&(*(p+i)).id);</p><p
51、> printf("the worker's name:\n");</p><p> scanf("%s",(*(p+i)).name);</p><p> printf("jibengongzi:\n");</p><p> scanf("%d",&(*(
52、p+i)).jiben);</p><p> printf("zhiwugongzi:\n");</p><p> scanf("%d",&(*(p+i)).zhiwu);</p><p> printf("jintie:\n");</p><p> scanf(&q
53、uot;%d",&(*(p+i)).jintie);</p><p> printf("yiliaobaoxian:\n");</p><p> scanf("%d",&(*(p+i)).yibao);</p><p> printf("gongjijin:\n");<
54、/p><p> scanf("%d",&(*(p+i)).gongjijin);</p><p><b> count++;</b></p><p> printf("input again?yes(1) or no(0):\n");</p><p> scanf(&q
55、uot;%d",&t);</p><p><b> if(t==1)</b></p><p><b> continue;</b></p><p><b> else</b></p><p><b> break;</b><
56、/p><p><b> }</b></p><p> save2(count);</p><p> save(count);</p><p><b> getch();</b></p><p><b> }</b></p><p
57、> /*display.c 顯示函數(shù)*/</p><p> void display()</p><p><b> {</b></p><p> int m=load();</p><p><b> clrscr();</b></p><p> tongji
58、1();</p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> for(i=0;i<m;i++)</p><p><b> {</b></p
59、><p> gotoxy(2,i+2);</p><p> printf("%d",(*(p+i)).id);</p><p> gotoxy(7,i+2);</p><p> printf("%s",(*(p+i)).name);</p><p> gotoxy(15,i
60、+2);</p><p> printf("%d",(*(p+i)).jiben);</p><p> gotoxy(28,i+2);</p><p> printf("%d",(*(p+i)).zhiwu);</p><p> gotoxy(41,i+2);</p><p&
61、gt; printf("%d",(*(p+i)).jintie);</p><p> gotoxy(50,i+2);</p><p> printf("%d",(*(p+i)).yibao);</p><p> gotoxy(65,i+2);</p><p> printf("%d&
62、quot;,(*(p+i)).gongjijin);</p><p> gotoxy(75,i+2);</p><p> printf("%d\n",(*(p+i)).total);</p><p><b> }</b></p><p><b> getch();</b>
63、</p><p><b> }</b></p><p> /*modify.c 修改函數(shù)*/</p><p> void modfiy()</p><p><b> {</b></p><p> int t=0,flog,a,m=load();</p>
64、<p> char b[40];</p><p><b> clrscr();</b></p><p> tongji1();</p><p> display();</p><p> printf("please input the ID(1) or name(0) you want
65、to edit:\n");</p><p> scanf("%d",&a);</p><p><b> if(a==1)</b></p><p><b> {</b></p><p> printf("please input ID numbe
66、r:\n");</p><p> scanf("%d",&t);</p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p> if(t==(*(p+k)).id)</p><p><b>
67、 {</b></p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total");</p><p> gotoxy(2,k+m+7);</p><p> printf("%d"
68、,(*(p+k)).id);</p><p> gotoxy(7,k+m+7);</p><p> printf("%s",(*(p+k)).name);</p><p> gotoxy(15,k+m+7);</p><p> printf("%d",(*(p+k)).jiben);</p
69、><p> gotoxy(28,k+m+7);</p><p> printf("%d",(*(p+k)).zhiwu);</p><p> gotoxy(41,k+m+7);</p><p> printf("%d",(*(p+k)).jintie);</p><p>
70、gotoxy(51,k+m+7);</p><p> printf("%d",(*(p+k)).yibao);</p><p> gotoxy(66,k+m+7);</p><p> printf("%d",(*(p+k)).gongjijin);</p><p> gotoxy(76,k+m+
71、7);</p><p> printf("%d\n",(*(p+k)).total);</p><p> printf("do you want to edit? 1(yes) or 0(no):\n");</p><p> scanf("%d",&flog);</p><
72、p> if(flog==1)</p><p><b> {</b></p><p> printf("input new name\n");</p><p> scanf("%s",(*(p+k)).name);</p><p> printf("inpu
73、t new jibengongzi\n");</p><p> scanf("%d",&(*(p+k)).jiben);</p><p> printf("input new zhiwugongzi:\n");</p><p> scanf("%d",&(*(p+k)).zh
74、iwu);</p><p> printf("input new jintie:\n");</p><p> scanf("%d",&(*(p+k)).jintie);</p><p> printf("input new yilaiobaoxian:\n");</p><
75、p> scanf("%d",&(*(p+k)).yibao);</p><p> printf("input new gongjijin:\n");</p><p> scanf("%d",&(*(p+k)).gongjijin);</p><p> (*(p+i)).tota
76、l=(*(p+i)).jiben+(*(p+i)).zhiwu+(*(p+i)).jintie-(*(p+i)).yibao-(*(p+i)).gongjijin;</p><p> printf(" edit ok\n");</p><p><b> }</b></p><p> if(flog==0)</p&
77、gt;<p><b> {</b></p><p> printf(" exit! \n\n");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }
78、</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(a==0)</b></p><p><b> {</b></p><p> printf(&
79、quot;please input the name:\n");</p><p> scanf("%s",b);</p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p> if(strcmp(b,(*(p+k)).name)==
80、0)</p><p><b> {</b></p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> gotoxy(2,k+m+7);</p&g
81、t;<p> printf("%d",(*(p+k)).id);</p><p> gotoxy(7,k+m+7);</p><p> printf("%s",(*(p+k)).name);</p><p> gotoxy(17,k+m+7);</p><p> printf(&
82、quot;%d",(*(p+k)).jiben);</p><p> gotoxy(30,k+m+7);</p><p> printf("%d",(*(p+k)).zhiwu);</p><p> gotoxy(43,k+m+7);</p><p> printf("%d",(*(p
83、+k)).jintie);</p><p> gotoxy(53,k+m+7);</p><p> printf("%d",(*(p+k)).yibao);</p><p> gotoxy(68,k+m+7);</p><p> printf("%d\n",(*(p+k)).gongjijin)
84、;</p><p> gotoxy(77,k+m+7);</p><p> printf("%d\n",(*(p+i)).total);</p><p> printf("do you want to edit? 1(yes) or 0(no):\n");</p><p> scanf(&quo
85、t;%d",&flog);</p><p> if(flog==1)</p><p><b> {</b></p><p> printf("input new jibengongzi\n");</p><p> scanf("%d",&(*(p+
86、k)).jiben);</p><p> printf("input new zhiwugongzi:\n");</p><p> scanf("%d",&(*(p+k)).zhiwu);</p><p> printf("input new jintie:\n");</p>&
87、lt;p> scanf("%d",&(*(p+k)).jintie);</p><p> printf("input new yilaiobaoxian:\n");</p><p> scanf("%d",&(*(p+k)).yibao);</p><p> printf(&q
88、uot;input new gongjijin:\n");</p><p> scanf("%d",&(*(p+k)).gongjijin);</p><p> (*(p+i)).total=(*(p+i)).jiben+(*(p+i)).zhiwu+(*(p+i)).jintie-(*(p+i)).yibao-(*(p+i)).gongjijin
89、;</p><p> printf(" edit ok\n");</p><p><b> }</b></p><p> if(flog==0)</p><p><b> {</b></p><p> printf(" exit!
90、 \n\n");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b&g
91、t; }</b></p><p><b> save2(m);</b></p><p><b> save(m);</b></p><p> display();</p><p><b> getch();</b></p><p>
92、<b> }</b></p><p> /*search.c* 查詢函數(shù)/</p><p> void search()</p><p> {int t,m=load();</p><p> char a[40];</p><p><b> clrscr();</b&g
93、t;</p><p><b> for(;;)</b></p><p><b> {</b></p><p> printf("*******employee information search*******\n");</p><p> printf("
94、 1.search by ID number \n");</p><p> printf(" 2.search by name \n");</p><p> printf(" 3.search by jiben \n"
95、);</p><p> printf(" 4.search by zhiwu \n");</p><p> printf(" 5.search by jintie \n");</p><p> printf(" 6
96、.search by yibao \n");</p><p> printf(" 7.search by gongjijin \n");</p><p> printf(" 0.exit \n");<
97、;/p><p> printf("choose the way:\n");</p><p> scanf("%d",&j);</p><p> if(j>=0&&j<=7)</p><p><b> {</b></p><
98、p><b> switch(j)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p> printf("input ID number:\n");</p><p> scanf(&q
99、uot;%d",&t);</p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p> if(t==(*(p+k)).id)</p><p><b> {</b></p><p> printf(
100、" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zh
101、iwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><
102、p><b> case 2:</b></p><p> printf("input name\n");</p><p> scanf("%s",a);</p><p> for(k=0;k<m;k++)</p><p><b> {</b>
103、;</p><p> if(strcmp(a,(*(p+k)).name)==0)</p><p><b> {</b></p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n")
104、;</p><p> printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p>&l
105、t;b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> case 3:</b></p><p> printf("input jiben\n");<
106、;/p><p> scanf("%d",&t);</p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p> if(t==(*(p+k)).jiben)</p><p><b> {</b>
107、;</p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).
108、name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b> }</b></p><p><b> }</b></p><p><b> b
109、reak;</b></p><p><b> case 4:</b></p><p> printf("input zhiwu\n");</p><p> scanf("%d",&t);</p><p> for(k=0;k<m;k++)</
110、p><p><b> {</b></p><p> if(t==(*(p+k)).zhiwu)</p><p><b> {</b></p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxi
111、an gongjijin total\n");</p><p> printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).to
112、tal);</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> case 5:</b></p><p> printf(&q
113、uot;input jintie\n");</p><p> scanf("%d",&t);</p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p> if(t==(*(p+k)).jintie)</p>
114、<p><b> {</b></p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> printf("%2d%5s%10d%12d%13d%9d%15d%11d
115、\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b> }</b></p><p><b> }</b><
116、;/p><p><b> break;</b></p><p><b> case 6:</b></p><p> printf("input yibao\n");</p><p> scanf("%d",&t);</p><p
117、> for(k=0;k<m;k++)</p><p><b> {</b></p><p> if(t==(*(p+k)).yibao)</p><p><b> {</b></p><p> printf(" ID name jibengongzi zhi
118、wugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,
119、(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> case 7:</b>&l
120、t;/p><p> printf("input gongjijin\n");</p><p> scanf("%d",&t);</p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p> i
121、f(t==(*(p+k)).gongjijin)</p><p><b> {</b></p><p> printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p> printf
122、("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b> }</b></p>
123、<p><b> }</b></p><p><b> break;</b></p><p><b> case 0:</b></p><p><b> return;</b></p><p><b> }</b&g
124、t;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("error!\n");</p><p> printf(&quo
125、t;input again!\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*delete.c 刪除函數(shù)*/</p><p> voi
126、d delete()</p><p><b> {</b></p><p> int m=load();</p><p> printf("the information:\n");</p><p> tongji1();</p><p> display();<
127、;/p><p> printf("please input the id that you want to delete:\n");</p><p> scanf("%d",&t);</p><p> for(i=0;i<m;i++)</p><p><b> {</b
128、></p><p> if(t==(*(p+i)).id)</p><p><b> {</b></p><p> printf(" ID name jiben zhiwu jintie yibao gongjijin total\n");</p><p> printf(&
129、quot;%2d %4s %6d %5d %6d %7d %6d %10d\n",(*(p+i)).id,(*(p+i)).name,(*(p+i)).jiben,(*(p+i)).zhiwu,(*(p+i)).jintie,(*(p+i)).yibao,(*(p+i)).gongjijin,(*(p+i)).total);</p><p> printf("sure delete yes
130、(1) or no (0)\n");</p><p> scanf("%d",&k);</p><p><b> if(k==1)</b></p><p><b> {</b></p><p> for(j=i;j<m;j++)</p>
131、<p><b> {</b></p><p> em[j]=em[j+1];</p><p><b> }</b></p><p><b> m=m-1;</b></p><p><b> }</b></p><
132、p> else if(k==0)</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("display the information!\n&quo
133、t;);</p><p><b> save(m);</b></p><p> display();</p><p> printf("continue (1) or return (0)\n");</p><p> scanf("%d",&t);</p>
134、;<p><b> switch(t)</b></p><p><b> {</b></p><p> case 1:delete();break;</p><p> case 0:break;</p><p> default :break;</p><
135、p><b> }</b></p><p><b> }</b></p><p> /*recover.c 恢復(fù)函數(shù)*/</p><p> void recover()</p><p><b> {</b></p><p> int n
136、=load2();</p><p> for(i=0,j=0;i<n&&j<n;i++,j++)</p><p><b> {</b></p><p> (*(p+i)).id=(*(p+j)).id;</p><p> strcpy((*(p+i)).name,(*(p+j)).na
137、me);</p><p> (*(p+i)).jiben=(*(p+j)).jiben;</p><p> (*(p+i)).zhiwu=(*(p+j)).zhiwu;</p><p> (*(p+i)).jintie=(*(p+j)).jintie;</p><p> (*(p+i)).yibao=(*(p+j)).yibao;&l
138、t;/p><p> (*(p+i)).gongjijin=(*(p+j)).gongjijin;</p><p> (*(p+i)).total=(*(p+j)).total;</p><p><b> }</b></p><p><b> save(n);</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告職工工資管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——職工工資管理
- c語(yǔ)言課程設(shè)計(jì)——職工工資管理
- c語(yǔ)言職工工資管理系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言 職工工資管理系統(tǒng)設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)--職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)c++之職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)--高校職工工資管理系統(tǒng)
- 職工工資管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 職工工資管理系統(tǒng)設(shè)計(jì)的課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---職工工資系統(tǒng)管理
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---職工工資管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論