版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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(); /
2、读取文本信息函数 void SaveData(); /向文本保存信息函数 void PutRecord(); /输入考勤函数 void FindRecord(); /查找学生信息函数 void ShowRecord(); /输出所有学生信息 void Order(); /按学号排序 void ModifyDate(); /修改学生信息 void DelRecord(); /删除学生信息private: int renshu; /学生人数 int chidao; /迟到次数 int zaotui; /早退次数 int kuangke; /旷课次数 int qingjia; /请假次数long I
3、D; /学生学号char Name20; /学生姓名char password20; /登录密码void ShowDate(int i);/类的实现/构造函数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'/输出函数void Record:ShowDate
4、(int i) cout<<"t" <<CRecordi.ID<<" " <<CRecordi.Name<<" " <<CRecordi.chidao<<" " <<CRecordi.zaotui<<" " <<CRecordi.qingjia<<" " <<CRecordi.kuangke<<endl;/获取密码void
5、 Record:GetPwd() int a=0;while(1) char ch; ch=getch(); if(ch='b') if(a!=0) cout<<char('b')<<" "<<char('b'); a-; else if(ch='r') passworda='0' cout<<endl; break; else cout<<"*" passworda+=ch; / /登陆进入系统void Recor
6、d:Entersystem() 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) strcpy(pwd,repwd); while(a) system("cls"); cout<<"nnnnttt欢迎使用考勤管理系统!" cout<<"nnntt请输入登陆密码:" Get
7、Pwd(); a-; if(strcmp(pwd,password)!=0) if(a) system("cls"); cout<<"nnntt密码输入错误!还有"<<a<<"次输入机会!n" cout<<"tt" system("pause"); else system("cls"); cout<<"nnntt连续3次密码输入错误!系统自动退出!n" cout<<"tt&q
8、uot; system("pause"); exit(0); else break;/修改密码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>>
9、a; if(a) 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
10、" cin>>a;if(a) system("cls"); cout<<"nnnnttt密码修改失败!nn" else strcpy(pwd,password); cout<<"nntt密码修改成功!请牢记你的新密码!nn" fstream file("mima.dat",ios:out|ios:binary); file.write(pwd,strlen(pwd); file.close(); break; /输入增添学生人数void Record:SetDate()
11、 int i=0; int m=0; cout<<"n输入/增添学生人数 : " cin>>m; for(i=0;i<m;i+) cout<<"n输入/增添第"<<i+1<<"个学生的信息 :"<<endl; cout<<"nt学号: " cin>>CRecordrenshu+i.ID;cout<<"nt姓名: "cin>>CRecordrenshu+i.Name; re
12、nshu+=m;/按学号排序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=CRecord
13、i.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; /设置学生考勤信息void Recor
14、d:PutRecord() int i; double long id;if(renshu<=0) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"else cout<<"n请输入所查学生学号: " cin>>id;for(i=0;i<renshu;i+) if(CRecordi.ID=id) break; if(i>=renshu) cout<<"n没有你所查找的记录!n" else cout<<"n该学生的原
15、始信息记录是:n" cout<<"nt学号 姓名 迟到 早退 请假 旷课"<<endl; ShowDate(i); cout<<"n信息记录:n" int m=0; while(!m) int n; cout<<"nt请输入选择缺课类型: ( 1迟到 2早退 3请假 4旷课 ) : " cin>>n; switch(n) case 1: cout<<"n请输入迟到次数: " cin>>n; CRecordi.chidao+
16、=n; break;case 2: cout<<"n请输入早退次数: " cin>>n; CRecordi.zaotui+=n; break;case 3: cout<<"n请输入请假次数: " cin>>n; CRecordi.qingjia+=n; break;case 4: cout<<"n请输入旷课次数: " cin>>n; CRecordi.kuangke+=n; break; default: break; cout<<"nt继续
17、输入该生考情请输0否则输任意值: " cin>>m; cout<<"n该学生现在的信息记录是: n" cout<<"nt学号 姓名 迟到 早退 请假 旷课"<<endl; ShowDate(i);/修改学生信息void Record:ModifyDate() int i,j=1; long id;if(renshu<=0) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"else while(j=1) system(&quo
18、t;cls"); cout<<"n请输入要修改学生的学号: " 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(i=0) j=1; else system("cls"); cout<<"nnnn ttt 信
19、息修改失败!nn" break; else cout<<"n该学生的原始信息是:n" cout<<"nt学号 姓名 迟到 早退 请 假 旷 课"<<endl; ShowDate(i); cout<<"n信息修改: n" char name=0; int n=0; while(n=0) cout<<"nt选择修改内容: ( 1学号 2姓名 3迟到 4早退 5请假 6旷课) : " cin>>n; switch(n) case 1:cou
20、t<<"n新的学号:" cin>>id; CRecordi.ID=id; break; case 2: cout<<"n新的姓名:" cin>>name; strcpy(CRecordi.Name,name); break; case 3: cout<<"n输入迟到次数:" cin>>n; CRecordi.chidao=n; break; case 4: cout<<"n输入早退次数:" cin>>n; CRecord
21、i.zaotui=n; break; case 5: cout<<"n输入请假次数:" cin>>n; CRecordi.qingjia=n; break; case 6: cout<<"n输入旷课次数:" cin>>n; CRecordi.kuangke=n; break; default: break; cout<<"nt该学生修改后的信息是:n" cout<<"nt学号 姓名 迟到 早退 请假 旷课"<<endl; ShowD
22、ate(i); cout<<"nn 继续修改该生请输入0 修改其他学生请输入1 否则请输入其他任意值: " cin>>j; if(j=0) n=0; else if(j=1) break; else j=2; system("cls"); cout<<"nnnn ttt 该学信息修改成功!nn" break; /删除学生信息void Record:DelRecord() int i=0,j,z; long t,id; char r=0,A,a='Y',b='N'if(
23、renshu<=0) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"else cout<<"n删除所有学生信息情输1,删除个别学生信息请输2: " cin>>j; if(j=1) cout<<"n是否删除所有同学信息:确认(Y)/取消(N): " cin>>A; if(A=a|A=a+32) renshu=0; cout<<"nnnttt所有信息删除成功!nn" else if(A=b|A=b+32)
24、 cout<<"nnttt你取消了对所有信息的删除!nn" else cout<<"nnttt输入错误!删除失败!nn" else if(j=2) while(!i) system("cls"); cout<<"n请输入要删除学生的学号: " cin>>id;for(i=0;i<renshu;i+) if(CRecordi.ID=id) break; if(i>=renshu) cout<<"n没有你所查找的记录!n" el
25、se cout<<"n该学生的原始信息是:n" cout<<"nt学号 姓名 迟到 早退 请假 旷课"<<endl; ShowDate(i); cout<<"n是否删除该学生的信息: " <<"确认(Y)/取消(N): " cin>>A; if(A=a|A=a+32) j=renshu-1; strcpy(r,CRecordi.Name); strcpy(CRecordi.Name,CRecordj.Name); strcpy(CRecordr
26、enshu-1.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.qingjia; CRecordi.qingjia=CRecordj.qingjia;CRecordj.qingjia=z;z=CRecordi.kuangke;CR
27、ecordi.kuangke=CRecordj.kuangke;CRecordj.kuangke=z; renshu-; cout<<"nntt该学生删除信息删除成功!nn" else if(A=b|A=b+32) cout<<"nntt你取消了对该生信息的删除!nn" else cout<<"nntt输入错误!删除失败!nn" cout<<"n继续删除学生信息请输0 否则请输任意值: " cin>>i; if(i) cout<<"n
28、nnnttt你取消了对学生信息的继续删除!n" else cout<<"nnttt输入错误!操作失败!nn"/按学号输出某个学生的信息void Record:FindRecord() int i; long id; int a=0; if(renshu<=0) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn" else cout<<"n请输入你要查找的学生学号: "cin>>id;for(i=0;i<renshu;i+)if(CR
29、ecordi.ID=id) a=1; cout<<"nt学号 姓名 迟到 早退 请假 旷课"<<endl; ShowDate(i);if(a=0) cout<<"n没有你所查找的记录!"cout<<endl;return;/输出全班学生的信息void Record:ShowRecord() int i; Order();if(renshu<=0) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"else cout<<&qu
30、ot;n输出全班一学期的考情情况"<<endl; cout<<"nt学号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(); els
31、e file.close(); ifstream file2("Record.txt"); file2>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi; while(!file2.eof() file2>>CRecordi.ID;file2>>CRecordi.Name;file2>>CRecordi.chidao;file2>>CRecordi.zaotui;file2>>CReco
32、rdi.qingjia;file2>>CRecordi.kuangke;i+; if(i=0)renshu=i;else i-; renshu=i; file2.close();return;/向文本中保存信息void Record:SaveData()int i=0; Order();ofstream file("Record.txt"); file<<"学号t"<<"姓名t"<<"迟到t"<<"早退t"<<"请
33、假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<<CRecordi.k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026住院医师规培-河北-河北住院医师规培(眼科)历年参考题库含答案详解
- 2026住院医师规培-新疆-新疆住院医师规培(核医学科)历年参考题库含答案详解
- 2026住院医师规培-山东-山东住院医师规培(医学检验科)历年参考题库含答案详解
- 2026住房和城乡建设领域现场专业人员考试(装饰装修施工员·专业管理实务)历年参考题库含答案详解
- 2026云南住院医师规范化培训考试(中医眼科)题库历年参考题库含答案详解
- 2026二级公共营养师(技师)考试(理论知识)历年参考题库含答案详解
- 2026事业单位笔试-青海-青海普外科(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-重庆-重庆麻醉学(医疗招聘)历年参考题库含答案详解
- 节约能源知识竞赛试题及答案
- 建筑工程质量员考试试题及答案
- 微型小说教学课件
- GB/T 13029.1-2025船舶电气装置第1部分:电缆的选择和安装
- 2025年内蒙古自治区(统招专升本)英语考试试题及答案
- 高等数学(上册)(慕课版)课件 第1章 习题课
- 合唱课题申报书
- 2025年八年级上学期地理早背晚默资料
- 云南民族大学附属高级中学2026届高三上学期联考(一)地理试卷(含解析)
- 中药材采购合同协议模板
- 企业内部控制系统模板
- 底商出租管理办法
- 水产工程技术人员岗位面试问题及答案
评论
0/150
提交评论