c語(yǔ)言職工信息管理系統(tǒng)_第1頁(yè)
c語(yǔ)言職工信息管理系統(tǒng)_第2頁(yè)
c語(yǔ)言職工信息管理系統(tǒng)_第3頁(yè)
c語(yǔ)言職工信息管理系統(tǒng)_第4頁(yè)
c語(yǔ)言職工信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目        錄一、課程設(shè)計(jì)目的3二、設(shè)計(jì)題目分析32.1題目簡(jiǎn)介 32.2設(shè)計(jì)要求 3三、課程設(shè)計(jì)內(nèi)容33.1總體設(shè)計(jì) 33.2詳細(xì)設(shè)計(jì) 43.3調(diào)試與測(cè)試 12四、設(shè)計(jì)心得與總結(jié):13五、附錄(完整源程序清單) 14  一、課程設(shè)計(jì)目的通過(guò)親自設(shè)計(jì)程序,可以令我們熟悉c語(yǔ)言操作,更熟練的掌握c語(yǔ)句。初步體會(huì)編程的過(guò)程,為將來(lái)的程序深入學(xué)習(xí)打下基礎(chǔ)和培養(yǎng)興趣。二、設(shè)計(jì)題目分析21 題目簡(jiǎn)介可以向文件中寫入、刪除、添加職工

2、信息,也可以從文件中導(dǎo)出來(lái)瀏覽22 設(shè)計(jì)要求職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號(hào)不重復(fù))。試設(shè)計(jì)職工信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作。職工信息錄入功能(職工信息用文件保存)輸入職工信息瀏覽功能 輸出查詢和排序功能:(至少一種查詢方式)  算法      按職工號(hào)查詢      按學(xué)歷查詢等職工信息刪除、添加功能三、課程設(shè)計(jì)內(nèi)容     

3、;32 詳細(xì)設(shè)計(jì):   、主函數(shù):main()顯示系統(tǒng)工作菜單,羅列該系統(tǒng)所有功能。先聲明所有將會(huì)調(diào)用到的函數(shù)名。再運(yùn)用選擇函數(shù)switch即可根據(jù)使用者所輸入的功能代號(hào)進(jìn)入對(duì)應(yīng)的功能程序。亮點(diǎn):定義一個(gè)全局指針變量*p和全局變量。其中表示當(dāng)前系統(tǒng)中職工人數(shù),指向的地址,追蹤人數(shù)變化,這樣在添加或者刪除導(dǎo)致人數(shù)變化后,瀏覽函數(shù)display()能夠正確顯示出當(dāng)前人數(shù)的職工信息。宏定義define  N指定首次輸入的職工人數(shù),可根據(jù)不同需要隨時(shí)更改。       &#

4、160;   、保存函數(shù):void save(int m)定義文件指針,用"只寫"打開指定在盤的“d:/bbb.txt”文本文件。首先用語(yǔ)句判斷文件是否打開成功,若返回值不為,則可繼續(xù)下面操作。用循環(huán)通過(guò)語(yǔ)句將結(jié)構(gòu)數(shù)組中的內(nèi)容寫入保存在盤的文本文件里面。形參m指需要寫入文件的職工人數(shù)。最后關(guān)閉文件。            4、導(dǎo)出函數(shù):void load(int b) 

5、0;  首先判斷fopen"只讀"打開“d:/bbb.txt”是否成功,若其返回值不為零,繼續(xù)下面操作。用for循環(huán)通過(guò)fscanf語(yǔ)句將文件中的職工信息取出放到em結(jié)構(gòu)數(shù)組里面。形參b指需要導(dǎo)出的職工人數(shù)。最后關(guān)閉文件。          5、瀏覽函數(shù)void display(int a)   聲明整形變量i和b,其中i記錄輸出的職工序數(shù),b用來(lái)接收調(diào)用瀏覽函數(shù)時(shí)所傳遞過(guò)來(lái)的實(shí)參,接著將其值傳遞給導(dǎo)出函數(shù)

6、load(b),使得導(dǎo)出的職工人數(shù)與瀏覽的職工人數(shù)保持一致。通過(guò)調(diào)用load函數(shù)后(即給em數(shù)組附值),用for循環(huán)輸出每個(gè)職工的各種信息。  8、按姓名查詢void search_name()    聲明整形變量i和字符形數(shù)組name20,調(diào)用導(dǎo)出函數(shù)load(*p),用scanf語(yǔ)句輸入要查詢的職工名字(字符串)放在數(shù)組name里面。用for循環(huán),循環(huán)主體是先判斷中是否有輸入的職工姓名,如果有,用printf語(yǔ)句輸出與職工名字相對(duì)應(yīng)的該職工所有信息,再跳出循環(huán);如果沒(méi)有,輸出“查無(wú)此人”,并調(diào)用search

7、()返回查詢菜單。 流程圖同上 9、按學(xué)歷查詢void search_xueli()    聲明整形變量i,k=0,char形數(shù)組xueli20。調(diào)用導(dǎo)出函數(shù)load(*P),用scanf語(yǔ)句輸入要查詢的職工學(xué)歷(字符串)放在數(shù)組xueli里面。考慮到與前兩種查詢方式不一樣的是,可能有多個(gè)職工具有相同的學(xué)歷,所以循環(huán)主體較之前稍有變化。即在判斷并執(zhí)行第一次后不用break,而是繼續(xù)循環(huán),直到找出所有該學(xué)歷的職工。為解決輸入錯(cuò)誤而提示“查無(wú)此人”的問(wèn)題,就需要再寫一段for循環(huán)代碼,通過(guò)計(jì)量數(shù)k記錄循環(huán)的次數(shù),若直到循環(huán)到最后

8、一次仍無(wú)結(jié)果輸出,則表示輸入錯(cuò)誤,這時(shí)用printf輸出“查無(wú)此人”,并調(diào)用search()返回查詢菜單。 流程圖同上 10、,刪除函數(shù)void del(int *b)    聲明整形變量i,j,t,m,a和char形數(shù)組name20。其中給a附初始值a=*b,表示當(dāng)前職工人數(shù)。首先調(diào)用瀏覽函數(shù)display(a),顯示所有職工信息,便于使用者審閱需刪除的對(duì)象。用printf語(yǔ)句提示“輸入要?jiǎng)h除的職工名字”,接著用scanf語(yǔ)句輸入刪除對(duì)象名字。用for循環(huán),循環(huán)主體是先判斷中是否存在所輸入的名字(調(diào)

9、用字符串比較函數(shù)stecmp)。若存在,printf語(yǔ)句提示是否確認(rèn)刪除,用scanf語(yǔ)句輸入確認(rèn)指令,再用for循環(huán)從要?jiǎng)h除的這個(gè)職工開始,依次用后一個(gè)職工的信息覆蓋前一個(gè)的。循環(huán)結(jié)束后當(dāng)前職工人數(shù)a自減1,并保存,跳出大循環(huán);若不存在,輸出“輸入錯(cuò)誤,無(wú)此人”。再將a的新值附給*b,實(shí)參p所指的人數(shù)地址中的人數(shù)也隨即改變刪除后的人數(shù)。printf提示下一步操作“繼續(xù)刪除請(qǐng)按1n瀏覽信息請(qǐng)按2n返回主菜單請(qǐng)按3”。switch根據(jù)鍵盤輸入的指令代號(hào)選擇下一步連接的函數(shù)。    11、添加函數(shù)void add(int *a) 

10、;   聲明整形變量i,n,m,定義文件指針fp,用追加的方式打開文件"d:/bbb.txt",若打開失敗,退出。若成功,繼續(xù)下面操作。printf提示“輸入要添加的人數(shù)”scanf輸入要添加的人數(shù)存放在n。用for循環(huán)輸入要添加的職工信息,再用另一個(gè)for循環(huán)將輸入的新信息追加寫入"d:/bbb.txt"文件保存。關(guān)閉文件。再調(diào)用switch語(yǔ)句選擇下一步操作,并連接到相應(yīng)函數(shù)。 流程圖與刪除函數(shù)類似。  33 調(diào)試與測(cè)試:。 遇到最大的問(wèn)題是所有程序代碼編完放在一起后,雖

11、然能夠成功運(yùn)行,但使用時(shí)如果職工人數(shù)發(fā)生變化,會(huì)導(dǎo)致文件后部出現(xiàn)亂碼。若要使每次運(yùn)行都正常,必須在人數(shù)改變后退出程序,修改宏定義N的值。這樣很不方便,不能夠連續(xù)運(yùn)行。為解決這一大問(wèn)題,最后我想到了定義一個(gè)全局指針變量,用來(lái)追蹤最新的人數(shù)。特別是刪除和添加這兩個(gè)會(huì)導(dǎo)致人數(shù)變化的函數(shù)中,全局指針變量p起了很大作用。經(jīng)過(guò)一邊修改一邊調(diào)試,最終可以成功的用p串聯(lián)整個(gè)函數(shù),在連續(xù)運(yùn)行時(shí),總能根據(jù)最新的人數(shù)調(diào)用各個(gè)函數(shù)。另外在串聯(lián)所有函數(shù)時(shí),調(diào)試提示出錯(cuò):有幾個(gè)函數(shù)“redefinition; different basic types”解決:在函數(shù)名前加void指明類型。&

12、#160;整個(gè)程序代碼是分塊書寫的,每個(gè)函數(shù)都可以獨(dú)立運(yùn)行。只有輸入函數(shù)查詢菜單函數(shù)寫得很順利,一次性就能夠成功運(yùn)行,其他函數(shù)在調(diào)試過(guò)程中或多或少都出現(xiàn)了問(wèn)題。 1、保存函數(shù)save()在調(diào)試和鏈接的時(shí)候都沒(méi)有出現(xiàn)錯(cuò)誤提示,但在運(yùn)行的時(shí)候出現(xiàn)了問(wèn)題。寫入指定位置的文件,打開后總會(huì)有亂碼。與c語(yǔ)言課本上的例題對(duì)照后發(fā)現(xiàn),我寫的fopen("d:/bbb","w")沒(méi)有指定文件的存儲(chǔ)類型。解決方法:在文件名bbb后面加上.txt后即可。  2、導(dǎo)出函數(shù)load()遇到兩個(gè)問(wèn)題。1是為圖方便直接將保存函數(shù)復(fù)制過(guò)來(lái)進(jìn)行修改時(shí),忘了修

13、改文件的打開方式,不能運(yùn)行。經(jīng)多次檢查后終于發(fā)現(xiàn)了,解決:將只寫"w"改為只讀"r"。2是用fscanf語(yǔ)句時(shí),漏寫地址符。調(diào)試和鏈接都沒(méi)問(wèn)題,但點(diǎn)擊運(yùn)行后,總出現(xiàn)一個(gè)提示出錯(cuò)的藍(lán)色小窗口。經(jīng)老師提時(shí)候發(fā)現(xiàn)了錯(cuò)誤所在。解決:在等之前加上地址符。  3、瀏覽函數(shù)display()遇到的問(wèn)題雖然不大,但解決起來(lái)很麻煩。理想的運(yùn)行結(jié)果是美觀整齊。即下面的職工信息分別與第一個(gè)printf輸出的中文項(xiàng)目提示對(duì)齊。解決方法:不斷修改空格個(gè)數(shù),不斷運(yùn)行察看效果。  4、按學(xué)歷查詢函數(shù)search_xueli(),

14、要考慮輸入一種學(xué)歷,可能對(duì)應(yīng)出很多職工,這就不能延用按姓名和職工號(hào)查詢中判斷是否輸入錯(cuò)誤的方法了。為了顯示出所有具有該學(xué)歷的職工,就需要讓for循環(huán)一直運(yùn)行到最后一個(gè)為止。這時(shí)計(jì)量數(shù)i始終會(huì)等于職工人數(shù),不能再用i來(lái)判斷是否不存在此人。這就需要再定一個(gè)整形變量k,用來(lái)計(jì)量單獨(dú)的一個(gè)循環(huán)次數(shù)。  5、刪除函數(shù)del()的難點(diǎn)在于多次刪除。即在刪除掉第一個(gè)人以后,現(xiàn)有職工人數(shù)發(fā)生改變,而宏定義中的N卻是不變的。最開始我想到了用static定義一個(gè)整形變量a來(lái)計(jì)量當(dāng)前人數(shù)。這在單獨(dú)運(yùn)行刪除函數(shù)時(shí),可以成功的連續(xù)刪除。最后所有函數(shù)串在一起時(shí),有了更好的解決方法,全局指針。 

15、; 6、添加函數(shù)add()遇到的問(wèn)題是用printf輸入新職工信息后,保存到文件里面,發(fā)現(xiàn)原有的信息不見(jiàn)了。解決:文件打開方式改用"a"追加寫入。  四、設(shè)計(jì)心得與總結(jié):     經(jīng)過(guò)一學(xué)期的C語(yǔ)言學(xué)習(xí),我們掌握了C語(yǔ)言的基礎(chǔ)知識(shí),能夠讀懂別人用c語(yǔ)言設(shè)計(jì)的程序。平時(shí)的程序設(shè)計(jì)大多是以填空的形式出現(xiàn),雖然有所接觸,但都不完全。而這兩周的課程設(shè)計(jì),卻讓我們完完全全用自己學(xué)到的知識(shí)編寫一個(gè)完整的體統(tǒng)程序。這是一個(gè)新的挑戰(zhàn),也是一種新的學(xué)習(xí)。    我們組選擇的

16、是備選題目中的第一個(gè)職工信息管理系統(tǒng)。這需要我們自己設(shè)計(jì)一個(gè)系統(tǒng),可以輸入信息,保存到文件里,再?gòu)奈募镎{(diào)出來(lái),使之顯示在屏幕上,進(jìn)行刪除、添加等對(duì)信息的修改。初看到這個(gè)題目覺(jué)得很簡(jiǎn)單,但當(dāng)我做到電腦前準(zhǔn)備開始編寫代碼的時(shí)候才發(fā)現(xiàn)無(wú)從下手。通過(guò)去圖書館查找程序設(shè)計(jì)相關(guān)的書籍,和上網(wǎng)參考前人編寫的類似程序,我腦中才有了一個(gè)大概方向。    終于開始著手寫下了第一段輸入函數(shù)的代碼,因?yàn)檫@是我們平時(shí)課堂上用的最多最熟的printf語(yǔ)句,寫了很長(zhǎng)一大段,調(diào)式運(yùn)行竟然成功了,頓時(shí)信心倍增。于是我開始迫不及待的開始寫第二段保存函數(shù)。我記得第一天下來(lái),我只寫好了這兩個(gè)

17、函數(shù),但還是很開心,因?yàn)檫@是我編的第一個(gè)小系統(tǒng)的成功的開始!    接下來(lái)幾天都在宿舍整個(gè)下午的對(duì)著電腦不斷的編譯、調(diào)試、修改,每次編好一個(gè)能夠成功運(yùn)行的程序,都會(huì)感到很欣慰,并增加繼續(xù)下去的信心。當(dāng)然其中也有遇到困難的時(shí)候。好幾次遇到編好的程序調(diào)試沒(méi)有錯(cuò)誤,卻偏偏不能運(yùn)行這種情況,自己編的程序自己很難發(fā)現(xiàn)當(dāng)中的錯(cuò)誤,而電腦又沒(méi)有提示,這時(shí)候就很受打擊,也會(huì)著急。反復(fù)檢查都找不出毛病來(lái)的時(shí)候就會(huì)有想要放棄的念頭。有時(shí)候就直接關(guān)機(jī)去做別的事情,等再開始做程序的時(shí)候,才發(fā)現(xiàn)先前的錯(cuò)誤所在。這時(shí)候會(huì)有一種“柳暗花明又一村”的欣慰感覺(jué)??傊?,遇到困難,可以先放一

18、放,讓腦子休息一下,忘掉錯(cuò)誤的記憶?;蛟S等過(guò)段時(shí)間再回過(guò)頭來(lái),就會(huì)很容易的發(fā)現(xiàn)之前的錯(cuò)誤了。隨著編好的程序越多,累積的經(jīng)驗(yàn)也越多,查找錯(cuò)誤就越快了。還有會(huì)發(fā)現(xiàn)很多程序有很多相似之處,可以通過(guò)復(fù)制修改的發(fā)式來(lái)編寫。雖然題目要求只需要一種查詢方式,但當(dāng)我編出規(guī)律之后自然就想多寫兩個(gè),寫完就會(huì)有很大的成就感了。    在課程設(shè)計(jì)的過(guò)程中,還有一件很倒霉的事。7月5號(hào)早上我們有一門考試,靠前還需要復(fù)習(xí)的那種。所以我打算4號(hào)早上寫會(huì)兒程序,從下午開始就復(fù)習(xí)第二天要考的科目,結(jié)果從早上開始寫刪除函數(shù)的代碼,一邊調(diào)試,一邊修改 ,越來(lái)越接近成功,越激動(dòng)越投入

19、,等最后終于完成的時(shí)候猛然發(fā)現(xiàn)已經(jīng)下午4點(diǎn)多了。乘著興致高,一口氣把添加函數(shù)也寫出來(lái)了。雖然只能把復(fù)習(xí)擠到晚上進(jìn)行,但因?yàn)榫幒昧藘蓚€(gè)很難的程序代碼,覺(jué)得這一天還是很有成就感的,很開心。結(jié)果不幸的是,等我第二天考完試回來(lái)打算繼續(xù)編的時(shí)候,才發(fā)現(xiàn)之前辛辛苦苦編的兩段代碼沒(méi)有保存。沒(méi)辦法,只能重新寫。     當(dāng)所有功能函數(shù)都編好后,我用主函數(shù)將他們串起來(lái),這是遇到最大的問(wèn)題就是經(jīng)過(guò)刪除、添加后職工人數(shù)會(huì)發(fā)生變化。想了很久,又翻以前的課堂筆記,最后想到了定義全局指針變量來(lái)解決這個(gè)問(wèn)題。這個(gè)問(wèn)題的成功解決預(yù)示著我們的職工信息管理系統(tǒng)大功告成! 

20、;     總之,經(jīng)過(guò)這一次的課程設(shè)計(jì),我們體會(huì)到了痛苦與快樂(lè)同存的感覺(jué)。當(dāng)最后一次成功串聯(lián)運(yùn)行所有函數(shù)時(shí),真的很開心。通過(guò)這次實(shí)踐,我們能夠更熟練掌握C語(yǔ)言,特別是循環(huán)和文件,當(dāng)時(shí)在課堂上沒(méi)有學(xué)太清楚的,這個(gè)程序設(shè)計(jì)之后都很明白了。同時(shí)增加了我們對(duì)程序設(shè)計(jì)的興趣,暑假回家我還會(huì)嘗試著做一些其他的小系統(tǒng)。        五、附錄(完整源程序清單) #include<stdio.h>#include <string.h>#d

21、efine N 6 struct employeeint number,age,wage;char name20,sex10,address30,xueli20;long int telephone;emN;                         int

22、60;a=N;                       int *p=&a;                      main

23、()    void search();    void search_name();    void search_xueli();    void search_number();    void load();    void display();void del();void

24、60;input();void add();void save();                  int n;    printf("n");    printf("        *職工信息管

25、理*n");    printf("n");printf("                        1.錄入職工信息n");    printf("     &#

26、160;                  2.瀏覽職工信息n");    printf("                      &#

27、160; 3.查詢職工信息n");    printf("                        4.刪除職工信息n");    printf("      &#

28、160;                 5.添加職工信息n");    printf("                       &#

29、160;6.退出n");    printf("n");    scanf("%d",&n);     switch(n)         case 1:printf("           

30、   輸入職工信息n");printf("n");input();main();break;       case 2:printf("              瀏覽職工信息n");printf("n");display(*p);main();break;  

31、;     case 3:printf("              查詢職工信息n");printf("n");search();break;        case 4:printf("      

32、;        刪除職工信息n");printf("n");del(p);break;       case 5:printf("              添加職工信息n");printf("n");add(p);break;

33、       case 6:exit(0);break;       default :break;   void input()       int i;for(i=0;i<N;i+)printf("請(qǐng)輸入職工號(hào): ");    scanf(

34、"%d",&emi.number);    printf("請(qǐng)輸入姓名:  ");    scanf("%s",);    printf("請(qǐng)輸入性別:  ");    scanf("%s",&emi.sex);    prin

35、tf("請(qǐng)輸入年齡:  ");    scanf("%d",&emi.age);    printf("請(qǐng)輸入學(xué)歷:  ");    scanf("%s",emi.xueli);    printf("請(qǐng)輸入工資:  ");    

36、scanf("%d",&emi.wage);    printf("請(qǐng)輸入住址:  ");    scanf("%s",emi.address);    printf("請(qǐng)輸入電話:  ");    scanf("%d",&emi.telephone);  

37、60; printf("n");       printf("n創(chuàng)建完畢!n");    save(N);   void save(int m)          int i;FILE*fp;if(!(fp=fopen("d:/bbb.txt","w

38、")printf("打開失敗");exit(0); for(i=0;i<m;i+)fprintf(fp,"M %8s %5s  %8s  %8s n",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone); fclose(fp);  void load(int b)   &

39、#160;        int i;FILE*fp;if(!(fp=fopen("d:/bbb.txt","r")printf("打開失敗");exit(0);elsefor(i=0;i<b;i+)fscanf(fp,"%8s%5s%8s%8sn",&emi.number,&,&emi.sex,&emi.age,&emi.xueli,&emi.wage,&

40、amp;emi.address,&emi.telephone);fclose(fp);void display(int a)               int i,b=a;                load(b);  

41、60;             printf("n職工號(hào)t    姓名t性別t年齡t 學(xué)歷t     工資t  住址t  電話n");for(i=0;i<a;i+)printf("%dt%8st%st%dt%8s    %dt%st%dn",e

42、mi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone);printf("n");    void search()             int t;printf("n按職工號(hào)查詢按1n按姓名查詢請(qǐng)按2");printf("n按學(xué)歷查詢請(qǐng)按3n返回主菜

43、單請(qǐng)按4n");scanf("%d",&t);    switch(t)case 1:printf("n按職工號(hào)查詢n");search_number();             break;case 2:printf("n按姓名查詢n");search_name();     

44、          break;case 3:printf("n按學(xué)歷查詢n");search_xueli();              break;case 4:main();break;          

45、0;        default :printf("輸入錯(cuò)誤,請(qǐng)重新輸入!n");    search();                         break;  vo

46、id search_number()            int i,number;load(*p);                 printf("n請(qǐng)輸入要查詢的職工號(hào):");scanf("%d",&number);for(i=0;i

47、<*p;i+)if(number=emi.number)printf("n該職工信息如下:n");printf("n職工號(hào)t    姓名t性別t年齡t 學(xué)歷t     工資t  住址t  電話n");printf("n%dt%8st%st%dt%8s    %dt%st%dn",emi.number,,emi.sex,emi.age,e

48、mi.xueli,emi.wage,emi.address,emi.telephone);        printf("n");break;if(i=*p)printf("n查無(wú)此人n"); search(); void search_name()           int i;char name20;load(*

49、p);                  printf("n請(qǐng)輸入要查詢的姓名:");scanf("%s",name);for(i=0;i<*p;i+)if(!strcmp(,name)            printf("n

50、該職工信息如下:n");printf("n職工號(hào)t    姓名t性別t年齡t 學(xué)歷t     工資t  住址t  電話n");printf("n%dt%8st%st%dt%8s    %dt%st%dn",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone);

51、        printf("n");break;if(i=*p)printf("n查無(wú)此人n");    search();  void search_xueli()              int i,k=0;char xueli20;loa

52、d(*p);                printf("n請(qǐng)輸入要查詢的學(xué)歷:");scanf("%s",xueli);for(i=0;i<*p;i+)if(!strcmp(emi.xueli,xueli)printf("職工號(hào)t    姓名t性別t年齡t 學(xué)歷t     工資t

53、  住址t  電話n");printf("%dt%8st%st%dt%8s    %dt%st%dn",emi.number,,emi.sex,emi.age,emi.xueli,emi.wage,emi.address,emi.telephone);      for(i=0;i<*p;i+)         &#

54、160;       if(!strcmp(emi.xueli,xueli)break;else k+;if(k=*p)printf("n查無(wú)此人n");    search();       void del(int *b)int i,t,j,m;int a=*b;char name20;printf("n所有職工信息:n&q

55、uot;);    display(a);                                  printf("n請(qǐng)輸入要?jiǎng)h除職工的名字:");scanf("%s",

56、name);for(i=0;i<a;i+)if(!strcmp(,name)printf("n確認(rèn)刪除請(qǐng)按1n取消請(qǐng)按2n");scanf("%d",&t);if(t=1)                              

57、;   for(j=i;j<a-1;j+)emj.age=emj+1.age;emj.wage=emj+1.wage;emj.number=emj+1.number;emj.telephone=emj+1.telephone;strcpy(emj.xueli,emj+1.xueli);strcpy(,emj+1.name);strcpy(emj.address,emj+1.address);strcpy(emj.sex,emj+1.sex);        

58、60;            a-;save(j);             break;            if(t=2)break;if(i=a)     printf(&

59、quot;n輸入錯(cuò)誤,無(wú)此人n"); *b=a;printf("n繼續(xù)刪除請(qǐng)按1n瀏覽信息請(qǐng)按2n返回主菜單請(qǐng)按3n");scanf("%d",&m);switch(m)        case 1:del(p);break;                  

60、case 2:display(*b);main();break;      case 3:main();break;        default:break;   void add(int *a)               int i,n,m;FILE*fp;if(!(fp=fopen("d:/bbb.txt","a")printf("打開失敗");exit(0); p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論