C語言職工檔案管理系統(tǒng)_500多行代碼[1]

C語言職工檔案管理系統(tǒng)_500多行代碼[1]

ID:47012547

大小:234.50 KB

頁數(shù):17頁

時間:2019-12-03

C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第1頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第2頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第3頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第4頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第5頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第6頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第7頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第8頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第9頁
C語言職工檔案管理系統(tǒng)_500多行代碼[1]_第10頁
資源描述:

《C語言職工檔案管理系統(tǒng)_500多行代碼[1]》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、1.程序的總體設(shè)計職工檔案管理系統(tǒng)設(shè)計,每個職工是一條記錄,包括編號,姓名,性別,出生年月,所在部門,職稱,工資級別、電話等。系統(tǒng)可實(shí)現(xiàn)以下功能:1、輸入功能:輸入每一位職工記錄,將其信息存入文件中。2、顯示功能:完成全部職工記錄的顯示。3、查找功能:完成按編號或姓名查找職工的相關(guān)記錄,并顯示。2.數(shù)據(jù)結(jié)構(gòu)對于這個職工檔案系統(tǒng)的設(shè)計,我主要采用結(jié)構(gòu)體存放不同類型的數(shù)據(jù),運(yùn)用數(shù)組對各數(shù)據(jù)進(jìn)行控制,而所有數(shù)據(jù)(除ID外)都以字符型的形式存放,這樣方便存入中文數(shù)據(jù)。本程序用指針相對較少,事實(shí)上,我只在文件的保存函數(shù)上用了指針。只要是因?yàn)槲覀儗χ羔樍私庀鄬^少,而且指針相對容易出錯誤,而這個程序用結(jié)構(gòu)

2、體和數(shù)組就可以很好地完成。3.函數(shù)原型聲明的說明(功能,參數(shù),返回值)1.主函數(shù)voidmain()主函數(shù)的主意作用是調(diào)用函數(shù)以實(shí)現(xiàn)程序的預(yù)期功能,主函數(shù)有各函數(shù)的聲明調(diào)用。主函數(shù)用switch語句對各函數(shù)進(jìn)行調(diào)用。2添加函數(shù):voidappend()該函數(shù)是無參函數(shù),主要功能是添加職工,由于界面為DOS的命令界面,為了使添加更加人性化,我采用先確認(rèn)添加人數(shù),再對每個員工的每條信息,逐個添加,這樣可以減少錯誤的發(fā)生和加快輸入速度。員工添加后可用保存函數(shù),將其數(shù)據(jù)保存到指定文件中。3查找函數(shù):voidsearch()該函數(shù)是無參函數(shù),主要功能是查找員工,可按編號或姓名查找職工的相關(guān)記錄,按姓名查

3、找時采用字符串處理函數(shù)strcmp()進(jìn)行比較,這樣可以用兩種方法查找職工信息。4輸出函數(shù):voidoutput()該函數(shù)是無參函數(shù),主要功能是輸出全部員工的信息,用for語句進(jìn)行輸出。5刪除函數(shù):voiddelete()該函數(shù)是無參函數(shù),主要功能是刪除指定員工的全部信息,該函數(shù)相對較復(fù)雜,用for語句對刪除后該員工后的員工的序號進(jìn)行排列。176修改函數(shù):voidmodify()該函數(shù)是無參函數(shù),主要功能是修改指定員工的信息,該函數(shù)有密碼操作,要輸入密碼后才能進(jìn)入修改界面,密碼操作采用while語句,用getch()輸入密碼,可以將密碼隱藏。這里getch()函數(shù)要調(diào)用conio.h文件。7保

4、存函數(shù):voidsave()該函數(shù)是無參函數(shù),主要功能是保存添加的員工信息到指定文件,該函數(shù)用到了指針和文件的內(nèi)容。8主菜單函數(shù):voidshowmenu()該函數(shù)是無參函數(shù),主要功能是提供美觀的菜單界面。9文檔導(dǎo)入函數(shù):voidread()該函數(shù)是無參函數(shù),主要功能是導(dǎo)入文件中的職工檔案信息。9數(shù)據(jù)排序函數(shù):voidsort()該函數(shù)是無參函數(shù),主要將職工數(shù)據(jù)排序,分按編號排序和工資排序,工資排序又分從高到低和從低到高兩種。二、詳細(xì)設(shè)計1.main()流程圖17修改數(shù)據(jù)輸入密碼由低到高由高到低按工資排序按編號排序?qū)霐?shù)據(jù)Switch語句查找函數(shù)輸出數(shù)據(jù)修改函數(shù)開始主函數(shù)刪除數(shù)據(jù)保存數(shù)據(jù)數(shù)據(jù)排

5、序添加數(shù)據(jù)主菜單函數(shù)按姓名查找按編號查找三、測試及調(diào)試(測試方案、存在的問題及解決方法)測試方案、存在的問題及解決方法我用的是visualC++6.0進(jìn)行編譯和測試的,主要觀察程序運(yùn)行的錯誤及找出錯誤發(fā)生的原因,還有各函數(shù)的功能的實(shí)現(xiàn)以及部分變量在程序運(yùn)行時的變化。采取逐個函數(shù)測驗(yàn)的方法,雖然比較耗時間,但是我實(shí)在沒有找到可以檢查我的海量錯誤的方法。下面是某此調(diào)試的截圖。17可以看到,這時候幾乎什么錯誤都有,低級的錯誤數(shù)不清,高級的錯誤無法數(shù),在這樣的局勢下,我仍然心靜如水地檢查錯誤,下面介紹我遇到的問題及其解決方案。我主要遇到了三個函數(shù)問題,第一,我原本想用數(shù)組代替指針,這樣可以更好的檢查錯

6、誤,但是后來的的數(shù)據(jù)保存就遇到了問題,老是無法正確的保存數(shù)據(jù),所以還是用了個FILE*fp,當(dāng)然也為此狂看了文件一章,最后在數(shù)據(jù)導(dǎo)入也用到了指針和文件。第二,題目本沒有要求寫刪除函數(shù)也沒有要求寫排序函數(shù),也許修改函數(shù)能夠代替刪除函數(shù)的一部分功能,但是無法減少職工的數(shù)目,這個對于想裁員的公司不利,所以,我又想了一個刪除函數(shù)。寫刪除函數(shù)遇到的問題是,我刪除了編號為2的函數(shù),如何把2后面的同志移到前面來,而1不動,后來還是用最笨的for語句搞定了,據(jù)說這里可以用鏈表很美妙地完成,但是也可以不用鏈表。排序函數(shù)是最后加上去的,一個原因是我的程序不夠500行,就完成了功能,后來要求盡情發(fā)揮,我就用了排序函

7、數(shù),這個函數(shù)相對簡單,用的是我們學(xué)過的起泡法排序,有按照編號和工資排序兩種方式,也用到了switch語句,這樣是程序的功能更加完善了。第三,密碼的問題,密碼函數(shù)是個比較嚴(yán)肅的函數(shù),為此不能敷衍了事用個while語句和字符串處理函數(shù)搞定,這樣密碼是明文的,很別扭。所以,我又加了一個不熟悉的頭文件#include,調(diào)用了這個文件里的getch()函數(shù),這個函數(shù)能夠不顯示你輸入的字符,

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。