當前位置:首頁 » 編程語言 » 考勤管理系統設計c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

考勤管理系統設計c語言

發布時間: 2023-03-17 18:54:09

❶ 排班系統的c語言程序

考勤排班規則班次在考勤,班次定義,就是員工上下班的標准,就是考勤的標准,其重要性不言而喻。企業中存在著各色各樣的班次,而且不同的企業對班次的定義及習慣說法也不一樣,理清班次的定義及其相關聯的術語含義就非常有意義。下面分幾個方面來描述班次及其在企業中的常見表現。一、基本班次的組成:班次定義了員工一天的上下班時間及規則,班次是由多個班段組成的,了解班次之前先了解班段。下面先說明一下相關的術語,這些術語可以輔助我們更好地交流。就類似於我們談軟體的「設計模式」一樣。1、固定班段指上下班時間固定的班段。例:指定上下班時間為8:00-12:00.2、自由班段是指上下班時間是由員工自由掌握的。例:允許員工7:00-9:00之間的任一時刻上班,11:00-13:00的任一時刻下班,但要保障上滿4小時。這類型的班段可稱為自由班段。3、休息時段在一個班段內部,允許存在多個休息時段。4、用餐時段同休息時段類似。用餐時段可分為兩類:固定用餐和自由用餐,舉例說:規定中午用餐11:30-12:30,叫固定用餐,允許中午11:00-13:00之間用餐,但規定用餐時間只能是1個小時,叫自由用餐。如果規定了員工可以自由選擇11:00-12:0011:15-12:1511:30-12:30之間的一個時段用餐,則可稱為浮動用餐。由上面4個基本元素組合而成的班次,稱為基本班次,其中休息時段或用餐時段是從屬於某個班段的,這樣組成的班次,能夠適應大部分的情況。班次除了規定上下班時間規則外,還要定義該班次中,怎樣才算遲到早退,怎樣才算缺席曠工,還有其它什麼異常等等,如含用餐時段的班次,就有用餐超時的異常。(每個班次都定義遲到早退缺席曠工等設定,會比較啰嗦,可做個全局默認值,如果班次中沒有設定就使用默認值)二、特殊班次1、休息:休息作為一個特殊的班次指明了當天不用上班。注意指定休息並非指定當天是周日或節假日,這由其它地方定義。指定休息僅僅是指定當天不用上班。2、自由上下班:例:規定員工當天7:00-19:00可自由上下班(多個班段),只要保障上足8小時即可,或者上了多少小時班算多少。周六周日自由加班就是屬於這種情況。3、互斥班組:將多個互斥的基本班次組合在一起,構成一個互斥班組。所謂互斥的,是指各個班次其上下班時間相互不交叉。計算考勤時由系統自動識別匹配是哪個基本班次。這對於兩班倒或三班倒的情況下可以有效地減少排班的工作量。不建議使用互斥班組來進行排班,因為在員工多打卡或少打卡的情況下,同時加班,請假會讓班次是的刷卡點改變,這都使得智能匹配過程容易產生錯誤。明確排班則沒有這類錯誤。考勤應是非常嚴肅的,哪怕是0.0001%的錯誤,都會給你的考勤軟體蒙上污點。4、動態班次這是一種非常特殊的班次。正常情況下,班次的定義是預先定義的,而動態班次的班次定義是由程序動態生成的。好像這不好理解,舉例說,學校老師按課程表上下班,上課前30分鍾要簽到,下課後即可下班,沒課可以不來。此時可依據課程表動態生成一個基本班次來參與考勤計算。如果不使用動態班次,則需要預定義很多個基本班次,而且也加大了排班的難度。很明顯,這種班次需要二次開發定製才能使用。三、「工作天」在班次中的重要性班次解決了員工當天該如何上下班,排班指定了員工當天上哪個班次。這個天並非我們時常說的24小時的一天,而是「工作天」。一個工作天可能不止24小時。班次中定義工作天的起止時間點,加班可能會改變該時間點,從而使得一個工作天實際上不止24小時。「休息」作為一個特殊的班次,其不用指定工作天起止點。班次中如果不定義工作天,那麼對於跨天加班及連續上班36小時的現象就不好處理。這里說一下員工連續工作36小時的現象(變態吧),例如:兩班倒時,1號上夜班,一直加班到2號,然後接著上白班,2號下班後又加班。好像說,這不可能吧!我說說我知道的比較合理的解析。一種情況是下班後安排幾個員工到醫院守護病人,然後第二天繼續上班,自然得付給員工加班費了。其實並不是那名員工強壯得變態,他們可以睡覺的。另一種情況是,安排員工24小時待命,機器一好就開始生產,自然這也是得給員工加班費的。所以,面對異常現象時,不要盲目下結論,調查分析後更有發言權。對於該異常,應該將加班時間分配到相應的工作天去,這也需要工作天定義。定義了工作天,考勤體系更為完整。四、用面向對象的類來因應企業班次的發展以上所說的班次,能對應企業中的普遍情況,但就能適應企業中的全部情況了嗎?那肯定是不行的,隨著企業的發展與需求的變化,班次也將隨著變化,但無論如何變化,總要規定員工是如何上下班的,如何打卡的,怎樣才算是異常等等信息,對於考勤計算來說,這個班次又是如何匹配刷卡的,如何匹配工作天的,等等信息總要在班次中定義,排班也一樣,無論採用何種排班方法,總得給出當天排的是什麼班次。用寫SQL過程來計算考勤過程的方法,因為其對模塊化及面向對象均不支持,在需求發生變更時,改動代碼或看別人的代碼都將變得無比艱難。用面向對象的軟體方法可以在企業有新的班次類型出現時,輕松面對,而無須對軟體大動干戈。用面向對象的方法則需要建立一個正確的考勤模型體系,只要考勤模型不變,變化就盡在掌握中。四公休作息日作息是每個人所必需的,五調休考勤排班班次及排班對於考勤有著重要的意義,是計算考勤的基準。考勤軟體是否好用,排班是否好用就佔了很大的比重。1、群組排班與個人排班的關系。不同的軟體其排班實現不大一樣,一般分為群組排班及個人排班,排班邏輯是個人排班優先於群組排班。對於群組的概念,有些軟體直接用部門替代有些則有專門的考勤班組概念,無論如何做,都是一個員工集合也就是Group這個概念,個人排班作為特殊情況對待。其當天排班過程則是這樣:如果當天有做個人排班,則以個人排班為准,否則以群組排班作為當天班次,如果群組排班也沒排,那麼就依全局設定來處理這個異常,沒排班的可以設定一個默認班次,或者設一個部門默認班次或者直接發出異常,總之在考勤計算前要確認當天所上班次,我是反對智能匹配班次這個概念的,因為考勤是個很嚴肅的話題,就算你做到了99.99%成功匹配,但就是出現一個錯誤,就需要人工來做全部檢查。2、異動與歷史記錄對排班的影響。一個例子就是:員工從排班組A調入排班組B,那麼其班次也會跟著改變,計算時得考慮這些因素。類似這樣的例子有:員工部門調動對於統計部門每天人數的影響,薪資異動對於每月薪資計算的影響。3、數據的來攏去脈能夠展示出來給用戶看,回答為什麼員工當天上的是這個班次,打了這些卡後,為什麼得到如此計算結果。4、個人月排班查詢:數據來源是群組排班與、個人排班、加班、請假及異動記錄,依據預定的規則計算出員工當天排班然後展示出來給用戶看,"加"表示當天有安排加班,"假"表示當天有請假,"離"表示當天已離職,"未"表示當天尚未入職,並提供快捷的方式查找到相應的記錄,以做到有理可依有據可查。個人排班與群組排班具有類似的界面及批量排班功能,目的是減少排班工作量,讓軟體更人性化一些。5、個人考勤明細:考勤計算結果與相關考勤數據展示出來,讓用戶明白刷了什麼卡,得到什麼樣的結果,力求做到數據透明化。解決幾個問題:1)當天該員工是否應上班?這由排班系統來排定。2)應該什麼時候上下班?這由班次定義指定。3)打了什麼卡?這通過自動採集考勤機數據得到。4)計算結果是什麼樣的?為什麼是這樣?將計算結果顯示出來,並支持相應的分組統計。能方便地過濾出每一天的異常人員,並提供方便的途徑回答員工的考勤疑問。排班系統與考勤計算的關系排班系統與考勤計算其實關系不大,也就是考勤計算只需要排班系統告訴員工當天排的是哪個班次就行了,具體如何排班,如何倒班則與考勤計算無關。理解這一點就可以將排班系統與考勤計算獨立開來。排班系統的目標是更好地真實地反映企業中排班的實際情況,企業中排班的主要對象是:1、人。2、班次。3、倒班規則。下面分開來說:1、人,要解決多人同時排班的問題。最簡單方法是手工進行每人每天的排班,加一個批量處理功能來解決多人同時排班的問題。這里說另一種方法:將人歸入群組,然後對群組進行每天排班,特殊的人員進行個人每天排班。也就有群組排班與個人排班同時存在,匹配邏輯是個人排班優先於群組排班。同時群組排班及個人排班都應該有批量處理功能。對人分群組進行群組排班的方法比較貼近千人以上的企業的實際情況,能清楚地反映當前群組的班次。其帶來的問題是員工歸屬群組的歷史記錄問題,這個問題要處理。2、班次,班次的種類及具體班次的定義請看另一個文章,這里只是提出排班時,要對所排班次的合理性做出檢測並警告,主要是相鄰天的上下班時間交叉問題,特別是1號上夜班,2號上白班這種情況。當班次很多時,一般會對班次進行分類,常有以下分類:1、按部門分。2、按使用性質分:常用班次,臨時班次,一次性班次等。分類後能很容易就能找到相應的班次,不用記住班次的名稱或編號。3、倒班規則,如果做好了群組排班與個人排班,就算沒做倒班規則,對千人左右的廠也夠用了。但要應付的員工時,倒班規則可以幫助HR人員很快地生成當月排班表。常見的倒班規則有:兩班倒,三班倒,倒班時間則有:按月倒及按周倒,或者自定義倒班日期。倒班規則掛在員工考勤群組中,不同的考勤群組指定不同的倒班規則,這樣就可以快速生成群組排班表。快速生成一個群組排班表,再由HR人員手工做少少修改或不用修改就可以完成排班,這可以減輕排班難度。4、員工排班表的生成。排班表決定員工最終排定班次,注意:該表不一定存在於資料庫中,至少在我的設計里,該表沒有存在於資料庫表中。它是排班系統動態依據「群組排班表」「個人排班表」「個人歷史記錄」計算而得出的。目前我設計中「倒班規則」則是用來快速生成群組排班表,減輕排班工作量的,與排班表生成邏輯無關。如果要做得更復雜一些,也可以在將「倒班規則」考慮到排班表的生成中去,那樣的排班表生成邏輯就復雜很多了。我認為:將「倒班規則」只用作快速生成群組排班表,不計入排班表生成邏輯中是一個足夠好用的方案,系統不需要再復雜化。5、關於自動偵測員工當天班次。自動偵測員工當天班次,作為一個功能存在,做成「偵測可能的排班錯誤」,並提供對應的可能班次。用以方便檢測排班錯誤。還是不贊成用自動檢測到的班次來替代排班的方案。因為那不能回答:當天員工是否應該出勤?(不用出勤也就沒有曠工缺席了。)關於考勤有很多很多的話題與規則,因為其復雜與易變,考勤軟體走的是螺旋上升的發展道路,程序員的每一次努力都讓軟體更強壯易用,所以最好用面向對象的方法來開發考勤軟體。至於資料庫表設計及具體程序對象介面代碼,我沒准備這方面的內容,至於用戶操作界面如何才易用,那又是另一個話題了。思想與解決方案說出,代碼就是次要的了。

❷ C語言程序設計 學生成績管理信息系統

我還有代碼呢,要的話,馬上帖出來..給個紅棋吧,呵呵

一、 課題設計名稱
學生成績管理信息系統分析設計
二、 課題設計目的
通過本次課程的設計,加深對信息系統基礎理論和基本知識的理解,掌握使用信息系統分析、設計的基本方法,提高解決實際管理問題、開發信息系統的實踐能力。
三、 任務要求:
用信息系統開發工具(例如Visual Foxpro、Visual Basic、Delphi等)開發一個實用的中小型管理信息系統。
1、根據課程設計時間選擇適當規模大小的設計課題。
2、根據合理的進度安排,按照系統開發的流程及方法,踏實地開展課程設計活動。
3、課程設計過程中,根據選題的具體需求,在開發各環節中撰寫相關的技術文檔(小組各成員可分別完成某階段的技術文檔),最後要求提交詳細的課程設計報告。
4、開發出可以運行的管理信息系統,通過上機檢查。
四、 課題設計報告書要求:
1、 課題設計報告書第一頁為封面,封面上寫清楚標題、班級、姓名、指導老師、完成日期,格式自己設計。
2、 課題設計報告書第二頁為本任務書。
3、 課題設計報告書第三頁為教師評語。
4、 課題設計報告書第四頁為目錄。
5、 課題設計報告書第五頁開始為具體內容:

(1)可行性分析
(2)系統分析部分
1)業務流程圖
2)數據流程圖
3)功能分析圖
4)數據字典
5)數據加工處理的描述
6)管理信息系統流程設想圖(新系統模型)
(3)系統設計部分
1)功能結構圖設計
2)新系統信息處理流程設計
3)輸出設計(主要指列印輸出設計)
4)存儲文件格式設計(資料庫結構設計)
5)輸入設計(主要指數據錄入卡設計)
6)代碼設計(職工證號和部門代號等)
7)程序設計說明書
(4)附錄或參考資料

6、課題設計報告書最後一頁是本次課程設計的小節和參考文獻。
7、字數要求不少於4000字。
8、列印紙張使用B5紙,頁邊距設為上、下、左2厘米,右1.5厘米,
五、 如有雷同,將作不及格處理。
六、 完成時間:2007.1.5
計算機二系
尚晉
2007.10.28
教師評語

評分模塊 評分標准及分值 得分
平時成績(20分) 1. 態度(10分)
2. 考勤(10分)
分析與設計部分
(65分) 3. 需求分析(5分)
4. 系統復雜度(5分)
系統分析部分(20分) 5. 業務流程圖(5分)
6. 數據流程圖(5分)
7. 功能分析圖(3分)
8. 數據字典(7分)
系統設計部分
(35分) 9. 系統配置方案設計(5分)
10. 用戶界面導航圖(5分)
11. 界面設計(5分)
12. 有效性驗證(5分)
13. 錯誤處理(5分)
14. 編碼設計(5分)
15. 資料庫設計(5分)
報告部分(10分) 16. 條理清晰、語言精練准確(5分)
17. 描述圖形工具使用恰當(5分)
組長加分(5分) 18. 組織得力,合作完成情況好(5分)
總分(100分)

成績:

學生成績管理信息系統
1. 系統規劃

1.1項目開發的背景
伴隨著信息社會的到來,信息的極大豐富必然要求人們適應信息社會,信息和材料、能源一樣成為一種社會的基本生產資料,在人類的社會生產活動中發揮著重要的作用,其中最重要的前提就是充分利用人們的才智和學習能力。傳統的教學只教會了學生相關的知識,沒有教會學生如何利用這些知識,以及再學習的能力。特別對於「管理信息系統」這類實用性比較強的課程,更需要培養學生的實際動手能力。.教與學互動與結合,強調應用,不僅讓學生了解課程上講授的管理信息系統方法和原理,而且讓學生們利用這些知識解決實際問題。這對學生的實際工作能力是一個很好的鍛煉。密切結合學生獨立完成的系統開發作業,通過指導教師的點評,使學生能夠在較短的時間內,通過實踐,真正掌所學的知識。同時人們對信息和數據的利用與處理也已經進入了自動化、網路化和社會化的階段,因此,開發相關的管理信息系統已經成為各行各業的必要和必需了,管理信息系統作為一門邊緣學科,集管理科學、信息科學、系統科學、現代通信技術和電子計算機技術於一體,可以解決企業或組織所面臨的問題,對於成績管理員的勞動強度、提高工作質量和效率;方便管理人員對信息的查詢、提高信息資源的利用效率和管理水平都具有重要意義。
1.2 可行性分析
基於以上對問題的調查和分析,利用計算機給我們提供的信息,及時地了解學生的信息,並且形成一整套動態的管理就十分必要了。本系統開發的主要目的是對學生信息和成績的實現計算機管理。學生管理系統的建立,是在進行對大量用戶需求與調查分析得到的。
(1)技術可行性
成績管理系統主要是用於計算機教育部關於教學計劃、課程、教師信息、成績的查詢和管理。通過使用Microsoft公司提供的Visual FoxPro 6.0工具以及SQL Server資料庫可以實現對有關課的教學計劃、課程等的網上查詢和管理,主要目的是對學生成績實現計算機管理。
(2)經濟可行性
開發學生成績管理系統費用較底,可利用現有的微機設備,經濟上是可行的,非常適合於成績管理,因為該系統實現了將管理和查詢網路
化,極大地方便了管理員、教師、學生。
(3)操作可行性
本系統的界面設計簡單直觀,易於理解。它使用的控制項都是用戶常用的或常見的,操作起來很容易上手。不需要特別的培訓和講解,用戶便能使用該系統。
(4)組織與管理可行性
成績管理員是對學生的成績進行管理的,但過去由於採用人工方法進行管理,工作效率低,勞動強度大,所以他們希望採用計算機管理,將已有的管理經驗轉化到管理軟體中。這就使得系統調查、需求分析能夠得到有關人員的大力支持和積極配合。
1.3 制定系統開發計劃
開發學生成績管理系統的計劃見表1-1
表1-1 實驗小學學生成績管理系統開發簡略計劃表

序號 項目內容 時間進度 項目負責人
1 系統規劃和可行性分析 2007年12月 向萬秀
2 系統分析 2007年12月 張春先、向萬秀、刁勝
3 系統設計 2007年12月 向萬秀、張春先
4 系統實施與測試 2007年12月 向萬秀
5 系統評價與維護 2007年12月 張春先
6 安全保障措施 2007年12月 向萬秀、張春先

2系統分析
1現行系統業務流程的調查
對某學校進行實地調查,其現行的成績管理工作都是採用傳統的手工管理,經過對成績管理員、學生和教師的全面的調查研究,手工工作效率低,工作質量差,不適合現在學校成績管理系統的需求,所以需要改進傳統的成績管理模式。實現科學化管理。
對現行系統的調查業務流程圖如下圖1-1所示:

學生

1-1 業務流程圖
2 需求分析
(1) 功能描述
本系統包括用戶管理、學生注冊、班級信息錄入、學生信息錄入、班級課程錄入、學校專業信息錄入、課程信息錄入、學生成績錄入、教師信息錄入、各方面的查詢等等。
1.教學管理功能
① 新本學期所開設課程的錄入與查詢:例如在2006年上學期開設課程:C語言與經濟數學。
說明:所有的課程成績均由三部分組成:平時成績,上機成績, 筆試成績。所佔的比重分別為:30%,10%,60%,在該系統中這三部分及其比重是固定不變的。
② 對各系科的課程安排的錄入與查詢,課程安排即是該學期每個學科
的選課課程、任課教師以及上課時間和上課地點。
說明:每一個院系中所有的不同專業所選的課程都是一樣的。但是同一院系的學生不一定有同一個教師授課。
(2).成績管理的功能(教師使用)如下:
① 錄入成績:既可以單個錄入也可以批量錄入,其中批量錄入以成績單單位,每次從系統中調出一張成績單,編輯完成後一次性提交。
成績單:成績單包括學期、院系、專業、課程、任課教師、學生成績。
② 查詢成績:單個查詢(學生可使用),根據學生的學號或姓名查詢出該學生的所有課程的成績信息。批量查詢以成績單為單位,每次查詢出一張成績單。
③ 列印成績:可以一次列印一張成績單,也可以按要求批量列印。
④ 統計調整:對成績單中的成績進行統計,指出各個分數段的人數分布情況。因為有時學生的成績整體上偏低,需要進行調整,一次系統可以按照用戶設置的規則對成績單中的成績進行調整。
成績調整規則:將成績單中總分在某一分數段的學生成績調整到另外一個分數段。例如將50到60分的學生成績全部調整到60到65分之間。為了使調整過程盡可能合理,還可以對待調整分數段的學生成績進行限制,例如設置其筆試成績必須在50分以上,而平時成績則可以適當放寬。
⑤ 每學期考試不及各的學生自動納入新學期的跟考或輔修教學計劃中。
(3).許可權說明:
① 管理員可使用功能:教師信息管理、系科顯示、課程管理、教學計劃管理、學生成績查詢;
② 教師可使用成績管理各項功能:對學生成績的添、刪除、修改、查詢、分析、調整;
③ 學生可使用的功能:查詢單個學生所有成績,班級成績,學生平均成績,最高分,最低分等。
為學校教師和學生提供快捷的查詢手段,讓老師和學生能夠及時查詢學生成績信息,更快而又方便的進行查詢。
(4).性能要求
本系統採用計算機對學生成績進行管理,進一步提高辦學效益和現代化水平。幫助廣大教師提高工作效率,實現學生成績信息管理工作流程的系統化、規范化和自動化。如果本系統能被學校所採用,將會改變以前靠手工管理學生成績的狀況,可以樹立良好的辦學形象,提高工作效率。由於現在實行九年義務教育,學校學生不斷增加,該系統可高效的進行大規模的查詢。系統的安全保密性高,能防止非法訪問
3新系統的邏輯模型的建立

(1) 新開發的學生成績管理系統的功能分析
在學生成績管理信息系統中,主要有三類外部實體:學生、教師、教務處工作人員。學生成績管理信息系統的大部分功能是為教務處工作人員設置的。經調查分析,新開發飛的學生成績管理信息系統應具有以下的功能。
(1.1) 查詢學生的基本信息和成績信息,包括學生信息的添加、修改、刪除等。
(1.2) 管理學生成績,包括考試管理,成績管理等。
(1.3) 成績的處理,即統計成績、分析成績等。

(2) 繪制數據流圖
繪制數據流圖時,只考慮學生和教務處兩個外部實體,頂層數據流圖如圖1-2所示。

學生成績錄入 教師課程信息

學生成績單
學生登錄信息
學生選課信息 輔修/跟考通知單

用戶名、密碼 部門信息
課程類型 學生成績信息
課程信息 學生考試信息

圖1-2 頂層數據流圖
0層數據流如圖1-3所示。由於1層圖沒有完整繪制,0層圖中只屬於一個加工的文件(例如許可權表)也在0層圖上出現。
0層數據流圖通過反應整個系統中不同數據流向,來揭示系統的組成結構以及各組成部門之間的關系,這種關系主要體現在對數據的操作和處理上。

用戶名、密碼
學生信息
部門信息
學生成績
學生信息

學生成績單
成績類型 輔修/跟考通知

學生成績 不及格成績
缺考

圖1-3 0層數據流圖
學生信息數據流程圖如圖1-4、1-5所示。

學生信息 審查1.1 合格單 是否新生1.2 新生信息

學生紀錄

學生成績

總學生紀錄表及成績

圖1-4 1層數據流圖
(3) 數據字典
數據字典是進行數據收集和數據分析所獲得的主要成果,是系統中各類數據描述的集合。數據字典通常包括數據項、數據流、數據存儲、處理邏輯。

數據項
名稱:學生信息
別名:學生信息
說明:學生信息=學生基本信息+學生記錄+學生成績記錄
類型:字元型
長度:12
取值范圍:0000000000001~99999999999

數據流條目:
合格單=姓名+系別+班級+專業
新生信息=入學時間+姓名+性別+年齡+專業+系別+班級
加工條目:
加工名:審查
編號:1.1
輸入:學生信息
輸出:合格單
加工邏輯:根據學生信息判斷是否是新生

加工邏輯

加工邏輯
加工名:是否是新生
編號:1.2
輸入:合格單
輸出:新生信息
加工邏輯:根據合格單建立新生信息
加工名:錄入、存儲學生信息、各科成績
編號:1。3
輸入:新生信息、考試成績
輸出:本次考試成績

2層數據流圖

學號、課程號 有效查詢 成績

考試成績 成績單

學生紀錄 班級 統計成績

各科

本次成績 升留級名單 學生紀錄

成績標准

圖1-5 2 層數據流圖
數據字典:
數據項
名稱:學號、課程號
別名:編號
說明:惟一標識一個學生編號
類型:字元型
長度:12
取值范圍:0000000000001~9999999999999

數據存儲文件
數據存儲條目:
數據存儲名稱:考試成績

組成:姓名+班級+專業+系別+成績+學號

組織方式:索引文件,以學號為關鍵字

加工處理
加工邏輯
加工名:有效性檢查
編號:2。1
輸入信息:學號、課程號
輸出信息:有效查詢
加工邏輯:根據所輸入的信息來檢查有效性
加工名:查詢成績
編號:2。2
輸入信息:考試成績
輸出信息:成績
加工邏輯:根據考試成績查詢成績

加工條目:
加工名:統計選擇
編號:3。1
輸入信息:學生記錄
輸出信息:按規定統計成績
加工邏輯:根據所輸入學生記錄,按班級、單科統計成績
數據存儲條目:
文件名:成績標准 組成:成績

加工條目:
加工名:是否升級
編號:4。1
輸入信息:本次成績、成績標准
輸出信息:升留級名單
加工邏輯:根據本次成績
IF 大於等於標准成績 ELSE 降級
ENDLF THEN 升級

加工名:更新記錄
編號:4。2
輸入信息:升留級名單
輸出信息:學生記錄
加工邏輯:根據升留級名單修學生記錄

3.系統設計
1. 系統總體結構設計與功能模塊劃分及系統功能描述
本系統的主要任務是實現對學校教導處的學生信息管理、成績管理、課程管理及相關查詢。其主要功能包括:
學生成績管理模塊,學生信息管理模塊、系統模塊等等。
學生信息管理功能
(1)班級管理。提供給班主任進行本班學生的信息更新、刪除。
(2)添加學生。以班級為單位,進行學生入庫。其中分為單個添加和成批添加。單個添加學生供數量較少的學生信息入庫;成批添加可以從現存的學生信息EXCEL文件中成批錄入到資料庫中。
(3)刪除學生。當學生畢業後,學生信息轉移備份資料庫中,系統的基本資料庫中需要刪除學生信息。該功能主要進行成批地刪除學生信息,如連續學號區段的多位學生信息刪除,整個班級的刪除,所有學生信息的刪除。
(4)新生管理。本部分的功能主要有新生導入、分班、及設置學號。新生導入實現從現存的EXCEL新生名單中錄入學生信息。分班功能實現按新生的報考專業、成績及性別進行分班。設置學號實現自動為各班學生編發學號。
學生信息備份。在學生信息刪除前,將其按班級為單位保存到備份資料庫。
(5)學生信息模塊主要包括對學生信息的存儲,審查記錄以及學生對學生整個信息的調查進行分類和查找。可以實現添加、修改、刪除、查詢學生信息管理的調查。
(6)學生基本信息管理功能包括:學生信息、學生記錄、學生成績、總學生記錄表和成績。
(7)學生基本信息包括:學生學號、學生班級號、課程號、學生聯系方式等等
(8)課程管理。提供本學期各年級各專業所開課程名稱的錄入、修改、刪除。它是學生成績管理的基礎。用以保證資料庫中一致性原則。
2.系統功能分析
系統開發的總體任務是實現學生信息關系的系統化,規范化和自動化。
學生基本信息所需要完成的功能主要有:
●學生信息的輸入,包括輸入學生基本信息、所在班級、所學課和 成 績等。
● 學生信息的查詢,包括輸入學生基本信息、所在班級、已學課程和成績 等。
● 學生信息的修改。
● 班級管理信息的輸入、查詢、修改,包括輸入班級設置,年級信息等。
● 基本課程信息的輸入、查詢、修改。
● 學生成績信息的輸入、查詢、修改。
對上述各功能進行集中、分塊、按照結構化程序設計的要求。
2.繪制學生信息管理模塊功能結構圖如圖

圖1-6 學生信息系統管理的功能結構圖

3.系統配置方案設計
鑒於本系統的業務性質,必須選擇具有較高的可靠性、穩定性和必要的容錯能力的計算機硬體和軟體系統,以保證任何情況下都不至於丟失、損壞數據。
必須具有較高的響應速度,以保證各項具體業務的順利進行。
應考慮具有良好的可維護性,可操作性和可擴充性,以保證將來系統規模的擴展和升級的需要。
4.開發與運行環境的使用
開發前台工具:Visual FoxPro 6.0
操作系統對整個網路起著重要的作用,Windows 2000作為一種強健的、多用途的操作系統,不僅能夠運行強有力的客戶/伺服器應用軟體,還可以提供可靠的文件與列印服務,再加其內置的通信與Internet/Internet服務功能,以及安裝、使用、管理和維護的方便性,因此,本系統採用Microsoft Windows 2000Server作為操作系統。
本系統准備採用客戶機/伺服器(C/S)結構模式。C/S結構的最大優勢在於廣泛採用了網路技術,將系統中的各部分任務分配給分布在網路上的擔任不同角色的計算機。把較復雜的計算機管理任務交給伺服器完成。再把一些頻繁與用戶打交道的任務交給客戶機完成。通過這種結構完全實現了網路上信息資源的共享。
開發基於C/S結構的管理系統所用到的開發工具包括前台開發工具和後台資料庫管理系統,主要根據開發者對開發工具的熟悉程度而定。本系統的前端開發工具採用Visual FoxPro 6.0。
5.編碼(Code)設計
6.資料庫設計
(1) 概念結構設計
經過本次實驗,概念結構設計的主要工作是根據用戶需求設計概論性數據模型。概念模型是一個面向問題的模型,它獨立於具體的資料庫管理系統,從用戶的角度看待資料庫,反映用戶的現實環境,與將來資料庫如何實現無關。概念模型設計的典型方法是E-R方法,即用實體—聯系模型表示。
E-R方法使用E-R圖來描述現實世界,E-R圖包含三個基本成分:實體、聯系、屬性。E-R圖直觀易懂,能夠比較准備地反映現實世界的信息聯系,從概念上表示一個資料庫的信息組織情況。
實體:是指客觀世界存在的事物,可以是人或物,也可以是抽象概念。E-R圖中各實體的關系說明如下。
學號記載學生成績管理系統中所登記的一類編號,而所有的學生姓名是所代表的是學生的代碼。中兩個實體之間為一對多關系。
學生可以選擇多門課程,一門課程可以有多個學生選擇。其中本系統中E-R圖包括學生性別、出生日期等等。課程中包括課程號、課程名、教師姓名等等。

M N

學生與課程之間的關系

課程名是惟一的,而選課的學生是多個的,這兩個實體之間為一對一關系。
一個學校有多位老師,這兩個實體之間為一對多關系。
學生與課程表中的同一課程對應多個不同的老師與學生,這兩個實體間為一對多關系。

❸ 怎麼用C語言編寫員工考勤系統

如果是要被使用者操作的系統, 使用pure C是比較麻煩的, 尤其是在視窗GUI處理上. (除非你要使用的是文字模式, 即便如此, 排版及頁面控制也是件麻煩事).

我個人會建議使用VC, 簡化GUI處理, 可將關注重心放在系統功能本身.

如果是課業或專題, 那就需要自行考量各部分的重要比率, 將某些部分進行簡化, 加強重點的關注.

❹ 課堂考勤管理系統的設計用什麼語言寫

用的C語言。
課堂考勤管理程序是信息管理系統的一個子系統,一個基於單機版的系統。因為隨著計算機技術的不斷進步與發展,計算機已經深入到人們日常生活的每個角落,該系統開發功能主要包括管理員可以通過計算機設置學生考勤管理程序,列印正悶供學校及個人使用。
課堂考勤管理程序是一個對於學生做鬧考勤的管理系統,不僅大大減少了考勤管理人員的大量的工作,而且還方便了班級和學校對學生純清罩出課率的查詢,只要通計算機登入本系統就能及時修改、更正學生的考勤信息,使信息真實、有效。這樣節省了大量人力物力,節省了寶貴的時間,大大提高了工作效率。用C語言進行了該系統的編寫。操作上力爭實現人性化、合理化,滿足學校、老師、非計算機管理人員的使用和查看。

❺ 學生考勤管理系統C語言代碼

#include "stdio.h"
#include "string.h"
int main()
{
char name[50][8];
int grade[20][4];
int zm=0;
int ze=0;
int zc=0;
int zz=0;
int n;
int i;
printf("Please input the nummber of students:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Please input the %dth student's name:",i+1);
scanf("%s",&name[i]);
printf("Please input the %dth student's Math score:");
scanf("%d",&grade[i][0]);
printf("Please input the %dth student's English score:");
scanf("%d",&grade[i][1]);
printf("Please input the %dth student's Computer score:");
scanf("%d",&grade[i][2]);
grade[i][3]=grade[i][0]+grade[i][1]+grade[i][2];
}
printf("Name Math Enlish Computer total\n");
for(i=0;i<n;i++)
printf("%s\t%d\t%d\t%d\t %d\t\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3]);
return 0;

}

❻ 求c語言學生考勤管理系統設計 求大神助陣哪

C語言,CMD界面的呢,東西應該不多啊。和學生管理系統一樣,網上很多的...

❼ C語言程序設計;學生考勤管理系統

用鏈表做