




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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;
2、/学生姓名char classname20; /旷课名称int riqi; /旷课日期void ShowDate(int i); /输出函数 ; class studentpublic:int chidao;char name20;/类的实现#include"kaoqin.hpp"#include <iostream>#include <conio.h> #include "string.h" #include <fstream> using namespace std;#define Size 1000using n
3、amespace std;/构造函数 Record:Record() leixing=0; ID=0;classname20=0;riqi=0; Name20=0; Record CRecordSize; Record CRecord1Size;student ASize;static int renshu=0;/ /输出函数 void Record:ShowDate(int i) cout<<"t"<<CRecordi.ID<<" "<<CRecordi.Name<<" "
4、<<CRecordi.riqi<<" "<<CRecordi.classname<<" "<<CRecordi.leixing<<endl; /输入增添学生人数 void Record:SetDate() int i=0;int m=0; cout<<"n输入/增添学生人数 : "cin>>m; for(i=0;i<m;i+) cout<<"n输入/增添第"<<i+1<<&quo
5、t;个学生的信息 :"<<endl;cout<<"nt学号 :"cin>>CRecordrenshu+i.ID;cout<<"nt姓名: " cin>>CRecordrenshu+i.Name;cout<<"nt日期: " cin>>CRecordrenshu+i.riqi;cout<<"nt课程名称: " cin>>CRecordrenshu+i.classname;cout<<&qu
6、ot;nt缺课类型请选择:1迟到2早退3旷课4请假 " cin>>CRecordrenshu+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) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"else whi
7、le(j=1)system("cls");cout<<"n请输入要修改学生的学号: "cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)cout<<"n该学生的原始信息是:n"cout<<"nt学号 姓名 日期 课程名称 缺课类型:1代表迟到 2代表早退 3代表旷 课 4代表请 假"<<endl;ShowDate(i);cout<<"n是否修改学生信息:确认(Y)/取消(N): &quo
8、t;cin>>A; if(A=a|A=a+32)cout<<"nt选择修改内容: ( 1学号 2姓名 3日期 4课程名称 5缺课类型:1迟到 2早退 3旷课 4请假) : "cin>>n;switch(n)case 1: cout<<"n新的学号:" cin>>id; CRecordi.ID=id; break;case 2: cout<<"n新的姓名:" cin>>name; strcpy(CRecordi.Name,name);break;case
9、 3: cout<<"n输入旷课日期:" cin>>n;CRecordi.riqi=n; break;case 4: cout<<"n输入课程名称:" cin>>name;strcpy(CRecordi.classname,name);break;case 5: cout<<"n输入缺课类型:"cin>>c;CRecordi.leixing=c;break;default: cout<<"n输入错误修改失败" break;cout&
10、lt;<"nnnttt学生信息修改成功!nn"else if(A=b|A=b+32)cout<<"nnttt你取消了对该条信息信息的修改!nn"else cout<<"nnttt输入错误!修改失败!nn"/cout<<"继续修改请"<<endl;/if()if(i>=renshu) cout<<"ntt没有你所查找的记录!n" cout<<"n重新查询修改请输0否则输任意值:"cin>&
11、gt;i;if(i=0)j=1;elsesystem("cls");cout<<"nnnn 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)cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"elsecout<<"n删除所有学生信息请输1,删除
12、个别学生信息请输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)cout<<"nnttt你取消了对所有信息的删除!nn"else cout<<"nnttt输入错误!删除失败!nn" else if(j=2)system("
13、cls");cout<<"n请输入要删除学生的学号: "cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)cout<<"n该学生的原始信息是:n"cout<<"nt学号 姓名 日期 课程名称 缺课类型:1迟到 2早退 3旷 课 4请 假"<<endl;ShowDate(i);cout<<"n是否删除该学生的信息: "<<"确认(Y)/取消(N): "cin
14、>>A;if(A=a|A=a+32) for(j=i;j<renshu-1;j+)strcpy(CRecordj.Name,CRecordj+1.Name);CRecordj.ID=CRecordj+1.ID;CRecordj.leixing=CRecordj+1.leixing;strcpy(CRecordj.classname,CRecordj+1.classname);renshu-;cout<<"nntt该学生删除信息删除成功!nn"else if(A=b|A=b+32)cout<<"nntt你取消了对该生信息的删
15、除!nn" if(i>=renshu)cout<<"n没有你所查找的记录!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) renshu=i; else i-; renshu=i; file2.close();return
16、; / /向文本中保存信息 void Record:SaveData()int i=0;ofstream file("Record.txt",ios:binary);if(!file)cerr<<"open Record.dat error "<<endl;abort();for(i=0;i<renshu;i+)file.write(char*)&CRecordi,sizeof(CRecordi);file.close(); / /查找单人考勤信息void Record:FindRecord()int i,b;int
17、 chidao=0,zaotui=0,kuangke=0,qingjia=0;long id;if(renshu<=0)cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"elsecout<<"n请输入你要查找的学生学号: "cin>>id;for(i=0;i<renshu;i+)if(CRecordi.ID=id)if(CRecordi.leixing=1)chidao+;else if(CRecordi.leixing=2)zaotui+;else if(CRecordi
18、.leixing=3)kuangke+;else if(CRecordi.leixing=4)qingjia+;break;if(i>=renshu)cout<<"n没有你所查找的记录!"else for(b=i+1;b<renshu;b+)if(CRecordi.ID=CRecordb.ID)if(CRecordi.leixing=1)chidao+;else if(CRecordi.leixing=2)zaotui+;else if(CRecordi.leixing=3)kuangke+;else if(CRecordi.leixing=4)qi
19、ngjia+;cout<<"nt学号 姓名 迟到次数 早退次数 旷课次数 请假次数"<<endl;cout<<CRecordi.ID<<CRecordi.Name<<chidao<<' '<<zaotui<<' '<<kuangke<<' '<<qingjia<<endl;return; void Record: tongji() /统计某时间段内学生旷课数与某课程的缺课数int i=
20、0,b;int s,t;int j;int c;int n=0;int tim1=0,tim2=0;char d20=0;for(i=0;i<renshu;i+)CRecord1i=CRecordi;/拷贝一份数据s=renshu; if(renshu<=0)cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn"elsecout<<"n统计某段时间内,学生姓名及旷课次数"cout<<"n请输入起始时间"cin>>tim1;cout<<
21、"n请输入终止时间"cin>>tim2;for(b=0;b<s;b+)for(j=1;j<s;j+)if(CRecord1b.ID=CRecord1j.ID)if(CRecord1j.leixing=3)n+;for(i=j;i<s-1;i+)strcpy(CRecord1i.Name,CRecord1i+1.Name);CRecord1i.ID=CRecord1i+1.ID;CRecord1i.leixing=CRecord1i+1.leixing;strcpy(CRecord1i.classname,CRecord1i+1.classnam
22、e);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.chidao<Ac+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;i<b;i+)cout<<"姓名"<<A<<
23、;" "<<"迟到次数"<<Ai.chidao<<endl;/主函数#include"kaoqin.hpp"#include<iostream>using namespace std;/测试主函数int main() Record Stu;int a=1;Stu.ReadDate();while(a)system("cls");cout<<"nt*15级*n"cout<<"nt*学生考勤管理系统*nn"cout<<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内墙粉刷包工合同样本
- 书面招标货物采购合同样本
- 如何利用大数据优化生产计划
- 出售肉牛批发合同样本
- 中介代签合同样本
- 个人转让住房合同范例
- 图书选题计划
- 农场采购化肥合同标准文本
- 2025如何签订正规的租赁合同
- 2025租赁会议室合同协议范本
- 网络零售行业分析
- 屋顶光伏发电系统设计原则与方案
- 保安上墙制度
- 2025念珠菌病诊断和管理全球指南解读课件
- 碘对比剂应用护理安全性
- 水电站安全生产培训
- 2025年国家药品监督管理局特殊药品检查中心招聘6人历年高频重点提升(共500题)附带答案详解
- 《矿井提升设备》课件2
- 被迫解除劳动合同通知书电子邮件
- 工具表单-岗位价值评估表(海氏)
- DB33T 2515-2022 公共机构“零碳”管理与评价规范
评论
0/150
提交评论