东方亚洲欧a∨人在线观看|欧美亚洲日韩在线播放|日韩欧美精品一区|久久97AV综合

        員工考勤信息管理設(shè)計(jì)和實(shí)現(xiàn)

        發(fā)布時(shí)間:2020-07-27 來(lái)源: 思想?yún)R報(bào) 點(diǎn)擊:

          員工考勤信息管理的設(shè)計(jì)和實(shí)現(xiàn)

         1. 系統(tǒng)描述

         1.1 問(wèn)題說(shuō)明 本試驗(yàn)要求是設(shè)計(jì)員工考勤管理系統(tǒng),,本系統(tǒng)作用是用于企業(yè)員工管理,解決人 工考勤面對(duì)龐大數(shù)據(jù)量的弊病.該系統(tǒng)側(cè)重于員工考勤信息管理和員工考勤信息的登記與查詢。本系統(tǒng)使用的開(kāi)發(fā)工具是開(kāi)發(fā)程序,通過(guò)已編制好的程序,完 成對(duì)員工信息的輸入、輸出、插入、刪除操作,以及員工遲到、早退考勤信息 的登記和查詢,完善企業(yè)管理現(xiàn)代化,方便管理人員統(tǒng)計(jì),考核員工出勤情況, 方便員工管理部門(mén)查詢,考核員工的出勤率,準(zhǔn)確地掌握員工出勤情況和相關(guān) 資料,有效管理、掌握員工各項(xiàng)情況. 1.2 功能需求 本試驗(yàn)要求實(shí)實(shí)現(xiàn)員工考勤管理系統(tǒng),本系統(tǒng)包括的基本功能有: 1.2.1 員工信息的管理 1.2.2 員工信息的統(tǒng)計(jì) 1.2.3 員工考勤信息的管理和查詢 1.3 數(shù)據(jù)需求 本系統(tǒng)為完成所要求功能需要的數(shù)據(jù)包括 : 1.3.1 員工,姓名,部門(mén) 1.3.2 員工遲到,早退情況 1.3.3 在一定期間里員工遲到,早退次數(shù) 2. 系統(tǒng)設(shè)計(jì)

         2.1 內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 系統(tǒng)各實(shí)體可用以下關(guān)系表示:

         員工(,姓名,部門(mén))

         考勤(,姓名,遲到,早退,日期)

         統(tǒng)計(jì)(,姓名,遲到次數(shù),早退次數(shù),期間 2.2 數(shù)據(jù)文件設(shè)計(jì) 2.2.1.存儲(chǔ)員工信息的文件 :

         文件名:1 文件內(nèi)容:

         日期 姓名 部門(mén) …. ….. ….. 例:

         2010 3

         1 姓名

         部門(mén)

          11 張三 安保部

          12 李四 安保部 2.2.2.存儲(chǔ)員工考勤信息的文件 :

         文件名:由日期經(jīng)過(guò)變換后得到。變換方式:

        。1)給整個(gè)系統(tǒng)設(shè)置一個(gè)基準(zhǔn)日期 基準(zhǔn)日期:一段時(shí)期內(nèi)的起始日期,通常規(guī)定為一個(gè)月的 1 號(hào),考勤所記錄的是基準(zhǔn)日期之后的考勤信息. (2)考勤記錄的日期與基準(zhǔn)日期相差的天數(shù)加 1。由以上變換可得:基準(zhǔn)日期的考勤的文件名為“1”。

         2.2.3.存儲(chǔ)考勤一段時(shí)期的統(tǒng)計(jì)信息的文件 :

         文件名:管理員自己輸入。文件內(nèi)容:

         起始日期 終止日期 姓名 遲到次數(shù) 早退次數(shù) … …. … … 例如:

         2010 4 1 2010 6 30

         姓名 遲到次數(shù) 早退次數(shù)

         11 張三 1

         2 12 李四 2

         0 各文件之間的關(guān)系:

         考勤文件是按照當(dāng)天的員工信息文件的順序依次記錄。在此把請(qǐng)假等排除在外不考慮。

         2.3 代碼設(shè)計(jì) 設(shè)計(jì)代碼主要包括: () 第一次輸入員工信息 ()

          專門(mén)用于讀取存儲(chǔ)員工信息的文件的函數(shù)()

         專門(mén)用于向存儲(chǔ)員工信息的文件中寫(xiě)函數(shù)() 輸出員工信息 ( ) 添加員工信息 ( ) 刪除員工信息 () 管理員工信息總函數(shù)

         ( ) 計(jì)算日期對(duì)應(yīng)的文件名 () 記錄每天每個(gè)員工的考勤情況 () 統(tǒng)計(jì)所有員工某段時(shí)間的考勤情況,把統(tǒng)計(jì)結(jié)果輸入文件中 () 查詢某一天的考勤情況 () 查詢一段連續(xù)時(shí)間的考勤情況 () 查詢的總函數(shù) () 考勤管理的總函數(shù) 2.4 程序代碼 "" <> <> <> "" <> 30

         最大員工數(shù)員工信息結(jié)構(gòu)體 { ; [20]; [20]; }; 日期結(jié)構(gòu)體 { ; ; ; }; 考勤結(jié)構(gòu)體 { ; ; ; [20]; ; }; 統(tǒng)計(jì)表結(jié)構(gòu)體 { ; ; ; [20]; }; 0; 記錄員工的人數(shù)

         1; 涉及插入,輸出函數(shù)的聯(lián)合操作時(shí)某些位置是否調(diào)用(“”) []; {2012,1,1}; 基準(zhǔn)日期 () 第一次輸入員工信息,相當(dāng)于初始化 { (""); *1,*2; ; 1("1","w"); 2("2","w"); ("\t\t\t\t 員 工 信 息 \n"); ("\n\t\t\t\\t 姓名\t 部門(mén)\n\t\t\t\t"); (1,"\t\t\t\t

         輸入員工信息\n"); (1,"\n\t\t\t\\t 姓名\t 部門(mén)\n"); (""); (0) { []; (""); ;

         } (1); (2); } (1,"\t\t\t\\\\n"); (2,"\\\n"); ("\t\t\t\t"); (""); () 專門(mén)用于讀存儲(chǔ)員工信息的文件的函數(shù) { *; 0; ((("2","r"))) {

          (,""[][], []);

         } (()) {

          } ; (" \n"); (1);

          ;

         (); } 專門(mén)用于向存儲(chǔ)員工信息的文件中寫(xiě)函數(shù) () { i; *1,*2; 1("1",""); 2("2",""); (1 2) { (" \n"); (1); } (1,"\t\t\t\t 輸入員工信息\n"); ("\n\t\t\t\\t 姓名\t 部門(mén)\n"); (0<) {

         } (1); (2); } (1,"\t\t\t\\\\n"[i][i][i]); (2,"\\\n"[i][i][i]); 輸出員工信息 () { i; ; ; [20]; (""); (); 讀員工信息文件("\n\t\t\t\t\t 輸出員工信息\n"); ("\n\t1.輸出全體員工信息\t"); ("2.按姓名輸出員工信息\t"); ("3.按輸出員工信息\t"); ("4.按部門(mén)員工信息\t"); ("5.返回主菜單\n"); ("\n\t 請(qǐng)選擇(1~5):\t"); : (""); (<1 >5) {

         ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): { ("\t\t\\t 姓名\t 部門(mén)\n"); (0<) ("\t\t\\\\n"[i][i][i]);

         } (2): { ;

          ("\t\t\t 輸入姓名:"); (""); ("\t\t\\t 姓名\t 部門(mén)\n"); (0<)

          [i]);

          ; } (3): { (([i])0) ("\t\t\\\\n"[i][i]. ("\t\t\t 輸入:"); (""); ("\t\t\\t 姓名\t 部門(mén)\n"); (0<) {

          [i]);

          } ; } (4): { ([i]) {

          }

         ("\t\t\\\\n"[i][i],

         ; ("\t\t\t 輸入部門(mén):"); (""); ("\t\t\\t 姓名\t 部門(mén)\n");

         [i]);

          }

          } (5):

         } (""); (0<)

          ;

         ;

         (([i])0)

         ("\t\t\\\\n"[i][i], 添加員工信息 ( ) 有新員工加入時(shí),插入 { i; (""); (); 讀文件 ; ([i]>) {

         } [i]; ; (); (0)

         } [i][1]; ;

          (""); 刪除員工信息 ( ) 員工辭職,退休等時(shí),刪除員工信息,數(shù)組方式存儲(chǔ)的線性表的刪除操作 { i; j; (); 讀文件 (""); (0<)

          (<)

         ; (); (0) ([i]) ;

         [j][1];

         (""); }

          () 管理員工信息總函數(shù) { ; ; ; ("\n\t\t\t\t\t 員工信息管理\n"); ("\n\t1.輸入員工信息\t"); ("2.輸出員工信息\t"); ("3.插入員工信息\t"); ("4.刪除員工\t"); ("5.返回主菜單\n"); ("\n\t 請(qǐng)選擇(1~5):\t"); : (""); (<1 >6) { ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): {

         } (2): {

         } (3): {

          } (); ;

          (); ;

          ("\t\t\t 插入新員工信息\n"); ("\t\t\t 請(qǐng)輸入員工的:\n\t\t\\t 姓名\t 部門(mén)\n"); ("\t\t\t"); (""); (); ;

          (4): {

          } (5):

         } }

          ("\t\t\t

         刪除員工信息\n"); ("\t 請(qǐng)輸入要?jiǎng)h除的員工:\t"); (""); (); ;

         ; 計(jì)算日期對(duì)應(yīng)的文件名,相當(dāng)于哈希函數(shù),以一年內(nèi)為界,一年以天計(jì)算 ( ) { i; 0; () 1;

         { (1<)

         (i) {

         2:

         3:

         4:

         5:

         6:

         7:

         8:

         9:

         10:

         11:

          28;

         31;

         30;

         31;

         30;

         31;

         31;

         30;

         31;

         30; } ; } ; } 記錄每天每個(gè)員工的考勤情況 () { i; ; ; ; ; [20]; [40]; 零時(shí)存放某一天的考勤文件的文件名 *; 指向某一天的考勤文件的指針 ; (""); (); ("\n\t\t\t\t 考勤記錄\n"); ("\n\t\t 日期:"); (""); (); (, 10); 轉(zhuǎn)換成 (,""); (,"w"); (,"\\\n"); ("\n\t\\t 姓名\t 遲到\t 早退\n"); (,"\t 姓名\t 遲到\t 早退\n"); (0<) 對(duì)所有的員工打考勤,并寫(xiě)入對(duì)應(yīng)的文件中 { [i]; ([i]); ("\n\t\\\t"); (""); (,"\\\\n"); } (,"\n"); (); (""); } 統(tǒng)計(jì)所有員工某段時(shí)間的考勤情況,把統(tǒng)計(jì)結(jié)果輸入文件中 ()

         { i; j; 0; 0; 標(biāo)識(shí),用于判斷一個(gè)從文件中讀入的新記錄是否在存中存在, 如果不存在則新分配內(nèi)存,否則追加在已有的記錄上 ; ; ; 判斷是否保存 [40]; 零時(shí)存放某一天的考勤文件的文件 ; ; ; [20]; [20]; [20]; [20]; *; 指向某一天的考勤文件的指針 ; 統(tǒng)計(jì)的起始日期,最終日期,只能統(tǒng)計(jì)連續(xù)一段時(shí)間的考勤 ; ; 存儲(chǔ)零時(shí)的 [30]; 存儲(chǔ)每個(gè)員工的遲到,早退次數(shù)的信息 (0<30) {

         } (""); [i]0; [i]0; ("\t\t\t 統(tǒng)計(jì)員工考勤\n"); ("\n\t 請(qǐng)輸入起止日期\n"); ("\n\t\t 起始日期:"); (""); ("\n\t\t 終止日期:"); (""); (); (); (<) { (, 10); 轉(zhuǎn)換成 (,""); (,"r"); (,""); () {

          (,""[k][k][k][k]);

          } (()) {

         ; } ;

         { (()) {

         );

          (0<) {

          (,"",

          ([j]) {

          } ("\n"); } (); }

         } (0) {

          } 0;

          }

          [k]; ([k]); [k]; [k]; ; 1; (1)

         (1)

         ;

         [j];

         [j]; ("\n\t\t 考勤統(tǒng)計(jì)\n"); ("\\t 姓名\t 遲到次數(shù)\t 早退次數(shù)\n"); (0<) ("\\\\t\\n"[j][j][j][j]); ("\t\t\t 是否保存():\t");

         (); ("y") {

          ("請(qǐng)輸入文件名;\t"); (""); (,"w"); (,"\t 考勤統(tǒng)計(jì)\n"); (,"\t 姓名\t 遲到次數(shù)\t 早退次數(shù)\n"); (0<)

         [j][j]);

          }

          } ("");

          (); (,"\\\t\\n"[j][j], 查詢某一天的考勤情況 () {

          ; *; ("");

         ; ; 0; 判斷記錄是否為空 ; ; [20]; [20]; [20]; [20]; [20]; ; ("\t\t\t 查詢某一天的考勤\n"); ("\n\t 請(qǐng)輸入日期:\t"); (""); (); (, 10); 轉(zhuǎn)換成 (,""); (,"r"); (,""); ("\n\t1.查詢?nèi)w員工考勤\t"); ("2.按查詢\t"); ("3.按姓名查詢\t"); ("4.返回主菜單\n");

         ("\n\t 請(qǐng)選擇(1~4):\t"); : (""); (<1 >4) { ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): { ("\t\t\\t 姓名\t 遲到\t 早退\n"); (()) {

         } ; } (2): { (,""); ("\t\t\\\\\n"); ("\t 請(qǐng)輸入:\t"); (""); ("\t\t\\t 姓名\t 遲到\t 早退\n"); (()) {

          );

         } (0) (,""); () { 1;

         ; }

         ("\t\t\\\\\n",

         ; } (3): { ("\t 對(duì)不起,沒(méi)有此 的員工,謝謝!\n"); ("\t 請(qǐng)輸入姓名:\t"); ("");

         ("\t\t\\t 姓名\t 遲到\t 早退\n"); (()) {

          );

         } (0) { (,""); (()0) {

          ; }

          1; ("\t\t\\\\\n",

          } (); (""); }

         } ; } (4): ; ("\t 對(duì)不起,沒(méi)有此姓名的員工,謝謝!\n"); 查詢一段連續(xù)時(shí)間的考勤情況 () { ; i; k; 0; ; ;

          ; *; (""); [20]; [20]; [20]; [20]; [20]; ; ("\t\t\t\t\t 查詢某一段時(shí)間的考勤\n"); ("\n\t 請(qǐng)輸入起止日期\n");

         ("\n\t\t 起始日期:"); (""); ("\n\t\t 終止日期:"); (""); (); (); ("\n\t1.查詢?nèi)w員工考勤\t"); ("2.按查詢\t"); ("3.按姓名查詢\t"); ("4.返回主菜單\n"); ("\n\t 請(qǐng)選擇(1~4):\t"); : (""); (<1 >4) { ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): { (<) {

         );

         );

          (, 10); 轉(zhuǎn)換成 (,""); (,"r"); (,"",

         ("\t\t\\\\n\t\t\\\\\n",

          ); ("\t\t\\\\\n", );

         } ; } (2): { (()) {

         } ();

         (,"",

         ("\n\t 請(qǐng)輸入:\t"); (""); ("\t\t\\t 姓名\t 遲到\t 早退\n"); (<) { (, 10); 轉(zhuǎn)換成 (,""); (,"r"); (,"\", ); (()) {

         ("\t\t\\\\\n", ); (,""); () { 1;

         } }

          } (3): {

         } (0)

         ; ();

         ("\t 對(duì)不起,沒(méi)有此的員工,謝謝!\n"); ("\n\t 請(qǐng)輸入姓名:\t"); (""); ("\t\t\\t 姓名\t 遲到\t 早退\n"); (<) { (, 10); 轉(zhuǎn)換成 (,""); (,"r"); (,"", ); 存放每個(gè)文件開(kāi)頭的相同信息 (()) { (,"");

         (()0) { 1;

         ("\t\t\\\\\n", );

          } (0)

         } } ();

          } (""); }

         ; } (4): ; ("\t 對(duì)不起,沒(méi)有此姓名的員工,謝謝!\n"); 查詢的總函數(shù) () { ; (""); ("\t\t\t\t\t 查詢員工考勤\n"); ("\n\t1.查詢某一天的考勤\t"); ("\t2.查詢一段時(shí)間的考勤\t"); ("\t3.返回主菜單\n"); ("\n\t 請(qǐng)選擇(1~3):\t"); : (""); (<1 >3) { ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): {

         } (2): {

         } (); ;

          (); ;

         (3): { ; } } } 考勤管理的總函數(shù) () { ; ("\n\t\t\t\t\t 考勤信息管理\n"); ("\n\t1.考勤記錄\t"); ("2.考勤統(tǒng)計(jì)\t"); ("3.考勤查詢\t"); ("4.返回主菜單\n"); ("\n\t 請(qǐng)選擇(1~4):\t"); : (""); (<1 >4) { ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): {

         } (2): {

         } (3): {

         } (4):

         } } (); ;

          (); ;

          (); ;

         ;

         主函數(shù) () { ; ; : (""); ("\n\t\t\t 歡迎使用員工考勤管理系統(tǒng)\n"); ("\t 菜單:\n"); ("\t\t1.員工信息管理\t\t"); ("2.考勤管理\t"); ("3.退出系統(tǒng)\n"); ("\n\t 請(qǐng)輸入菜單選項(xiàng)(1~3):\t"); (""); (<1 >3) { ("\t 輸入錯(cuò)誤,請(qǐng)重輸:\t"); ; } () { (1): { (""); (); ;

         } (2): { ;

          (""); (); ;

         } (3): { ;

          (""); ("\n\t\t\t\t 你真的要退出嗎()?\t"); (); ("y") { ("\n\t\t\t\t 感謝使用本系統(tǒng)!\n\n\t\t\t\t 再見(jiàn)!\n"); (1);

         }

         ; } } 0; } 3. 系統(tǒng)測(cè)試

         進(jìn)入員工考勤管理系統(tǒng)界面為 : 進(jìn)入員工信息管理模塊:

         進(jìn)入輸入員工信息模塊,要分別輸入員工的,姓名,部門(mén)等基本信息

          輸入員工信息,并將其存儲(chǔ)

         進(jìn)入輸出員工模塊,會(huì)按要求輸出員工的基本信息

         輸出已有的員工信息

          按姓名輸出員工信息

         按員工輸出員工信息

          按部門(mén)輸出員工信息

         插入員工信息

          插入員工后,輸出變更后的員工信息

         進(jìn)入員工考勤管理界面 :

          進(jìn)入員工考勤記錄模塊,可記錄員工考勤情況

          進(jìn)入員工考勤統(tǒng)計(jì)模塊,可統(tǒng)計(jì)在一定時(shí)間內(nèi)員工的考勤狀況

         進(jìn)入員工考勤查詢模塊,可查詢員工考勤情況

          4. 設(shè)計(jì)的體會(huì)和心得

         4.1 設(shè)計(jì)的不足 程序沒(méi)有對(duì)輸入的所有信息進(jìn)行檢查,比如日期的月份要在 1-12 之間,每

         月的天數(shù);還有遲到、早退只能用 1 或者 0 表示,而不能是其它數(shù)據(jù),只有正確的輸入才能使程序正確運(yùn)行. 對(duì)于考勤信息只能查詢某一天或者某一段連續(xù)的期間的考勤,而不能隨機(jī)查詢不連續(xù)的記錄.在程序的編寫(xiě)過(guò)程中由于水平有限,因此雖然實(shí)現(xiàn)了如下功能:1.員工基本信息管理;2.員工考勤信息管理。但由于代碼不夠優(yōu)化,導(dǎo)致程序運(yùn)行過(guò)慢,操作界面也不夠人性化 . 4.2 心得和體會(huì) 本次試驗(yàn)的主要目的的編寫(xiě)員工考勤管理系統(tǒng),由于情況較為復(fù)雜,因此將其功能拆分為員工基本信息管理和員工考勤信息管理,在員工基本信息管理中實(shí)現(xiàn)了員工信息的輸入,輸出,插入,刪除.在考勤管理系統(tǒng)中實(shí)現(xiàn)員工考勤的查詢功能. 由于功能較多較為復(fù)雜,因此代碼編寫(xiě)也較為困難,在查閱大量資料和在同學(xué)幫助下完成這次試驗(yàn),,在程序中實(shí)現(xiàn)程序的循環(huán)連續(xù)的操作,文件的讀寫(xiě)操作,讓我有了很大的進(jìn)步,還有數(shù)據(jù)結(jié)構(gòu)中線性表的插入、刪除操作等知識(shí)的應(yīng)用有了很大的提高。相信這次試驗(yàn)對(duì)于我以后的學(xué)習(xí)有很大好處.

        相關(guān)熱詞搜索:信息管理 考勤 員工

        版權(quán)所有 蒲公英文摘 smilezhuce.com