<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C++實現考勤管理系統的具體程式碼,供大家參考,具體內容如下
設計一考勤管理系統,記錄學生的缺課情況
1、設計學生類;
2、設計課程類;
3、設計考勤類;
4、錄入學生的缺課情況;
5、修改某個學生的缺課情況;
6、查詢某個學生的缺課情況;
7、統計一段時間內,曠課學生的名單和次數
僅供參考,尚有不足,請多多指正!
#include <iostream> #include <cstring> using namespace std; class Student { public: void setname(char *setname) { strcpy(name,setname); } void setcarname(char *setcarname) { strcpy(carname,setcarname); } void setseating_capacity(char *setseating_capacity) { strcpy(seating_capacity,setseating_capacity); } void setidentifynumber(char *setidentifynumber) { strcpy(identifynumber,setidentifynumber); } char *getname() { char *setname=name; return setname; } char *getcarname() { char *setcarname=carname; return setcarname; } char *getsetseating_capacity() { char *setseating_capacity=seating_capacity; return setseating_capacity; } char *getidentifynumber() { char *setidentifynumber=identifynumber; return setidentifynumber; } private: char name[30]; char carname[30]; char seating_capacity[30]; char identifynumber[30]; }; class Course:public Student { public: void setcoursename(char *setcoursename) { strcpy(coursename,setcoursename); } void setcoursetime(char *setcoursetime) { strcpy(coursetime,setcoursetime); } void setcourseplace(char *setcourseplace) { strcpy(courseplace,setcourseplace); } char *getcoursename() { char *setcoursename; setcoursename=coursename; return setcoursename; } char *getcoursetime() { char *setcoursetime; setcoursetime=coursetime; return setcoursetime; } char *getcourseplace() { char *setcourseplace; setcourseplace=courseplace; return setcourseplace; } private: char coursename[30]; char coursetime[30]; char courseplace[30]; }; class Attendence:public Course { public: void setattendence(int setattendence) { int i=0; attendence[i]=setattendence; i++; } int *getattendence() { int *setattendence; setattendence=attendence; return setattendence; } private: int attendence[30]; }; int input(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[]); int modify(Student i[],Course cn[],Course ct[],Course cp[],Attendence attendence[],int totalnumber); int search(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber); int statistic(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber); void bubble(int arr[],int len); Student n[20]; Student i[20]; Course cn[20]; Course ct[20]; Course cp[20]; Attendence a[20]; int totalnumber=0; char name[30]; char identifynumber[30]; char coursename[30]; char coursetime[30]; char courseplace[30]; int attendence; int array[30]; int att[30]; int main() { while(1) { cout<<"---------吉林大學珠海學院---------n" <<" 學生考勤管理系統nn" <<" 1.錄入學生缺課資訊n" <<" 2.修改學生缺課記錄n" <<" 3.查詢學生缺課情況n" <<" 4.統計一段時間內學生曠課情況n" <<" 5.退出系統nn" <<"------------------------------"<<endl; int num; for(;;) { cout<<"請選擇需要執行的功能序號(1-5):"; cin>>num; if(num>=1&&num<=5) break; else continue; } cout<<endl; switch(num){ case 1:{ input(n,i,cn,ct,cp,a); break; } case 2:{ modify(i,cn,ct,cp,a,totalnumber); break; } case 3:{ search(n,i,cn,ct,cp,a,totalnumber); break ; } case 4:{ statistic(n,i,cn,ct,cp,a,totalnumber); break; } case 5:exit(0); } } } int input(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[]) { cout<<"----------請開始輸入----------n"; cout<<"請輸入將錄入系統的人數:"; cin>>totalnumber; cout<<endl; for(int counter=0;counter<totalnumber;counter++) { cout<<"學生姓名:"; cin>>name; n[counter].setname(name); cout<<"學生學號:"; cin>>identifynumber; i[counter].setidentifynumber(identifynumber); cout<<"課程名稱:"; cin>>coursename; cn[counter].setcoursename(coursename); cout<<"課程時間(星期幾,第幾節課):"; cin>>coursetime; ct[counter].setcoursetime(coursetime); cout<<"課程地點:"; cin>>courseplace; cp[counter].setcourseplace(courseplace); cout<<"缺課次數:"; cin>>attendence; a[counter].setattendence(attendence); array[counter]=attendence; cout<<'n'; } return 1; } int modify(Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber) { int inputnumber; do{ char id[8]; cout<<"請輸入學生學號:"; cin>>id; cout<<endl; if(1) { for(int counter=0;counter<totalnumber;counter++) { if(strcmp(id,i[counter].getidentifynumber())==0) { int num; cout<<"請選擇需要修改資訊的種類:" <<"n1.課程名稱n" <<"2.課程時間n" <<"3.課程地點n" <<"4.缺課次數n"; for(;;) { cout<<"請輸入需要修改資訊的代號(1-4):"; cin>>num; if(num>=1&&num<=4) break; else continue; } cout<<endl; switch(num){ case 1:{ cout<<"請輸入修改後的課程名稱:"; cin>>coursename; cn[counter].setcoursename(coursename); cout<<'n'; break; } case 2:{ cout<<"請輸入修改後的課程時間(星期幾,第幾節課):"; cin>>coursetime; ct[counter].setcoursetime(coursetime); cout<<'n'; break; } case 3:{ cout<<"請輸入修改後的課程地點:"; cin>>courseplace; cp[counter].setcourseplace(courseplace); cout<<'n'; break; } case 4:{ cout<<"請輸入修改後的缺課次數:"; cin>>attendence; a[counter].setattendence(attendence); array[counter]=attendence; cout<<'n'; break; } } } } } else { cout<<"無該學生缺課資訊!n" <<"請再次確認輸入學號無誤nn"; } for(;;) { cout<<"重新查詢請輸入1|返回目錄請輸入0n"; cin>>inputnumber; if(inputnumber==1||inputnumber==0) break; else continue; } }while(inputnumber==1); return 1; } int search(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber) { int inputnumber; do{ char ids[8]; char *identify=ids; cout<<"請輸入學生學號:"; cin>>ids; cout<<endl; strcpy(ids,identify); if(1) { for(int counter=0;counter<totalnumber;counter++) { if(strcmp(ids,i[counter].getidentifynumber())==0) { cout<<"學生姓名:"<<n[counter].getname() <<"n學生學號:"<<i[counter].getidentifynumber() <<"n缺課課程名稱:"<<cn[counter].getcoursename() <<"n缺課課程日期:"<<ct[counter].getcoursetime() <<"n缺課時間:"<<cp[counter].getcourseplace() <<"n缺課次數:"<<*a[counter].getattendence()<<"n"; } } } else cout<<"無該同學資料"; break; cout<<'n'<<endl; for(;;) { cout<<"重新查詢請輸入1|返回目錄請輸入0nn"; cin>>inputnumber; if(inputnumber==0||inputnumber==1) break; else continue; } }while(inputnumber==1); return 1; } int statistic(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber) { int inputnumber; for(int index=0;index<30;index++) att[index]=index; if(totalnumber==0) cout<<"資料庫無資訊nn"; else if(totalnumber==1) cout<<"學生姓名:"<<n[0].getname() <<"n學生學號:"<<i[0].getidentifynumber() <<"n缺課課程名稱:"<<cn[0].getcoursename() <<"n缺課課程日期:"<<ct[0].getcoursetime() <<"n缺課時間:"<<cp[0].getcourseplace() <<"n缺課次數:"<<*a[0].getattendence()<<"nn"; else if(1) { for(int counter=0;counter<totalnumber;counter++) { if(a[counter].getattendence()<a[counter].getattendence()+1) { bubble(array,totalnumber); } else if(a[counter].getattendence()==a[counter+1].getattendence()) { if(strcmp(i[counter].getidentifynumber(),i[counter+1].getidentifynumber())>0) { int temp; int a=counter; int b=counter+1; temp=a; a=b; b=temp; } } } for(int index=0;index<totalnumber;index++) { cout<<"學生姓名:"<<n[att[index]].getname() <<"n學生學號:"<<i[att[index]].getidentifynumber() <<"n缺課課程名稱:"<<cn[att[index]].getcoursename() <<"n缺課課程日期:"<<ct[att[index]].getcoursetime() <<"n缺課時間:"<<cp[att[index]].getcourseplace() <<"n缺課次數:"<<*a[att[index]].getattendence()<<"nn"; } } cout<<"返回目錄請輸入0n"; cin>>inputnumber; if(inputnumber==0) return 1; } void bubble(int arr[],int len) { int i,j,temp; int t; for(i=0;i<len-1;i++) { for(j=0;j<len-1-i;j++) { if(arr[j]<arr[j+1]) { temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; t=att[j]; att[j]=att[j+1]; att[j+1]=t; } } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45