版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p><b> 題 目: </b></p><p> 設(shè) 計 者: </p><p><b> 專業(yè)班級: </b></p><p> 學(xué) 號: </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è)計整體規(guī)劃及方案……...………...………………………………………</p><p> 程序功能簡介……...…...……………………………………………………………..</p><p> 操作方法(流程)……...…………………………………………………………………..</p><p&g
4、t; 各模塊的功能及程序說明……...………………………………………………….</p><p> 試驗結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)……...……………………………</p><p> 設(shè)計體會……...…………………………………………………………………………….</p><p> 源代碼……...…………………………………………………………………………………
5、</p><p> 參考文獻……...…………………………………………………………………………….</p><p> 一、本次課題的基本內(nèi)容和基本要求:</p><p> 基本內(nèi)容:運用C語言進行編程設(shè)計一個職工工資管理系統(tǒng)的程序,很好地實現(xiàn)該系統(tǒng)的各項功能。熟練運用turbo c,完成本次實驗。</p><p> 基本要求:本次“C
6、語言程序設(shè)計實踐”課程設(shè)計,是基于“C語言程序設(shè)計基礎(chǔ)”課程學(xué)習(xí)內(nèi)容的重要實踐環(huán)節(jié),其主要目的在于,通過綜合程序課程設(shè)計,培養(yǎng)和提高學(xué)生的獨立分析問題、解決實際問題的能力和計算機語言編程能力。本次課程設(shè)計時間為2周,要求每位同學(xué)在為期兩周的時間段內(nèi),獨立完成相關(guān)設(shè)計題所規(guī)定的任務(wù),</p><p> 合理安排時間。安排情況如下:</p><p> 1、閱讀設(shè)計題目、任務(wù)內(nèi)容,規(guī)劃設(shè)計進
7、度,并進行軟件的各相關(guān)功能模塊的規(guī)劃設(shè)計(1天)。</p><p> 2、在Turbo C環(huán)境下,用結(jié)構(gòu)化程序設(shè)計思想進行C語言程序設(shè)計、功能模塊調(diào)試(7-9天)。其中菜單及登錄界面的設(shè)計(1天), 各子函數(shù)的設(shè)計(4-5天),采用分文件的方法并上機不斷進行調(diào)試和修改(2-3天)。</p><p> 3、進行課程設(shè)計報告編寫與整理(2天)。</p><p>
8、; 二、軟件整體規(guī)劃及方案</p><p> 閱讀好設(shè)計題目和要求后,設(shè)計算法,采用分文件的形式,使各功能得到更好的實現(xiàn)。以主函數(shù),采取分模塊化,使各模塊獨立。進行結(jié)構(gòu)化分析,其指導(dǎo)思想為自頂向下、逐步求精、單入口/單出口,基本原則是抽象和功能的分解。對于較為復(fù)雜問題的大型程序開發(fā),應(yīng)采取“自頂向下、逐步細化和模塊化”的設(shè)計方法,模塊化程序設(shè)計是結(jié)構(gòu)化程序設(shè)計方法在開發(fā)大型程序中的應(yīng)用</p>
9、<p> 所謂“自頂向下,逐步細化、逐步求精”就是在對于給定問題進行透徹的了解和詳細的分析的基礎(chǔ)上,把問題分解成若干個按順序執(zhí)行的邏輯部分,稱為“模塊”。每個子任務(wù)如果仍很復(fù)雜,還可以再分解為若干個子任務(wù)。如此逐層分解,對于每個模塊的設(shè)計都采用這種“自頂向下、逐步細化”的方法,將它們分解成為基本結(jié)構(gòu)為止,就如同寫文章先擬出題目和中心內(nèi)容,再確定分為幾大部分,每一大部分又分哪幾節(jié),每一節(jié)分為幾段,每一段包括哪幾個意思,這就是“
10、自頂向下,逐步細化”的方法。</p><p> 當(dāng)一個程序的規(guī)模比較龐大,層次和模塊比較多時,不要每次都將所有模塊按順序執(zhí)行一遍,最好在每一層,至少在最高幾層都設(shè)一個“菜單”。為方便用戶操作,“菜單”技術(shù)已廣泛使用在計算機的系統(tǒng)軟件中,具體做法是:程序首先把各功能說明及相應(yīng)代號以菜單形式顯示在屏幕上,然后由用戶在鍵盤上輸入所選的功能代號,程序自動轉(zhuǎn)去調(diào)用相應(yīng)的功能模塊進行處理。</p><p
11、><b> 三、程序功能簡介</b></p><p> 1. 輸入記錄:將每一個職工的姓名、ID號以及基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險、公積金的數(shù)據(jù)作為一個記錄。該軟件能建立一個新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄。</p><p> 2. 顯示記錄:根據(jù)用戶提供的記錄或者根據(jù)職工姓名顯示一個或幾個職工的各項工資及平均工資。</p>
12、<p> 3. 修改記錄:可以對數(shù)據(jù)文件的任意記錄進行修改并在修改前后對記錄內(nèi)容進行顯示。</p><p> 4. 查找記錄:可以對數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進行查找并在查找前后對記錄內(nèi)容進行顯示。</p><p> 5. 刪除記錄:可刪除數(shù)據(jù)文件中的任意記錄。</p><p> 6. 恢復(fù)記錄:能恢復(fù)被刪除的人已記錄。</p>&
13、lt;p> 7. 添加記錄:可以在數(shù)據(jù)文件中添加記錄并添加記錄后對記錄內(nèi)容進行顯示。</p><p> 8. 統(tǒng)計:(A)計算各項工資平均工資及總工資,(B)統(tǒng)計符合指定條件(如職工工資前三項之和在2000元以上、2000~1500元、1500~1000元)以內(nèi)的工資職工人數(shù)及占總職工人數(shù)的百分比。(C)按字符表格形式打印全部職工工資信息表即平均工資(包括各項總的平均工資)。</p>&l
14、t;p> 9.保存數(shù)據(jù)文件功能。</p><p> 經(jīng)過逐層逐塊、不斷細化、求精過程,編寫程序并進行測試、驗證,可以逐個模塊地分開調(diào)試,并通過文件包含或用工程文件的形式進行逐步聯(lián)合調(diào)試。將一些頭文件放入一個HEAD的文件中,變量的定義放入HEAD2的文件中,自定義函數(shù)的聲明放入DECLARATION的文件中,各個子函數(shù)文件放入FUNCTION的文件中。</p><p><b
15、> 四、操作方法</b></p><p> 進入版本信息界面后,敲擊enter鍵進入主菜單。</p><p> 然后根據(jù)主菜單進行操作,選擇功能1為輸入信息。功能2 為輸出信息,敲任意鍵返回。</p><p> 返回主菜單后,選擇3為修改功能,根據(jù)提示用戶可以選擇通過ID號或姓名進行修改。</p><p> 功能4
16、為查詢功能,可通過ID號、姓名、基本工資、職務(wù)工資、津貼、醫(yī)療保險、公積金來查詢。其中會有提示用戶繼續(xù)查詢的功能,按1繼續(xù)查詢,按2則返回主菜單。</p><p> 功能5為刪除功能,用戶根據(jù)提示信息,輸入ID號先查找出該項信息,然后會提示用戶是否確認刪除,選擇1為確認,0為返回,敲任意鍵返回主菜單。</p><p> 功能6為恢復(fù)函數(shù),實現(xiàn)將刪除的信息恢復(fù)回來。</p>
17、<p> 功能7為添加函數(shù),根據(jù)提示輸入另外的職工的信息,在進行選擇是否繼續(xù)添加,1為是,0為返回。</p><p> 功能8為統(tǒng)計功能,用戶可看到原始信息,查看工資在1000~1500的選擇1,1500~2000的選擇2,2000以上的選擇3,選擇完畢后用戶會看到該范圍內(nèi)的人數(shù)及比例,還有會先輸出總的各項工資平均值,再提示是否繼續(xù)統(tǒng)計,1為繼續(xù),0為返回主菜單。</p><p
18、> 返回主菜單后,選擇0 為退出程序。</p><p> 五、各模塊的功能及程序說明</p><p> 1.main函數(shù)中主要顯示菜單并進行調(diào)用函數(shù)操作。</p><p> 2.input函數(shù)主要是讓用戶往系統(tǒng)中輸入職工的相關(guān)信息,在調(diào)用保存函數(shù)save和save2保存到兩個文件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ù)保存起來。并且用戶可以選擇不同的方式對數(shù)據(jù)信息進行修改,可以用輸入ID號或職工的姓名來進行數(shù)據(jù)修改。</p><p> 5.searc
20、h函數(shù)是供用戶查詢信息用的。也有很多方式供用戶選擇,用戶可以通過選擇職工的ID號、姓名、基本工資、職務(wù)工資、津貼、醫(yī)療保險、公積金來對職工信息進行查詢。</p><p> 6.delete函數(shù)是幫助用戶將不需要的信息及時刪除,用戶根據(jù)職工的ID號來刪除信息。然后只調(diào)用save函數(shù),對該操作進行保存。</p><p> 7.recover函數(shù)是幫助用戶將誤刪的信息恢復(fù),通過將worker
21、_txt中的數(shù)據(jù)信息復(fù)制到文件employee_list中來實現(xiàn)恢復(fù),然后再調(diào)用save函數(shù)進行保存。</p><p> 8.add函數(shù)是用來添加職工信息的。用戶可以輸入多條信息添加到該系統(tǒng)中,然后在調(diào)用save和save2函數(shù)對數(shù)據(jù)信息進行保存并備份。</p><p> 9.save、save2函數(shù)都為保存函數(shù),每次操作是但需要保存時對兩者進行調(diào)用,但在刪除函數(shù)中只能調(diào)用save函數(shù)
22、,因為備份文件中的數(shù)據(jù)信息是用來恢復(fù)刪除信息用的。</p><p> 10.load、load2函數(shù)為導(dǎo)出函數(shù),在每次要用到數(shù)據(jù)信息是要調(diào)用這兩個函數(shù),并且當(dāng)進行recover函數(shù)時只能調(diào)用load2函數(shù),將備份中的數(shù)據(jù)信息保存到employee_list中,從而達到恢復(fù)功能。</p><p> 11.將一些程序中的頭文件都包含到head文件中。將變量的定義放到head2文件之中,其中
23、包括全局變量和結(jié)構(gòu)體等等。再將自定義函數(shù)聲明放入到declaration文件中,然后把含有子函數(shù)定義過程的文件都放入function文件中。</p><p> 六、試驗結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)</p><p> 輸入數(shù)據(jù)及界面如上圖所示。</p><p> 輸出的數(shù)據(jù)如上圖所示,各職工的信息都以顯示出來。</p><p><
24、b> 七、設(shè)計體會</b></p><p> 為期兩周的課程設(shè)計已經(jīng)結(jié)束了,經(jīng)過了一個學(xué)期的C語言學(xué)習(xí),我已經(jīng)在C語言程序設(shè)計方面有了更多的了解和體會。這次的課程設(shè)計對我來說是一次考驗,雖然在期間又遇到過不少問題,但在老師、室友和同學(xué)的幫助下,我還是完成了這次實驗。經(jīng)過了兩周的時間,我對其中的知識點又鞏固了一下,并且能較好掌握不熟練的部分,比如文件的使用,將程序份文件化能很好的在調(diào)試過程中對
25、語句進行修改,如果不分文件的話,在修改的時候會因為程序太長而帶來麻煩。</p><p> 起初,我比較迷茫,因為在文件方面自己不太熟悉,不知道如何使用,這讓我在比較頭疼,經(jīng)過一天的時間,通過看書以及這方面的資料和向同學(xué)求助,最后我還是弄懂了,心里挺開心的。在子函數(shù)我遇到了一個很大問題,就是對恢函數(shù)不知如何下手,我有想過用添加函數(shù)直接加進去,還有與同學(xué)探討得知可以找到刪除數(shù)據(jù)信息的位置,然后在輸入進去來完成恢復(fù)。
26、但我覺得這樣不夠好,經(jīng)過一個下午的嘗試,我想到可以將原有的數(shù)據(jù)信息保存進兩個文件中,這樣在進行恢復(fù)時先導(dǎo)出備份中的數(shù)據(jù),在保存到原先的數(shù)據(jù)文件中,這樣就完成了恢復(fù)操作。</p><p> 編寫程序是一項十分縝密的工作,編寫者需要縝密的思維和很好的耐性,在調(diào)試和運行的過程中或遇到許多問題,沒有很好的耐性,會影響自己的心理,變得焦躁。在編寫程序中,真的是細節(jié)決定成敗,因為不管程序的語句是多是少,但是只要有一條語句或
27、語法不正確,就不能使程序得到所需要的結(jié)果。沒能夠使自己編寫出來的程序等到想要的結(jié)果,意味著這是一個不理想的程序,對于本次編寫來說則是失敗的。通過此次實踐,讓我明白了在做任何一件事之前,都需要進行整體規(guī)劃,理一下大體的思路,不然會走很多彎路,浪費很多不必要的時間。</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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計報告--職工工資管理系統(tǒng)
- c語言課程設(shè)計報告---職工工資管理系統(tǒng)
- c語言課程設(shè)計報告職工工資管理系統(tǒng)
- c語言課程設(shè)計——職工工資管理
- c語言課程設(shè)計——職工工資管理
- c語言職工工資管理系統(tǒng)課程設(shè)計
- c語言 職工工資管理系統(tǒng)設(shè)計報告
- c++課程設(shè)計---職工工資管理系統(tǒng)
- c++課程設(shè)計---職工工資管理系統(tǒng)
- 課程設(shè)計--職工工資管理系統(tǒng)
- 課程設(shè)計---職工工資管理系統(tǒng)
- 課程設(shè)計---職工工資管理系統(tǒng)
- 課程設(shè)計報告--職工工資管理系統(tǒng)設(shè)計
- c++課程設(shè)計-職工工資管理系統(tǒng)設(shè)計
- 課程設(shè)計c++之職工工資管理系統(tǒng)
- c++課程設(shè)計--高校職工工資管理系統(tǒng)
- 職工工資管理系統(tǒng)設(shè)計課程設(shè)計
- 職工工資管理系統(tǒng)設(shè)計的課程設(shè)計
- c語言課程設(shè)計報告---職工工資系統(tǒng)管理
- 數(shù)據(jù)庫課程設(shè)計---職工工資管理系統(tǒng)
評論
0/150
提交評論