




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、类的定义class Record public: Record(); /构造函数 void SetDate(); /输入设置学生信息 void ReadDate(); /读取文本信息函数 void SaveData(); /向文本保存信息函数 void FindRecord(); /查找学生信息函数 void tongji(); /统计某时间段内学生旷课数与某课程的缺课数void ModifyDate(); /修改学生信息 void DelRecord(); /删除学生信息 int leixing; /缺课类型 long ID; /学生学号 char Name20; /学生姓名char cla
2、ssname20; /旷课名称int riqi; /旷课日期void ShowDate(int i); /输出函数 ; class studentpublic:int chidao;char name20;/类的实现#includekaoqin.hpp#include #include #include string.h #include using namespace std;#define Size 1000using namespace std;/构造函数 Record:Record() leixing=0; ID=0;classname20=0;riqi=0; Name20=0; Re
3、cord CRecordSize; Record CRecord1Size;student ASize;static int renshu=0;/ /输出函数 void Record:ShowDate(int i) couttCRecordi.ID CRecordi.Name CRecordi.riqi CRecordi.classname CRecordi.leixingendl; /输入增添学生人数 void Record:SetDate() int i=0;int m=0; coutm; for(i=0;im;i+) coutn输入/增添第i+1个学生的信息 :endl;coutCRec
4、ordrenshu+i.ID;coutCRecordrenshu+i.Name;coutCRecordrenshu+i.riqi;coutCRecordrenshu+i.classname;coutCRecordrenshu+i.leixing;system(cls); renshu=m+renshu; / /修改学生信息 void Record:ModifyDate() int i,j=1;char A,a=Y,b=N;int c,n;long id;char name=0;if(renshu=0) coutnnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn;else wh
5、ile(j=1)system(cls);coutid;for(i=0;irenshu;i+)if(CRecordi.ID=id)coutn该学生的原始信息是:n;coutnt学号 姓名 日期 课程名称 缺课类型:1代表迟到 2代表早退 3代表旷 课 4代表请 假endl;ShowDate(i);coutA; if(A=a|A=a+32)coutn;switch(n)case 1: coutid; CRecordi.ID=id; break;case 2: coutname; strcpy(CRecordi.Name,name);break;case 3: coutn;CRecordi.riqi
6、=n; break;case 4: coutname;strcpy(CRecordi.classname,name);break;case 5: coutc;CRecordi.leixing=c;break;default: coutn输入错误修改失败; break;coutnnnttt学生信息修改成功!nn;else if(A=b|A=b+32)coutnnttt你取消了对该条信息信息的修改!nn;else coutnnttt输入错误!修改失败!nn;/cout继续修改请=renshu) coutntt没有你所查找的记录!n; couti;if(i=0)j=1;elsesystem(cls)
7、;coutnnnn ttt 信息修改失败!nn;j=0;break; / /删除学生信息 void Record:DelRecord()int i=0,j;long id=0; char r=0,A,a=Y,b=N;if(renshu=0)coutnnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn;elsecoutj;if(j=1)coutA; if(A=a|A=a+32)renshu=0; coutnnnttt所有信息删除成功!nn;else if(A=b|A=b+32)coutnnttt你取消了对所有信息的删除!nn;else coutnnttt输入错误!删除失败!nn;
8、 else if(j=2)system(cls);coutid;for(i=0;irenshu;i+)if(CRecordi.ID=id)coutn该学生的原始信息是:n;coutnt学号 姓名 日期 课程名称 缺课类型:1迟到 2早退 3旷 课 4请 假endl;ShowDate(i);coutn是否删除该学生的信息: A;if(A=a|A=a+32) for(j=i;jrenshu-1;j+)strcpy(CRecordj.Name,CRecordj+1.Name);CRecordj.ID=CRecordj+1.ID;CRecordj.leixing=CRecordj+1.leixing;
9、strcpy(CRecordj.classname,CRecordj+1.classname);renshu-;coutnntt该学生删除信息删除成功!nn;else if(A=b|A=b+32)cout=renshu)coutn没有你所查找的记录!n; / /从文本中读取信息 void Record:ReadDate()int i=0;ifstream file2(Record.txt,ios:binary);if(!file2)abort();while(!file2.eof()file2.read(char*)&CRecordi,sizeof(CRecordi);i+;if(i=0) r
10、enshu=i; else i-; renshu=i; file2.close();return; / /向文本中保存信息 void Record:SaveData()int i=0;ofstream file(Record.txt,ios:binary);if(!file)cerropen Record.dat error endl;abort();for(i=0;irenshu;i+)file.write(char*)&CRecordi,sizeof(CRecordi);file.close(); / /查找单人考勤信息void Record:FindRecord()int i,b;int
11、 chidao=0,zaotui=0,kuangke=0,qingjia=0;long id;if(renshu=0)coutnnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn;elsecoutid;for(i=0;i=renshu)coutn没有你所查找的记录!;else for(b=i+1;brenshu;b+)if(CRecordi.ID=CRecordb.ID)if(CRecordi.leixing=1)chidao+;else if(CRecordi.leixing=2)zaotui+;else if(CRecordi.leixing=3)kuangke+;else
12、 if(CRecordi.leixing=4)qingjia+;coutnt学号 姓名 迟到次数 早退次数 旷课次数 请假次数endl;coutCRecordi.IDCRecordi.Namechidao zaotui kuangke qingjiaendl;return; void Record: tongji() /统计某时间段内学生旷课数与某课程的缺课数int i=0,b;int s,t;int j;int c;int n=0;int tim1=0,tim2=0;char d20=0;for(i=0;irenshu;i+)CRecord1i=CRecordi;/拷贝一份数据s=rensh
13、u; if(renshu=0)coutnnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn;elsecoutn统计某段时间内,学生姓名及旷课次数;couttim1;couttim2;for(b=0;bs;b+)for(j=1;js;j+)if(CRecord1b.ID=CRecord1j.ID)if(CRecord1j.leixing=3)n+;for(i=j;is-1;i+)strcpy(CRecord1i.Name,CRecord1i+1.Name);CRecord1i.ID=CRecord1i+1.ID;CRecord1i.leixing=CRecord1i+1.leix
14、ing;strcpy(CRecord1i.classname,CRecord1i+1.classname);s-;j-;Ab.chidao=n;strcpy(A,CRecord1b.Name);for(i=0;i=b-1;i+)for(c=0;c=b-i;c+)if(Ac.chidaoAc+1.chidao)t=Ac.chidao;Ac.chidao=Ac+1.chidao;Ac+1.chidao=t;strcpy(d,A);strcpy(A,Ac+1.name);strcpy(Ac+1.name,d);for(i=0;ib;i+)cout姓名A
15、 迟到次数Ai.chidaoendl;/主函数#includekaoqin.hpp#includeusing namespace std;/测试主函数int main() Record Stu;int a=1;Stu.ReadDate();while(a)system(cls);coutnt*15级*n;coutnt*学生考勤管理系统*nn;coutnt* 1: 输入/增添学生考勤信息 *nn; coutt* 2: 修改学生信息 *nn; coutt* 3: 单人查询考勤信息 *nn;coutt* 4: 删除学生信息 *nn;coutt* 5: 统计某段时间学生旷课次数 *nn;coutt* 6: 退出 *nn;coutchoose;system(cls);switch(choose)case 1: Stu.SetDate();break;/输入学生考勤信息case 2: Stu.ModifyDate();break; /修改学生考勤信息 case 3: Stu.Fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不良资产处置购买合同样本
- 简单的林地承包合同
- 二零二五合伙开办公司协议
- 众筹开公司合同样本
- 充电桩工程维护合同标准文本
- 扬尘防治措施方案
- 工程勘察设计委托分包合同二零二五年
- 小学四年级美术下册教学总结
- 保证食品安全的规章制度目录
- 2024年教师信息技术应用能力提升工程培训总结
- 2024年中国机械工业集团有限公司国机集团总部招聘笔试真题
- 高新技术企业认定代理服务协议书范本
- 安全生产、文明施工资金保障制度11142
- 中药性状鉴定技术知到课后答案智慧树章节测试答案2025年春天津生物工程职业技术学院
- 2025年全屋定制家居市场分析与经营计划
- 电动汽车结构原理与检修课件:慢充系统检修
- 2024年台州职业技术学院招聘笔试真题
- GB/T 33744-2025应急避难场所管护使用规范
- 专题09 产业区位与产业发展【知识精研】高考地理二轮复习
- 《陆上风电场工程概算定额》NBT 31010-2019
- 2024年山东省事业单位历年面试题目及答案解析50套
评论
0/150
提交评论