![學(xué)生考勤管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/92238e2c-d93b-4615-8f07-a9374860eb47/92238e2c-d93b-4615-8f07-a9374860eb471.gif)
![學(xué)生考勤管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/92238e2c-d93b-4615-8f07-a9374860eb47/92238e2c-d93b-4615-8f07-a9374860eb472.gif)
![學(xué)生考勤管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/92238e2c-d93b-4615-8f07-a9374860eb47/92238e2c-d93b-4615-8f07-a9374860eb473.gif)
版權(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();void Entersystem();void GetPwd();void SetDate();void SetPwd();void ReadDate();void SaveData();void PutRecord();void FindRec
2、ord();void ShowRecord();void Order();/ 構(gòu)造函數(shù)/ 進(jìn)入系統(tǒng)函數(shù)/ 獲取密碼/ 輸入設(shè)置學(xué)生信息/ 修改登錄密碼/ 讀取文本信息函數(shù)/ 向文本保存信息函數(shù)/ 輸入考勤函數(shù)/ 查找學(xué)生信息函數(shù)/ 輸出所有學(xué)生信息/ 按學(xué)號(hào)排序/ 刪除學(xué)生信息private:intrenshu;/ 學(xué)生人數(shù)intchidao;/ 遲到次數(shù)intzaotui;/ 早退次數(shù)intkuangke;/ 曠課次數(shù)intqingjia;/ 請假次數(shù)long ID;/ 學(xué)生學(xué)號(hào)char Name20;/ 學(xué)生姓名char password20;/ 登錄密碼void DelRecord();
3、void ShowDate(int i);/ / / 類的實(shí)現(xiàn)/ / / 構(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) cout<<"t"<<
4、;CRecordi.ID<<" "<<CRecordi.Name<<" "<<CRecordi.chidao<<" "AACRecordm.zaofuA'AU = 仝 CRecordm.qingjiaAA-= AACRecordm.kuangkeAAendr 三三三三三三三三三三三三三三三三三三三三三三三 三三三三三三三三三三三三三三三三三三三三三三三 =語®®頂 void Recod:Gefpwd() 宀 inf aHO八wh=e(_k)char
5、 ch 八 chHgeoho 八 if(chHHAb-)宀if(aHo)宀couAAchar(>=b-AA:AAchaab-)八 aJ.e-se if(chHHW)爺濟(jì)淳M±fOH+e 一 EOMSSed=*=vvlno。 sa)q=pu vvlnoo0bHspOMSSed )#踝垠變(q)七eMdgu 三SHqO sooa)匸8-0cxl-PMdga)6a>4_(巴0££|:50-£:50=蒼|3曲11|一11|二=¥-匸 Ee 上 3-00 一 pd ello 匚 qoHelu 一 )()IU9SAS9U 山:POO M po&
6、gt;= 三三三三三三三三三三三三三三三三三三三三三三三 三三三三三三三三三三三三三三三三三三三三三三三 strcpy(pwd,repwd);while(a) system("cls");cout<<"nnnnttt 歡迎使用考勤管理系統(tǒng) !"cout<<"nnntt 請輸入登陸密碼: "GetPwd();a-;if(strcmp(pwd,password)!=0)if(a) system("cls");cout<<"nnntt 密碼輸入錯(cuò)誤 !還有 "<
7、;<a<<" 次輸入機(jī)會(huì) !n" cout<<"tt"system("pause");else system("cls");cout<<"nnntt 連續(xù) 3 次密碼輸入錯(cuò)誤 !系統(tǒng)自動(dòng)退出 !n" cout<<"tt"system("pause");exit(0);elsebreak;/ 修改密碼void Record:SetPwd() char repwd20=0;int a=0;while(!a)
8、 system("cls");cout<<"nnnntt 輸入原密碼 : "GetPwd();if(strcmp(password,pwd)!=0) cout<<"nntt 原密碼錯(cuò)誤 !nn"<<"tt 重新輸入請按 0 否則請按任意鍵 nn"cin>>a;if(a) system("cls");cout<<"nnnnttt 密碼修改失敗 !nn"else cout<<"nntt 請輸入新密碼
9、 :"GetPwd(); strcpy(repwd,password);cout<<"nntt 再次輸入新密碼 :" GetPwd();if(strcmp(repwd,password)!=0) cout<<"nntt 兩次輸入密碼不相同 !nn"<<"tt 重新輸入請按 0 否則請按任意鍵 nn" cin>>a;if(a) system("cls");cout<<"nnnnttt 密碼修改失敗 !nn"else strcpy
10、(pwd,password);cout<<"nntt 密碼修改成功 !請牢記你的新密碼 !nn" fstream file("mima.dat",ios:out|ios:binary);file.write(pwd,strlen(pwd);file.close();break;/ 輸入增添學(xué)生人數(shù)void Record:SetDate() int i=0;int m=0;cout<<"n 輸入 / 增添學(xué)生人數(shù) : "cin>>m;for(i=0;i<m;i+):"<<e
11、ndl; cout<<"n 輸入/ 增添第"<<i+1<<" 個(gè)學(xué)生的信息cout<<"nt 學(xué)號(hào): "cin>>CRecordrenshu+i.ID;cout<<"nt 姓名: "renshu+=m;/ 按學(xué)號(hào)排序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>=CRe
12、cordj.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.chidao;CRecordi.chidao=CRecordj.chidao; CRecordj.chidao=z; z=CRecordi.zaotui; CRecordi.zaotui=CRecordj.zaotui; CRecordj.zaotui=z; z=CRecordi.q
13、ingjia; CRecordi.qingjia=CRecordj.qingjia; CRecordj.qingjia=z;z=CRecordi.kuangke;CRecordi.kuangke=CRecordj.kuangke;CRecordj.kuangke=z;/ 設(shè)置學(xué)生考勤信息void Record:PutRecord() int i;double long id;if(renshu<=0)cout<<"nnnnt 目前沒有任何學(xué)生信息請先輸入學(xué)生個(gè)人信息再進(jìn)行此 操作 !nn"else cout<<"n 請輸入所查學(xué)生學(xué)號(hào)
14、 : "cin>>id;for(i=0;i<renshu;i+)break;if(i>=renshu)cout<<"n 沒有你所查找的記錄 !n"elsecout<<"n 該學(xué)生的原始信息記錄是: n"cout<<"nt 學(xué)號(hào) 姓名 遲到 早退 請假 曠課 "<<endl;ShowDate(i);cout<<"n 信息記錄: n"int m=0;while(!m) int n;cout<<"nt 請輸
15、入選擇缺課類型 : ( 1遲到 2 早退 3 請假 4 曠 課 ) : "cin>>n;switch(n)case 1:cout<<"n 請輸入遲到次數(shù) : "cin>>n;break;case 2:cout<<"n 請輸入早退次數(shù) : "cin>>n;CRecordi.zaotui+=n;break;case 3:cout<<"n 請輸入請假次數(shù) : "cin>>n;CRecordi.qingjia+=n;break;case 4:cout
16、<<"n 請輸入曠課次數(shù) : "cin>>n;CRecordi.kuangke+=n;break;default:break;cout<<"nt 繼續(xù)輸入該生考情請輸 0 否則輸任意值 : cin>>m;cout<<"nt 學(xué)號(hào) 姓名 遲到 早退 請假 曠課 "<<endl; ShowDate(i);/ / 修改學(xué)生信息void Record:ModifyDate() int i,j=1;long id;if(renshu<=0)cout<<"n
17、nnnt 目前沒有任何學(xué)生信息請先輸入學(xué)生個(gè)人信息再進(jìn)行 此操作 !nn"elsewhile(j=1) system("cls");cout<<"n 請輸入要修改學(xué)生的學(xué)號(hào) : "cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)break;if(i>=renshu) cout<<"ntt 沒有你所查找的記錄 !n"cout<<"n 重新查詢修改請輸 0 否則輸任意值 :"cin>>i;if(
18、i=0)j=1;else system("cls");cout<<"nnnn ttt 信息修改失敗 !nn"break;elsecout<<"n 該學(xué)生的原始信息是: n"cout<<"nt 學(xué)號(hào) 姓名 遲到 早退 請 假 曠 課 "<<endl;ShowDate(i);char name=0;int n=0;while(n=0) cout<<"nt 選擇修改內(nèi)容 : ( 1 學(xué)號(hào) 2姓名 3遲到 4 早退 5 請假 6曠 課) : "
19、cin>>n;switch(n) case 1: cout<<"n 新的學(xué)號(hào) :"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;break;case 4:cout<<"n 輸入早退次數(shù)
20、 :"cin>>n;CRecordi.zaotui=n;break;case 5:cout<<"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"<<endl;cout<<"nt 學(xué)號(hào) 姓名 遲到
21、早退 請假 曠課ShowDate(i);入其他任意值 : "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() int i=0,j,z;long t,id;char r=0,A,a='Y',b='N'if(renshu<=0)cout<<"nnnnt 目前沒有任何學(xué)
22、生信息請先輸入學(xué)生個(gè)人信息再進(jìn)行此 操作 !nn"else cout<<"n 刪除所有學(xué)生信息情輸 1,刪除個(gè)別學(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 你取消了對(duì)所有信息的刪除 !nn
23、"elsecout<<"nnttt 輸入錯(cuò)誤!刪除失敗 !nn"else if(j=2)while(!i) system("cls");cout<<"n 請輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)break;if(i>=renshu)cout<<"n 沒有你所查找的記錄 !n"else cout<<"n 該學(xué)生的原始信息是: n"cout<<
24、"nt 學(xué)號(hào) 姓名 遲到 早退 請假 曠課 "<<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);strcpy(CRecordi.Name,CRecordj.Name);strcpy(CRecordrenshu-1.Name,r);t=CRecordi.ID;CRecordi.ID=CRecordj.ID;C
25、Recordj.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; CRecordj.kuangke=z;re
26、nshu-;cout<<"nntt 該學(xué)生刪除信息刪除成功 !nn"else if(A=b|A=b+32)cout<<"nntt 你取消了對(duì)該生信息的刪除 !nn"elsecout<<"nntt 輸入錯(cuò)誤 !刪除失敗 !nn"cout<<"n 繼續(xù)刪除學(xué)生信息請輸 0 否則請輸任意值 : "cin>>i;if(i)cout<<"nnnnttt 你取消了對(duì)學(xué)生信息的繼續(xù)刪除 !n"elsecout<<"n
27、nttt 輸入錯(cuò)誤 !操作失敗 !nn"/ / 按學(xué)號(hào)輸出某個(gè)學(xué)生的信息void Record:FindRecord() int i;long id;int a=0;if(renshu<=0)cout<<"nnnnt 目前沒有任何學(xué)生信息請先輸入學(xué)生個(gè)人信息再進(jìn)行此操作 !nn"else cout<<"n 請輸入你要查找的學(xué)生學(xué)號(hào) : "cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)a=1;cout<<"nt 學(xué)號(hào) 姓名 遲到 早
28、退 請假 曠 課 "<<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é)生個(gè)人信息再進(jìn)行此操 作!nn"else cout<<"n 輸出全班一學(xué)期的考情情況 "<<endl;cout<&
29、lt;"nt 學(xué)號(hào)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 file2("Record.t
30、xt");file2>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi;while(!file2.eof() file2>>CRecordi.ID;file2>>CRecordi.Name; file2>>CRecordi.chidao; file2>>CRecordi.zaotui; file2>>CRecordi.qingjia; file2>>CRecordi.kuangke;
31、i+;if(i=0)renshu=i;else i-;renshu=i;file2.close();return;/ / / 向文本中保存信息void Record:SaveData()int i=0;ordep ofsfream 一 Record.xa八 =h_eA<nwAAmawAdk®waa相 ilwAf s -AA=尋沛-AAend-八fo(ll-oxenshuT+) 宀 fi_e 仝CRecord日一 空 fi-eAACRecord日乏 ameAAW 八 fi-eAACRecord三.chidaoAAw 八 fi-eAACRecord曰.zaofuA-A-w 八 f=eAAC Record三.qingjiaAA-空 fi-eAACRecord三.kuangkeAAendrf=ebose()八三三三三三三三三三三三三三三三
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源儲(chǔ)能項(xiàng)目落戶保障合同
- 廚具設(shè)備購銷合同(31篇)
- 教學(xué)工作總結(jié)英語2024(32篇)
- 2023-2024學(xué)年浙江省寧波市鎮(zhèn)海中學(xué)高三下學(xué)期期中考試歷史試卷
- 2025年業(yè)務(wù)提升合作諒解協(xié)議
- 2025年供應(yīng)鏈管理公司合作項(xiàng)目協(xié)議書
- 2025年產(chǎn)品創(chuàng)新與生產(chǎn)協(xié)作協(xié)議
- 2025年農(nóng)村醫(yī)療人員定向就業(yè)協(xié)議
- 2025年大數(shù)據(jù)項(xiàng)目規(guī)劃申請報(bào)告模板
- 2025年遠(yuǎn)程醫(yī)療項(xiàng)目立項(xiàng)申請報(bào)告模板
- 華為公司的內(nèi)部審計(jì)制度
- 腫瘤醫(yī)院病歷書寫培訓(xùn)課件
- 《蓄電池培訓(xùn)》課件
- 32軟件測試報(bào)告GJB438C模板
- 合同移交登記表
- C++面向?qū)ο蟮某绦蛟O(shè)計(jì)課件
- 幼兒園大班數(shù)學(xué)PPT課件2、3、4的分解與組成
- 典籍里的中國
- 遙感圖像的分析解譯(共34張PPT)
- 中國專業(yè)學(xué)位文字案例評(píng)審標(biāo)準(zhǔn)框架
- 六年級(jí)心理健康導(dǎo)學(xué)案-10真正的朋友 |大象版
評(píng)論
0/150
提交評(píng)論