国产第页,国产精品视频一区二区三区,国产精品网站夜色,久久艹影院,精品国产第一页,欧美影视一区二区三区,国产在线欧美日韩精品一区二区

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

發(fā)布時間:2020-07-27 來源: 思想?yún)R報 點擊:

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

 1. 系統(tǒng)描述

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

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

 員工(,姓名,部門)

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

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

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

 日期 姓名 部門 …. ….. ….. 例:

 2010 3

 1 姓名

 部門

  11 張三 安保部

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

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

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

 2.2.3.存儲考勤一段時期的統(tǒng)計信息的文件 :

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

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

 2010 4 1 2010 6 30

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

 11 張三 1

 2 12 李四 2

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

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

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

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

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

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

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

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

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

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

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

 } (()) {

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

  ;

 (); } 專門用于向存儲員工信息的文件中寫函數(shù) () { i; *1,*2; 1("1",""); 2("2",""); (1 2) { (" \n"); (1); } (1,"\t\t\t\t 輸入員工信息\n"); ("\n\t\t\t\\t 姓名\t 部門\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.按部門員工信息\t"); ("5.返回主菜單\n"); ("\n\t 請選擇(1~5):\t"); : (""); (<1 >5) {

 ("\t 輸入錯誤,請重輸:\t"); ; } () { (1): { ("\t\t\\t 姓名\t 部門\n"); (0<) ("\t\t\\\\n"[i][i][i]);

 } (2): { ;

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

  [i]);

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

  [i]);

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

  }

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

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

 [i]);

  }

  } (5):

 } (""); (0<)

  ;

 ;

 (([i])0)

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

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

 } [i][1]; ;

  (""); 刪除員工信息 ( ) 員工辭職,退休等時,刪除員工信息,數(shù)組方式存儲的線性表的刪除操作 { 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 請選擇(1~5):\t"); : (""); (<1 >6) { ("\t 輸入錯誤,請重輸:\t"); ; } () { (1): {

 } (2): {

 } (3): {

  } (); ;

  (); ;

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

  (4): {

  } (5):

 } }

  ("\t\t\t

 刪除員工信息\n"); ("\t 請輸入要刪除的員工:\t"); (""); (); ;

 ; 計算日期對應(yīng)的文件名,相當于哈希函數(shù),以一年內(nèi)為界,一年以天計算 ( ) { 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; } ; } ; } 記錄每天每個員工的考勤情況 () { i; ; ; ; ; [20]; [40]; 零時存放某一天的考勤文件的文件名 *; 指向某一天的考勤文件的指針 ; (""); (); ("\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<) 對所有的員工打考勤,并寫入對應(yīng)的文件中 { [i]; ([i]); ("\n\t\\\t"); (""); (,"\\\\n"); } (,"\n"); (); (""); } 統(tǒng)計所有員工某段時間的考勤情況,把統(tǒng)計結(jié)果輸入文件中 ()

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

 } (""); [i]0; [i]0; ("\t\t\t 統(tǒng)計員工考勤\n"); ("\n\t 請輸入起止日期\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)計\n"); ("\\t 姓名\t 遲到次數(shù)\t 早退次數(shù)\n"); (0<) ("\\\\t\\n"[j][j][j][j]); ("\t\t\t 是否保存():\t");

 (); ("y") {

  ("請輸入文件名;\t"); (""); (,"w"); (,"\t 考勤統(tǒng)計\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 請輸入日期:\t"); (""); (); (, 10); 轉(zhuǎn)換成 (,""); (,"r"); (,""); ("\n\t1.查詢?nèi)w員工考勤\t"); ("2.按查詢\t"); ("3.按姓名查詢\t"); ("4.返回主菜單\n");

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

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

  );

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

 ; }

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

 ; } (3): { ("\t 對不起,沒有此 的員工,謝謝!\n"); ("\t 請輸入姓名:\t"); ("");

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

  );

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

  ; }

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

  } (); (""); }

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

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

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

 );

 );

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

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

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

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

 } ();

 (,"",

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

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

 } }

  } (3): {

 } (0)

 ; ();

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

 (()0) { 1;

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

  } (0)

 } } ();

  } (""); }

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

 } (2): {

 } (); ;

  (); ;

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

 } (2): { ;

  (""); (); ;

 } (3): { ;

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

 }

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

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

 進入輸入員工信息模塊,要分別輸入員工的,姓名,部門等基本信息

  輸入員工信息,并將其存儲

 進入輸出員工模塊,會按要求輸出員工的基本信息

 輸出已有的員工信息

  按姓名輸出員工信息

 按員工輸出員工信息

  按部門輸出員工信息

 插入員工信息

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

 進入員工考勤管理界面 :

  進入員工考勤記錄模塊,可記錄員工考勤情況

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

 進入員工考勤查詢模塊,可查詢員工考勤情況

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

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

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

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

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