第一篇:學生考勤管理系統
學生考勤管理系統
系統設計開發:張文聰
網站意義:
學生考勤對學校教務管理是至關重要的,傳統的學生出勤檢查往往是教師拿著一張紙質名單逐一點名,或讓學生上交課堂作業以便課后查詢出勤情況。這些方法往往具有考勤效率低下,沒有系統的記錄和整理,容易丟失遺漏,耽誤時間等缺點。針對以上問題,開發一種針對學生考勤的網上管理系統,通過本系統,教師可以再課堂上直接登錄考勤記錄網站進行課堂點名,記錄學生考勤情況等。此外,在課余,任課教師、班主任以及學校領導也可以登錄該網站查詢某班學生在某學科課程的出勤情況。
需求分析:
1、提供學生和老師兩個登錄用戶;
2、學生可以查詢自己的出勤情況;
3、任課老師可以查詢自己帶的班級學生的出勤情況;
4、班主任可以查詢本班級學生在每一學科的出勤情況。
5、實現科任老師和班主任查詢結果的報表打印。
網站設計圖:
開發運行平臺:
主要以Microsoft Visual Studio.NET 2008 為開發平臺,SQL Server 2000為后臺數據庫,采用.NET技術,結合C#和JavaScript構造應用程序。
功能模塊說明:
1、學生信息管理
包括了學生的個人信息,所在班級,學號,姓名和學生每個學科的出勤情況。
2、學科信息
包括了每一個學科的課程名稱,課程號和每一個課程對應的任課教師。
3、出勤模塊
包括了全校所有學生對應每一學科課程的出勤情況。班主任和科任老師可以查詢對應的班級學生出勤情況并打印出來。
網站總結:
本系統針對在校學生每一節課的考勤情況作記錄,方便班主任對本班學生出勤率的查看可以及時做好教育防范工作。根據教務處的需求,我們還會將本系統繼續擴大,添加進學生早操、值日和會議等功能,以及學生通過系統請假,老師或領導批假等功能。
第二篇:考勤管理系統
目 錄
一. 選題的背景
隨著計算機與信息技術的普遍提高,越來越多的單位使用計算機來管理檔案,這樣就在很大程度上提高了管理的效率。近幾年來高校的擴大招生,一方面給廣大民眾提供了越來越多的教育機會,另一方面也使學校的管理工作加重了。學生注冊管理采用手工錄入和打印數據的方式,顯然難以保證學生數據的準確無誤和實時更新,迫切需要一種新的現代化管理體制對學生進行管理。二.課題的提出意義
隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。學生注冊管理軟件是使用計算機科學管理的辦法對學生的學籍、班級、課程、成績、獎罰信息等進行管理。不僅具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低的優點,還使學生注冊信息的實時性、精確性和學生注冊工作的各個環節結合起來,極大地提高學生注冊管理的效率,減輕了高校學生管理的負擔。
本系統所實現的學生注冊管理系統就是以VB和Access為編程環境來實現其制作和開發過程的,通過對學生注冊管理系統進行需求分析、總體設計和詳細設計逐步將一個學生注冊管理系統的開發過程呈現出來。沒有可以追求專業性和商品化軟件的華麗包裝,而是本著簡單、實用的原則,既在功能上滿足用戶的需求,又力求操作簡便,使本系統容易掌握和使用。
三.本系統的功能及特點
經分析系統共分為八個模塊:用戶管理模塊、班級管理模塊、學生學籍模塊、課程管理模塊、成績管理模塊、獎懲管理模塊、個人信息查詢模塊,并得到如圖1 所示的系統功能模塊組織結構圖。其中每個模塊分別實現以下功能:
1)用戶管理:管理使用學生注冊管理系統的用戶信息,包括系統用戶的添加、修改、刪除和瀏覽.2)班級管理:管理使用學生的班級信息,包括學生所在班級的添加、修改、刪除和查詢。
3)學生注冊管理:管理在校學生的學籍信息,包括學生學籍的添加、修改、刪除和查詢。
4)課程管理:管理學生課程的各種信息,包括學生課程的基本課程設置和班級課程設置。
5)成績管理:管理學生在校的所有成績,包括學生成績的添加、修改、刪除和查詢。
6)獎懲管理:管理學生在校的獎懲信息,包括學生獎懲管理的添加、修改、刪除和查詢。
7)個人信息查詢:關于學生的各種相關信息,包括學生的性別、年齡、籍貫、身份等。
四.管理系統的現狀
管理信息系統(MIS)是一門邊緣學科,集管理科學、信息科學、系統科學、現代通信技術和電子計算機技術于一體。1985年,管理信息系統創始人,明尼蘇達大學卡爾森管理學院的著名教授戴維斯(Gordon.B.Davis)給出了一個具有代表性的定義:“管理信息系統是一個利用計算機硬件和軟件,手工作業、分析、計劃、控制和決策模型以及數據庫的用戶-機器系統。它能提供信息支持企業或組織的運行、管理和決策功能。”
隨著網絡技術的出現,管理信息系統又有了新的必恭必敬,基于網絡的管理信息系統不斷出現,管理信息系統的概念模型也發生了相應的變化,許多學者對管理信息系統給出了新的定義。例如勞頓認為:“管理信息系統是一個基于計算機的信息系統,它通過收集、處理、存儲和擴散信息,來支持組織的管理、決策、合作、控制、分析活動,并使之可視化。”
第三篇:學生考勤管理系統設計報告
C/C++程序設計專題實驗
報告
題目:學生考勤管理系統設計
班級:電子信息科學與技術131 姓名: 鄔
帥
斌
目錄
目錄......................................................................1 摘要........................................................................2 1.設計要求和目的.........................................................................................錯誤!未定義書簽。
1.1設計目的................................................................3 1.2問題描述................................................................3 1.3功能要求................................................................3 1.4問題的解決方案..........................................................3 2 設計思路和方法...........................................................................................................................4 3 主模塊設計....................................................................................................................................5 4.運行測試及結果.........................................................................................................................13 5.總結...........................................................................................................................................16 參考文獻.........................................................................................................................................16 源代碼..............................................................................................................................................17
摘要
隨著信息技術在管理上越來越深入的應用,管理信息系統的實施在技術上已經逐步成熟。管理信息系統是一個不斷發展的學科,任何單位要生存要發展,要提高效率地把內部活動有機地組織起來,就必須建立與自身特點相適應的信息管理系統。
由于學校的學生管理系統缺乏開發,而學生人數不斷增加,學生信息的不斷更新,所以,學生考勤管理系統的建立就顯得非常重要了。
本設計是基于Visual basic C++ 6.0開發環境,至上而下,層次化地設計學生考勤管理,綜合考慮學生考勤管理所涉及的多方面問題,結合學校和教師的情況,有步驟,條理清晰的設計,操作簡單,很方便的實現了學校和老師對學生考勤的管理。
關鍵詞:學生考勤管理 C++ 信息錄入 查詢
1.設計要求和目的
1.1設計目的
(1)進一步鍛煉學生對C++課程基礎知識和實踐技能的掌握和運用;
(2)要求學生基本掌握面向對象程序設計的基本思路和方法;
(3)要求學生能夠利用所學的基礎知識和技能,解決簡單的面向對象設計問題。
1.2問題描述
學生信息包括:學號、姓名、性別、年齡、班級等信息。
考勤信息包括:缺課日期、第幾節課、課程名稱、學生姓名、缺課類型(遲到、早退、請假和曠課)。
1.3功能要求
(1)添加功能:程序能夠添加學生的記錄和缺課記錄,提供選擇界面供用戶選擇所要添加的類別。添加學生記錄時,要求學號要唯一,如果添加了重復學號的記錄時,則提示數據添加重復并取消添加。
(2)查詢功能:可根據學號、姓名等信息對已添加的學生記錄進行查詢,如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。還可以按課程名、學生姓名對缺課記錄進行查詢。
(3)顯示功能:可顯示當前系統中所有學生的記錄和缺課記錄,每條記錄占據一行。
(4)編輯功能:可根據查詢結果對相應的記錄進行修改,修改時注意學號的唯一性。
(5)刪除功能:主要實現對已添加的學生記錄進行刪除。如果當前系統中沒有相應的記錄,則提示“記錄為空!”并返回操作。
(6)統計功能:能根據多種參數進行統計。能按課程名統計出學生曠課的信息、還可以按姓名統計出任一學生的曠課情況。需要排序。
(7)保存功能:可將當前系統中各類記錄存入文件中,存入方式任意。(8)讀取功能:可將保存在文件中的信息讀入到當前系統中,供用戶進行使用。
1.4問題的解決方案
根據系統功能要求,可以將問題解決分為以下步驟:
(1)應用系統分析,建立該系統的功能模塊框圖以及界面的組織和設計;(2)分析系統中的各個實體及它們之間的關系;(3)根據問題描述,設計系統的類層次;(4)完成類層次中各個類的描述;(5)完成類中各個成員函數的定義;
(6)完成系統的應用模塊;(7)功能調試;
(8)完成系統總結報告。(7)功能調試;
(8)完成系統總結報告。
2.設計思路和方法
2.1設計思路
根據設計要求,經分析可將整個系統劃分為7個功能模塊。數據管理中可以對學生的基本信息、課程的基本信息、學生缺課的查詢、添加、刪除和修改。查詢管理通過根據學生姓名,課程姓名 時間段兒等信息,查詢單個學生的缺課記錄,單科課的曠課記錄,單個學生的曠課記錄。功能模塊圖如下圖所示:
學生考勤管理程序建立學生缺課記錄修改學生缺課記錄查詢學生缺課記錄查看單科曠課記錄查看學生曠課記錄載入學生曠課記錄儲存學生曠課記錄
2.2數據結構設計
struct xueke {char xueke_name[50];int people_num;};這是定義了一個xueke結構體,用來存放一個學科名及其相應的曠課人數;
struct student { char name[50];long time;int lesson_time;char lesson_name[50];int chidao_num;
int zaotui_num;int qingjia_num;int kuangke_num;struct student *next;};這是定義了一個student的結構體,用來存放一個學生的考勤記錄,其中有,字符數組name[50],lesson_name[50],分別存放學生名字,缺課課程名字;int型變量lesson_time,chidao_num,zaotui_num,qingjia_num, kuangke_num,分別來存放,缺課節次,遲到次數,早退次數,請假次數,曠課次數 long型變量time,記錄時間。
3.主模塊設計
3.1建立學生缺課記錄子模塊
建立的學生人數,學生基本信息(包括缺課時間、學生姓名、課程名稱、節次、遲到次數、早退次數、請假次數、曠課次數),用creat()函數,如下圖:
開始int i,b;struct student *head,*p1,*p2;printf(“請輸入要建立資料的學生人數:”);scanf(“%d”,&b);head=p2=NULL;p1=(struct student *)malloc(LEN);輸入第一個學生成績head=p1;p2=p1;i=0;student_num++;inext=p1;p2=p1;student_num++;i++p2->next=NULL結束
3.2修改學生缺課記錄子模塊
開始char xiugai_name[50];char xiugai_xueke_name[50];int k;printf(”請輸入要修改的學生姓名與學科名稱:“);scanf(”%s%s“,xiugai_name,xiugai_xueke_name);struct student *p1,*p2;p2=(struct student *)malloc(LEN);p1=head;p1=p1->next;strcmp(xiugai_name,p1->name)!=0&&(p1->next!=NULL)&&strcmp(xiugai_xueke_name,p1->lesson_name)!strcmp(xiugai_name,p1->name)==0&&strcmp(xiugai_xueke_name,p1->lesson_name)==0顯示修改菜單選擇修改項目并完成修改結束
3.3修改學生缺課記錄子模塊
開始int i=0;char chaxun_name[50];struct student *p;p=head;printf(”請輸入要查詢的人名:“);scanf(”%s“,chaxun_name);i
3.4查看單科曠課記錄子模塊
根據學科名稱和時間范圍查出所有在該范圍內曠課的學生以及次數,如下圖:
開始struct student *p1,*p2,*p3;char lesson[50];long look_time1,look_time2;int xunhuan_num=0;p3=(struct student *)malloc(LEN);p1=head;p2=p1->nextxunhuan_num
3.5查看學生曠課記錄子模塊
根據要查詢的學科名稱及時間段查出在改時間段內該門課上曠課的人數,如下圖:
開始int n,i,j,zhongjian;struct student *p1;char zhongjian_name[50];long look_time1,look_time2;printf(”請輸入第%d個學科名稱:“,i+1);scanf(”%s“,a[i].xueke_name);a[i].people_num=0;printf(”請輸入要查看的時間范圍由小到大“);scanf(”%ld%ld“,&look_time1,&look_time2);p1=head;i=0;Yi 3.6載入學生曠課記錄子模塊 可以載入實現儲存在當前文件夾中txt文件中所儲存的數據,如下圖: 開始struct student *p1=NULL,*p2=NULL,*head=NULL;struct student student_ziliao[100];int i=0,n=0;打開文件!feof(fp1)將文件里的數據存入結構體數組通過結構體數組建立鏈表結束 3.7儲存學生曠課記錄子模快 進入系統界面,進行數據的輸入,信息的保存調用相應的函數打開相應的地址,查詢各項信息。如下圖: 開始struct student *p1;p1=head;打開文件xueshengziliao.txtp1!=NULLN將數據寫入文件p1=p1->next;結束 Y 4.運行測試與結果 4.1開始菜單 4.2主菜單 4.3創建學生缺課記錄庫 4.4修改學生缺課記錄 4.5查詢學生缺課記錄 4.6查看單科曠課記錄 4.7查看學生曠課記錄 4.8載入曠課記錄 4.9儲存曠課記錄 5.總結 在老師同學的細心幫助下,結合網上的參考資料,這次設計總算順利完成。通過本次設計,讓我對C++基礎課程有了更加深刻的理解,在相關的能力上有了很大的提高,雖然在設計過程中遇到很大的困難,但是經過不斷的修改和調試,在此過程中受益匪淺。 這次的程序設計相對于平時的訓練還是有了進步的。學生考勤管理系統要求至少要有四個類,在起初,對于定義哪四個類我是不清楚的,通過仔細的研讀問題描敘終于在腦海里確定了這四個類。既然是學生考勤管理系統,那由學生缺課信息中的日期我想到了時間類,這是一個很簡單的類。從系統的幾大功能我又想到了系統的基礎就是缺課學生的缺課信息,于是我又想到了一個信息類,還有兩個類是根據兩個統計功能想到的,在現在看來似乎有些不妥。通過這次的課程設計我明白了學習程序設計語言必須要勤做實驗,通過實驗總結經驗。 平時遇到的一些小問題一定要重視,越是基礎的知識越要理解透徹。比如指針與數組方面的知識,一旦沒有弄清楚,在設計程序時就會吃虧。這次的課設中,我遇到了很多的問題,有的通過思考或查看書本解決了,有的還留在腦子里,只有通過孜孜不倦的求索我們才會有進步,不懂得思考就不能真正的掌握一門知識。這次的實驗給以了我警示,讓我明白我所掌握的知識還很欠缺,對于繼承與派生這一章的知識,我以為自己勉強掌握了,這次實驗后我發現我掌握得還不夠。基類的保護成員公有繼承到派生類,類外是否可以通過對象來訪問呢,原先我認為是可以的,經過這次程序設計,我知道我錯了。總之,我覺得做學問不應該馬虎,對于所學一定要有深入的理解,這也是我這次課設得到的啟示。 參考文獻: 劉銳宇.Visual C++從入門到精通.清華大學出版社 譚浩強.C++語言程序設計.清華大學出版社 設計源程序代碼: #include //stdio.h的內容用C++頭文件的形式表示 #include #include //動態內存分配 #include #include //I/O流控制頭文件 #define NULL 0 #define guding 10 #define LEN sizeof(struct student) //定義了一個常數宏LEN,它的值等于結構體student的所占內存大小 using namespace std;int student_num;FILE *fp1; //定義指針類型文件 struct xueke { char xueke_name[50];int people_num;}; struct student { char name[50];long time;int lesson_time;char lesson_name[50];int chidao_num;int zaotui_num;int qingjia_num;int kuangke_num;struct student *next;};void chaxun(struct student *head){ int i;char chaxun_name[50];cout<<”請輸入要查詢的人名:“; cin>>chaxun_name;struct student *p; if(head==NULL) cout<<”聯系人為空“;p=head;for(i=0;i if(strcmp(chaxun_name,p->name)==0){ cout<<”缺課時間:“< time<<”學生姓名:“< name<<”課程名稱:“< lesson_name<<”節次:“< lesson_time< 早退次數:“< zaotui_num<<”請假次數:“< qingjia_num<<”曠課次數:“< kuangke_num< p=p->next; //p的指針內容變成了p->next } } struct student *xiugai(struct student *head){ char xiugai_name[50];char xiugai_xueke_name[50];int k;cout<<”請輸入要修改的學生姓名與學科名稱【格式:學生姓名(空格)學科名稱】:“;cin>>xiugai_name>>xiugai_xueke_name;struct student *p1,*p2; p2=(struct student *)malloc(LEN);p1=head;if(head==NULL){ cout<<”沒有學生信息n“; return head;} while((strcmp(xiugai_name,p1->name)!=0||strcmp(xiugai_xueke_name,p1->lesson_name)!=0)&&(p1->next!=NULL)) p1=p1->next; if(strcmp(xiugai_name,p1->name)==0&&strcmp(xiugai_xueke_name,p1->lesson_name)==0){ cout<<”===================================修改信息 =================================n“; cout<<” 1-修改缺課時間 n“; cout<<” 2-修改學生姓名 n“; cout<<” 3-修改課程名稱 n“; cout<<” 4-修改第幾節缺課 n“; cout<<” 5-修改遲到次數n“; cout<<” 6-修改早退次數n“; cout<<” 7-修改請假次數n“; cout<<” 8-修改曠課次數nn“; cout<<”==================================n“; cin>>k; switch(k) { case 1: cout<<”請輸入新的缺課時間:“; cin>>p1->time; break; case 2: cout<<”請輸入新的學生姓名:“; cin>>p1->name; break; case 3: cout<<”請輸入新的課程名稱:“; cin>>p1->lesson_name; break; case 4: cout<<”請輸入新的缺課節次:“; cin>>p1->lesson_time; break; case 5: cout<<”請輸入新的遲到次數:“; cin>>p1->chidao_num; break; case 6: cout<<”請輸入新的早退次數:“; cin>>p1->zaotui_num; break; case 7: cout<<”請輸入新的請假次數:“; cin>>p1->qingjia_num; break; case 8: cout<<”請輸入新的曠課次數:“; cin>>p1->kuangke_num; break; } } return head; } struct student *creat(){ int i,b; struct student *head,*p1,*p2; cout<<”請輸入要建立資料的學生人數:“; cin>>b; head=p2=NULL; p1=(struct student *)malloc(LEN); cout<<”【輸入格式:缺課時間(空格)學生姓名(空格)課程名稱(空格)第幾節(空格)遲到次數(空格)早退次數(空格)請假次數(空格)曠課次數】n“; cout<<”請輸入第1名學生信息:“; cin>>p1->time>>p1->name>>p1->lesson_name>>p1->lesson_time>>p1->chidao_num>>p1->zaotui_num>>p1->qingjia_num>>p1->kuangke_num; head=p1; p2=p1; student_num+=1; for(i=1;i { p1=(struct student*)malloc(LEN); cout<<”請輸入第“< cin>>p1->time>>p1->name>>p1->lesson_name>>p1->lesson_time>>p1->chidao_num>>p1->zaotui_num>>p1->qingjia_num>>p1->kuangke_num; p2->next=p1; p2=p1; student_num+=1; } p2->next=NULL; return head;} void print(struct student *head){ struct student *p;p=head;if(p==NULL) cout<<”沒有學生信息n“;while(p!=NULL) { cout<<”缺課時間:“< time<<”學生姓名:“< lesson_name<<”節次:“< lesson_time< zaotui_num<<請假次數:”< qingjia_num<<曠課次數:“< kuangke_num< p=p->next;} } struct student *tongji_lesson(struct student *head){ struct student *p1,*p2,*p3;char lesson[50];long look_time1,look_time2;int xunhuan_num=0;p3=(struct student *)malloc(LEN);if(head==NULL){ cout<<”沒有學生信息“; return(head);} p1=head;p2=p1->next;while(xunhuan_num while(p2!=NULL) { if(p2->kuangke_num>p1->kuangke_num) { p3->chidao_num=p2->chidao_num; p3->kuangke_num=p2->kuangke_num; p3->qingjia_num=p2->qingjia_num; p3->zaotui_num=p2->zaotui_num; p3->lesson_time=p2->lesson_time; p3->time=p2->time; strcpy(p3->lesson_name,p2->lesson_name); strcpy(p3->name,p2->name); p2->chidao_num=p1->chidao_num; p2->kuangke_num=p1->kuangke_num; p2->qingjia_num=p1->qingjia_num; p2->zaotui_num=p1->zaotui_num; p2->lesson_time=p1->lesson_time; p2->time=p1->time; strcpy(p2->lesson_name,p1->lesson_name); strcpy(p2->name,p1->name); p1->chidao_num=p3->chidao_num; p1->kuangke_num=p3->kuangke_num; p1->qingjia_num=p3->qingjia_num; p1->zaotui_num=p3->zaotui_num; p1->lesson_time=p3->lesson_time; p1->time=p3->time; strcpy(p1->lesson_name,p3->lesson_name); strcpy(p1->name,p3->name); } p1=p2; p2=p2->next; } p1=head; p2=p1->next; xunhuan_num++;} cout<<”請輸入要查看的學科名稱:“;cin>>lesson;cout<<”請輸入要查看的時間范圍【輸入格式:時間(空格)時間】“;cin>>look_time1>>look_time2;p1=head; while(p1!=NULL){ if(strcmp(lesson,p1->lesson_name)==0&&look_time1<=p1->time&&p1->time<=look_time2) cout<<”學生姓名:“< name<<” 曠課次數:“< kuangke_num< p1=p1->next;} return head;} struct student *tongji_student(struct student *head){ struct xueke a[10];int n,i,j,zhongjian;struct student *p1;char zhongjian_name[50];long look_time1,look_time2;if(head==NULL){ cout<<”沒有學生信息n“;return head; } cout<<”請輸入一共的學科數:“;cin>>n;for(i=0;i cout<<”請輸入第“<>a[i].xueke_name;a[i].people_num=0; } cout<<”請輸入要查看的時間范圍由小到大【輸入格式:時間(空格)時間】“;cin>>look_time1>>look_time2;p1=head;for(i=0;i while(p1!=NULL&&look_time1<=p1->time&&p1->time<=look_time2) { if(a[i].xueke_name==p1->lesson_name) a[i].people_num+=p1->kuangke_num; p1=p1->next;} p1=head; } for(j=0;j for(i=0;i { if(a[i].people_num { zhongjian=a[i+1].people_num; a[i+1].people_num=a[i].people_num; a[i].people_num=zhongjian; strcpy(zhongjian_name,a[i+1].xueke_name); strcpy(a[i+1].xueke_name,a[i].xueke_name); strcpy(a[i].xueke_name,zhongjian_name);} else if(a[i].people_num==a[i+1].people_num&&strcmp(a[i].xueke_name,a[i+1].xueke_name)>0) { zhongjian=a[i+1].people_num; a[i+1].people_num=a[i].people_num; a[i].people_num=zhongjian; strcpy(zhongjian_name,a[i+1].xueke_name); strcpy(a[i+1].xueke_name,a[i].xueke_name); strcpy(a[i].xueke_name,zhongjian_name);} } for(i=0;i struct student student_ziliao[100];int i=0,n=0;if((fp1=fopen(”xueshengziliao.txt“,”rb+“))==NULL){ printf(”cannot open filen“); return(head);} while(!feof(fp1)){if(fread(&student_ziliao[i],LEN,1,fp1)!=1) {if(feof(fp1)) {fclose(fp1); break;} printf(”file read errorn“);} i++;} n=i;student_num=n;p1=p2=(struct student *)malloc(LEN);head=p1;for(i=0;i p1->kuangke_num=student_ziliao[i].kuangke_num; strcpy(p1->lesson_name,student_ziliao[i].lesson_name); p1->lesson_time=student_ziliao[i].lesson_time; strcpy(p1->name,student_ziliao[i].name); p1->qingjia_num=student_ziliao[i].qingjia_num; p1->time=student_ziliao[i].time; p1->zaotui_num=student_ziliao[i].zaotui_num; p2->next=p1; p2=p1; p1=(struct student*)malloc(LEN);} p2->next=NULL;return(head);} void chucun(struct student *head){ struct student *p1;p1=head;fp1=fopen(”xueshengziliao.txt“,”wb+“);while(p1!=NULL){fwrite(p1,LEN,1,fp1); p1=p1->next;} fclose(fp1);cout<<” 儲存成功n“;} void main(){ struct student *head;int a,b,c;zhuye: cout<<”********************** 歡迎使用學生考勤管理系統 ************************n“; cout<<” 1_進入管理nnn“; cout<<” 2_查看系統相關信息nnn“;cout<<”********************************************************************************nnnnn“; cin>>a; if(a==1) { do { cout<<”********************************************************************************n“; cout<<” 1_建立學生缺課記錄n“; cout<<” 2_修改學生缺課記錄n“; cout<<” 3_查詢學生缺課記錄n“; cout<<” 4_查看單科曠課記錄n“; cout<<” 5_查看學生曠課記錄n“; cout<<” 6_載入學生曠課記錄n“; cout<<” 7_儲存學生曠課記錄n“; cout<<” 8_退出考勤管理程序n“;cout<<”********************************************************************************n“; cin>>b; switch(b) { case 1: head=creat(); print(head); break; case 2: head=xiugai(head); print(head); break; case 3: chaxun(head); break; case 4: head=tongji_lesson(head); break; case 5: head=tongji_student(head); break; case 6: head=zairu();print(head); break; case 7: chucun(head); break;} }while(b!=8); } else {cout<<”********************************************************************n“; cout<<”******************************1*************************************n"; cin>>c; if(c==1) goto zhuye; } } 歡迎使用本返 回 主 頁 系統請 按 趙彬:電子商城系統 學生點名考勤系統 摘要 隨著社會的反展和信息技術的進步,全球信息化的趨勢越來越明顯。幾乎沒有一個學校不在走信息化的路子,都在用自己的智慧將工作效率一步一步的提升。在現在的高校中,由于學生的分布式教學,造成了教學管理的不嚴謹性,使得一些學生產生了逃課曠課的僥幸心理。所以教師的任務不僅僅是教學,還要同時負擔考勤等煩雜的日常事務,這樣就會嚴重影響到教師的授課時間,同時也影響了學生的聽課時間。因此,信息化給這樣的一個狀況帶來了一個契機,基于信息化的考勤系統就在這種情況下變的越來越受歡迎,它給教師帶來了更加高效的處理考勤的方法,使得教學能夠比較順利的進行下去,不會再因為考勤等煩雜事務影響教學。 學生點名考勤系統具備較完備的信息管理功能,通過使用本系統,高校教師能夠在很短的時間內完成學生的考勤任務,并將考勤信息存入數據庫,即有效的保存了數據,方便以后對學生的評定,又節省了考勤所耗費的時間,使之能夠更好的完成教學任務。全文共分為:前言、系統需求分析、系統邏輯方案、系統總體設計、系統詳細設計、系統實施等六部分,通過對高校學生考勤工作流程的具體分析,詳細表述了系統的業務流程圖、數據流程圖、數據字典、HIPO圖、E-R圖,然后采用自頂向下的幾方法循序漸進地進行了系統的模塊設計、代碼設計、數據庫設計、人機界面設計及輸入輸出設計等。通過系統的規劃,充分體現了信息化在公安工作中的重要性、及時性和實效性。 關鍵詞:學生點名考勤系統,數據流程圖,HIPO圖,E-R圖 I 一、需求分析 1.1項目背景 在計算機技術廣泛推廣的今天,應用計算機已經大大的提高了社會的各方面的效率。而作為學校,社會知識的高度集中區,計算機已經成為一種必需品。有了計算機,那么我們就應該在方方面面想到用它來提高我們的效率。 對于大學生的考勤方面,現在越來越顯示出重要性。雖然大學生都已經步入成年,但是其自制力還是很不樂觀。很多方面還需要代課老師和學校的監督,當然對于上課點名很占用時間,而且效果不好,老師也不能對學生每次點名情況都有明確的了解,所以一個可視化的點名系統稱為必須。 此外,對于學生上課表現情況,老師可以對問題的次數以及質量來進行打分。所以在上課時有一個能夠面向學生的點名系統對學生的進行的提問也成為老師們十分想要的一個系統。 1.2項目目標 本軟件專門為了老師和廣大學生上課的便利而設計。所以本組的所有成員對老師(用戶)進行可調查以及對這方面的細節進行了觀察,力求老師上課時不用對學生的繁雜的資料來進行詢問,只需要簡單的操作就可以實現對學生的點名及提問,方便省時。 此外,本軟件中還有對學生的打分與記錄,對學生的整體情況進行記錄,以及對每次到課情況進行統計,使課堂上的更多情況能在數據庫中得以保存。 可見本軟件在目標上是盡量滿足用戶的需求。 1.3運行環境 本軟件可以在WindowsXP系統中運行,計算的硬件要求不高,一般的配置就可以轉動,但是使用時一定要按本軟件提供的數據庫設計方式設計數據庫,然后用過說明要求加入數據庫就可以使用。 1.4項目的具體功能 項目具有點名、提問、記錄缺課次數以及總的缺課次數、修改學生信息、修改數據庫的內容,增加學生等。 二、技術路線 2.1總體方案 本軟件總體上要實現對學生的上課情況進行考勤與記錄,對學生資料的管理以及數據管理,系統數據庫進行設計。 2.2開發平臺 本系統是以Windows XP系統為操作平臺,用Java語言作為唯一的編寫語言,在MyEclipse平臺上完成,利用MySQL數據庫實現。 考勤管理系統是企業對考勤實行了信息化管理,考勤管理中主要涉及的管理任務有5個方面:部門信息管理、員工基本信息管理、考勤信息管理、考評信息管理以及系統管理。 因此,我使用Visual FoxPro6.0數據庫開發系統作了考勤管理系統。員工的基本信息、員工考勤、考評管理、系統用戶管理,適用于機關、金融和各企事業單位。 考勤系統的目的是為實現員工考勤數據采集、數據統計和信息查詢過程的自動化,完善人事管理現代化,方便員工上班報到,方便管理人員統計、考核員工出勤情況,方便管理部門查詢、考核各部門出勤率;準確地掌握員工出勤情況,有效地管理、掌握人員流動情況,適用于機關、金融和各企事業單位。 利用指紋生物識別唯一性特征進行考勤。避免傳統的紙卡、IC卡考勤機代打卡的缺點。指紋考勤機驗證有1:1和1:N比對方式。 指紋考勤機介紹 隨機配發軟件包含前臺系統和后臺管理系統兩大部分。其中,前臺系統包含指紋簽到及指紋登記兩大模塊;后臺管理系統包含基本信息管理 資料管理、考勤管理、薪資管理等四大模塊。指紋簽到 實時識別考勤人的員工編號,并與當前時間一起寫入到后臺數據庫中; 自動判別是否已經在短時間內考勤過,若己考勤過則提示; 對無指紋數據錄入的員工可以使用員工編號加密碼的方式進行考勤。 指紋登記 為員工登記考勤所需的指紋,每員工最多可以登記三枚; 登記后比對,看登記是否成功,以及是否能夠正確識別,若比對出錯、可重新登錄刪除作廢的指紋: 登記無指紋員工的考勤密碼。 基本信息管理 設置使用單位,并為正式用戶注冊: 設置操作員(新增操作員默認密碼均為707)及其權限: 設置部門代碼及部門名稱; 設置工種、職務、級別等基本治總代碼及名稱。 員工資料管理 員工入職及變更登記: 查詢及統計各部門在職人員; 員工離職登記; 查詢及刪除己離職員工; 打印人事日報表: 打印人事月報表; 考勤管理 設置考勤規則; 設置輪班名稱及排班班別; 設置工種假期名稱及放假日期; 設置個人出差休假請假類別及日期; 設置員工加班類別及日期; 設置員工調班; 設置特許考勤員工及日期; 按日考勤統計及匯總; 按月考勤統計; 打印原始考勤記錄第四篇:學生點名考勤系統(范文)
第五篇:員工考勤管理系統