學(xué)生考勤管理系統(tǒng)(C++)_第1頁
學(xué)生考勤管理系統(tǒng)(C++)_第2頁
學(xué)生考勤管理系統(tǒng)(C++)_第3頁
學(xué)生考勤管理系統(tǒng)(C++)_第4頁
學(xué)生考勤管理系統(tǒng)(C++)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.附錄代碼 :#include "iostream"#include <conio.h>#include "string.h"#include <fstream>using namespace std;#define Size 1000class Recordpublic:Record();/ 構(gòu)造函數(shù)void Entersystem();/ 進(jìn)入系統(tǒng)函數(shù)void GetPwd();/ 獲取密碼void SetDate();/ 輸入設(shè)置學(xué)生信息void SetPwd();/ 修改登錄密碼void ReadDate();/ 讀取文本

2、信息函數(shù)void SaveData();/ 向文本保存信息函數(shù)void PutRecord();/ 輸入考勤函數(shù)void FindRecord();/ 查找學(xué)生信息函數(shù)void ShowRecord();/ 輸出所有學(xué)生信息void Order();/ 按學(xué)號排序void ModifyDate();/ 修改學(xué)生信息.專業(yè) .專注.void DelRecord();/ 刪除學(xué)生信息private:intrenshu;/ 學(xué)生人數(shù)intchidao;/ 遲到次數(shù)intzaotui;/ 早退次數(shù)intkuangke;/ 曠課次數(shù)intqingjia;/ 請假次數(shù)longID;/ 學(xué)生學(xué)號char N

3、ame20;/ 學(xué)生姓名char password20;/ 登錄密碼void ShowDate(int i);/ 類的實(shí)現(xiàn)/.專業(yè) .專注./ 構(gòu)造函數(shù)Record:Record() renshu=0;chidao=0;zaotui=0;qingjia=0;kuangke=0;ID=0;Name20=0;password20=0;Record CRecordSize;char pwd='1','2','3','4','5','6'/ 輸出函數(shù)void Record:ShowDate(int i)co

4、ut<<"t"<<CRecordi.ID<<""<<CRecordi.Name<<""<<CRecordi.chidao<<"".專業(yè) .專注.<<CRecordi.zaotui<<""<<CRecordi.qingjia<<""<<CRecordi.kuangke<<endl;/ 獲取密碼void Record:GetP

5、wd() int a=0; while(1) char ch;ch=getch();if(ch='b')if(a!=0)cout<<char('b')<<" "<<char('b');a-;elseif(ch='r').專業(yè) .專注.passworda='0'cout<<endl;break;else cout<<"*" passworda+=ch;/ 登陸進(jìn)入系統(tǒng)void Record:Entersystem()

6、int a=3,b=1;char repwd20;fstream file("mima.dat",ios:in|ios:binary);file.get(repwd,20,'0');file.close();b=strlen(repwd);if(b).專業(yè) .專注.strcpy(pwd,repwd);while(a)system("cls");cout<<"nnnnttt歡迎使用考勤管理系統(tǒng) !"cout<<"nnntt請輸入登陸密碼 :"GetPwd();a-;if(str

7、cmp(pwd,password)!=0)if(a) system("cls");cout<<"nnntt密碼輸入錯誤! 還有 "<<a<<"次輸入機(jī)會 !n"cout<<"tt"system("pause");elsesystem("cls");cout<<"nnntt連續(xù)3 次密碼輸入錯誤! 系統(tǒng)自動退出 !n"cout<<"tt"system("pa

8、use");.專業(yè) .專注.exit(0);elsebreak;/ 修改密碼void Record:SetPwd() char repwd20=0; int a=0; while(!a) system("cls");cout<<"nnnntt輸入原密碼 : "GetPwd();if(strcmp(password,pwd)!=0) cout<<"nntt原密碼錯誤 !nn"<<"tt重新輸入請按 0 否則請按任意鍵 nn"cin>>a;if(a).專業(yè) .專

9、注. system("cls");cout<<"nnnnttt密碼修改失敗 !nn"else cout<<"nntt請輸入新密碼 :"GetPwd();strcpy(repwd,password);cout<<"nntt再次輸入新密碼 :"GetPwd();if(strcmp(repwd,password)!=0)cout<<"nntt兩次輸入密碼不相同 !nn"<<"tt重新輸入請按 0 否則請按任意鍵 nn"ci

10、n>>a;if(a) system("cls");cout<<"nnnnttt密碼修改失敗 !nn"else strcpy(pwd,password);cout<<"nntt密碼修改成功 !請牢記你的新密碼 !nn".專業(yè) .專注.fstream file("mima.dat",ios:out|ios:binary);file.write(pwd,strlen(pwd);file.close();break;/ 輸入增添學(xué)生人數(shù)void Record:SetDate() int

11、i=0; int m=0;cout<<"n輸入 / 增添學(xué)生人數(shù): "cin>>m;for(i=0;i<m;i+) cout<<"n輸入 / 增添第 "<<i+1<<"個學(xué)生的信息:"<<endl;cout<<"nt學(xué)號: "cin>>CRecordrenshu+i.ID;cout<<"nt姓名: "cin>>CRecordrenshu+i.Name;.專業(yè) .專注.re

12、nshu+=m;/ 按學(xué)號排序void Record:Order() int s,z; long t;char r20;s=renshu;for(int i=0;i<s;i+)for(int j=i+1;j<s;j+)if(CRecordi.ID>=CRecordj.ID) strcpy(r,CRecordi.Name); strcpy(CRecordi.Name,CRecordj.Name);strcpy(CRecordj.Name,r);t=CRecordi.ID;CRecordi.ID=CRecordj.ID;CRecordj.ID=t;z=CRecordi.chida

13、o;CRecordi.chidao=CRecordj.chidao;CRecordj.chidao=z;z=CRecordi.zaotui;CRecordi.zaotui=CRecordj.zaotui;CRecordj.zaotui=z;.專業(yè) .專注.z=CRecordi.qingjia;CRecordi.qingjia=CRecordj.qingjia;CRecordj.qingjia=z;z=CRecordi.kuangke;CRecordi.kuangke=CRecordj.kuangke;CRecordj.kuangke=z;/ 設(shè)置學(xué)生考勤信息void Record:PutRec

14、ord() int i;double long id;if(renshu<=0)cout<<"nnnnt目前沒有任何學(xué)生信息請先輸入學(xué)生個人信息再進(jìn)行此操作 !nn"else cout<<"n 請輸入所查學(xué)生學(xué)號 : " cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id).專業(yè) .專注.break;if(i>=renshu)cout<<"n沒有你所查找的記錄 !n"elsecout<<"n該學(xué)生的原始信息記

15、錄是: n"cout<<"nt學(xué)號姓名遲到早退請假曠課 "<<endl;ShowDate(i);cout<<"n信息記錄 :n"intm=0;while(!m) int n;cout<<"nt請輸入選擇缺課類型 : ( 1 遲到2 早退3 請假4曠課 ):"cin>>n;switch(n)case 1:cout<<"n請輸入遲到次數(shù) : "cin>>n;.專業(yè) .專注.CRecordi.chidao+=n;break;ca

16、se 2:cout<<"n請輸入早退次數(shù) : "cin>>n;CRecordi.zaotui+=n;break;case 3:cout<<"n請輸入請假次數(shù) : "cin>>n;CRecordi.qingjia+=n;break;case 4:cout<<"n請輸入曠課次數(shù) : "cin>>n;CRecordi.kuangke+=n;break;default:break;cout<<"nt繼續(xù)輸入該生考情請輸0 否則輸任意值 : "

17、;cin>>m;.專業(yè) .專注.cout<<"n該學(xué)生現(xiàn)在的信息記錄是: n"cout<<"nt學(xué)號姓名遲到早退請假曠課 "<<endl;ShowDate(i);/ 修改學(xué)生信息void Record:ModifyDate() int i,j=1; long id;if(renshu<=0)cout<<"nnnnt目前沒有任何學(xué)生信息請先輸入學(xué)生個人信息再進(jìn)行此操作 !nn"elsewhile(j=1) system("cls");cout<&

18、lt;"n請輸入要修改學(xué)生的學(xué)號: "cin>>id;for(i=0;i<renshu;i+).專業(yè) .專注.if(CRecordi.ID=id)break;if(i>=renshu) cout<<"ntt沒有你所查找的記錄 !n"cout<<"n重新查詢修改請輸0 否則輸任意值 :"cin>>i;if(i=0)j=1;else system("cls");cout<<"nnnn ttt信息修改失敗 !nn"break;el

19、secout<<"n該學(xué)生的原始信息是 :n"cout<<"nt學(xué)號姓名遲到早退請 假曠 課 "<<endl;ShowDate(i);.專業(yè) .專注.cout<<"n信息修改 : n"char name=0;int n=0;while(n=0) cout<<"nt選擇修改內(nèi)容 : ( 1 學(xué)號 2 姓名 3 遲到 4 早退 5 請假 6曠課) : "cin>>n;switch(n) case 1:cout<<"n新的學(xué)號

20、:"cin>>id;CRecordi.ID=id;break;case 2:cout<<"n新的姓名 :"cin>>name;strcpy(CRecordi.Name,name);break;case 3:cout<<"n輸入遲到次數(shù) :"cin>>n;CRecordi.chidao=n;.專業(yè) .專注.break;case 4:cout<<"n輸入早退次數(shù) :"cin>>n;CRecordi.zaotui=n;break;case 5:co

21、ut<<"n輸入請假次數(shù) :"cin>>n;CRecordi.qingjia=n;break;case 6:cout<<"n輸入曠課次數(shù) :"cin>>n;CRecordi.kuangke=n;break;default:break;cout<<"nt該學(xué)生修改后的信息是 : n"cout<<"nt學(xué)號姓名遲到早退請假曠課 "<<endl;.專業(yè) .專注.ShowDate(i);cout<<"nn繼續(xù)修改該生請

22、輸入0 修改其他學(xué)生請輸入1 否則請輸入其他任意值 : "cin>>j;if(j=0)n=0;else if(j=1)break;else j=2; system("cls");cout<<"nnnn ttt該學(xué)信息修改成功 !nn"break;/ 刪除學(xué)生信息void Record:DelRecord().專業(yè) .專注. int i=0,j,z;long t,id;char r=0,A,a='Y',b='N'if(renshu<=0)cout<<"nnnnt目

23、前沒有任何學(xué)生信息請先輸入學(xué)生個人信息再進(jìn)行此操作 !nn"else cout<<"n 刪除所有學(xué)生信息情輸 1,刪除個別學(xué)生信息請輸 2: " cin>>j;if(j=1) cout<<"n是否刪除所有同學(xué)信息 :確認(rèn) (Y)/取消 (N): "cin>>A;if(A=a|A=a+32) renshu=0;cout<<"nnnttt所有信息刪除成功 !nn"else if(A=b|A=b+32)cout<<"nnttt你取消了對所有信息的刪除

24、!nn"elsecout<<"nnttt輸入錯誤 !刪除失敗 !nn"else if(j=2).專業(yè) .專注.while(!i) system("cls");cout<<"n請輸入要刪除學(xué)生的學(xué)號: "cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)break;if(i>=renshu)cout<<"n沒有你所查找的記錄 !n"elsecout<<"n該學(xué)生的原始信息是 :n&qu

25、ot;cout<<"nt學(xué)號姓名遲到早退請假曠課 "<<endl;ShowDate(i);cout<<"n是否刪除該學(xué)生的信息 : "<<" 確認(rèn) (Y)/取消 (N): "cin>>A;if(A=a|A=a+32) j=renshu-1; strcpy(r,CRecordi.Name);.專業(yè) .專注.strcpy(CRecordi.Name,CRecordj.Name);strcpy(CRecordrenshu-1.Name,r);t=CRecordi.ID;CRecor

26、di.ID=CRecordj.ID;CRecordj.ID=t;z=CRecordi.chidao;CRecordi.chidao=CRecordj.chidao;CRecordj.chidao=z;z=CRecordi.zaotui;CRecordi.zaotui=CRecordj.zaotui;CRecordj.zaotui=z;z=CRecordi.qingjia;CRecordi.qingjia=CRecordj.qingjia;CRecordj.qingjia=z;z=CRecordi.kuangke;CRecordi.kuangke=CRecordj.kuangke;CRecord

27、j.kuangke=z;renshu-;cout<<"nntt該學(xué)生刪除信息刪除成功!nn"else if(A=b|A=b+32)cout<<"nntt你取消了對該生信息的刪除!nn"elsecout<<"nntt輸入錯誤 !刪除失敗 !nn"cout<<"n繼續(xù)刪除學(xué)生信息請輸0 否則請輸任意值 : "cin>>i;if(i)cout<<"nnnnttt你取消了對學(xué)生信息的繼續(xù)刪除!n".專業(yè) .專注.elsecout&l

28、t;<"nnttt輸入錯誤 !操作失敗 !nn"/ 按學(xué)號輸出某個學(xué)生的信息void Record:FindRecord() int i; long id; int a=0;if(renshu<=0)cout<<"nnnnt目前沒有任何學(xué)生信息請先輸入學(xué)生個人信息再進(jìn)行此操作 !nn"else cout<<"n 請輸入你要查找的學(xué)生學(xué)號 : " cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)a=1;.專業(yè) .專注.cout<<

29、;"nt學(xué)號 姓名遲到早退請假曠課 "<<endl;ShowDate(i);if(a=0)cout<<"n沒有你所查找的記錄 !"cout<<endl;return;/ 輸出全班學(xué)生的信息void Record:ShowRecord() int i;Order();if(renshu<=0)cout<<"nnnnt目前沒有任何學(xué)生信息請先輸入學(xué)生個人信息再進(jìn)行此操作 !nn"else cout<<"n輸出全班一學(xué)期的考情情況"<<endl

30、;.專業(yè) .專注.cout<<"nt學(xué)號 t姓名 t遲到 t早退 t請假 t曠課 "<<endl;for(i=0;i<renshu;i+) ShowDate(i);return;/ 從文本中讀取信息void Record:ReadDate() int i=0;char lingshi=0;fstream file("Record.txt");if(!file) ofstream file1("Record.txt");file1.close();elsefile.close();ifstream file

31、2("Record.txt");file2>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi;.專業(yè) .專注.while(!file2.eof() file2>>CRecordi.ID; file2>>CRecordi.Name; file2>>CRecordi.chidao; file2>>CRecordi.zaotui; file2>>CRecordi.qingjia;file2&g

32、t;>CRecordi.kuangke;i+;if(i=0)renshu=i;else i-; renshu=i;file2.close();return;/ 向文本中保存信息void Record:SaveData().專業(yè) .專注.int i=0;Order();ofstreamfile("Record.txt");file<<" 學(xué)號 t"<<"姓名 t"<<"遲到 t"<<"早退 t"<<"請假 t"<<"曠課"<<endl;for(i=0;i<renshu;i+)file<<CRecordi.ID<<"t" file<<CRecordi.Name<<"t"file<<CRecordi.chidao<<"t"file<<CRecordi.zaotui<<"t"file<<CRecordi.qingjia<<"t"file&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論