您的位置:首页 > 编程语言 > C语言/C++

c++学生考勤信息管理系统

2018-01-04 19:46 447 查看
学生考勤信息管理系统记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、学生学号、缺课类型(迟到、请假及旷课)。系统具有以下功能:  1)录入学生的缺课记录;  2)修改某个学生的缺课记录;  3)查询某个学生的缺课情况;  4)统计 旷课学生姓名及旷课次数,按旷课次数由多到少排序;  5)统计 有学生旷课的课程及旷课人次(每次课时累加),按旷课人次由多到少排序;
主体是list容器;#include <iostream>
#include<string>
#include<sstream>
#include<cstdlib>
#include<list>
using namespace std;
class CStudent
{
public:
CStudent(string id,string name,string time,string lesson_name,int jieci,int type)
{
this->name =name;
this->lesson_name =lesson_name;
this->id = id;
this->time =time;
this->type =type;
this->jieci =jieci;
}
string getname()
{
return name;
}
string getlesson_name()
{
return lesson_name;
}
string getid()
{
return id;
}
string gettime()
{
return time;
}
int gettype()
{
return type;
}
int getjieci()
{
return jieci;
}
private:
string name;
string lesson_name;
string id;
string time;
int type;
int jieci;
};

void input(list<CStudent>&myList);//输入数据
void output(list<CStudent>&myList);//输出所有数据
void show();//显示桌面
void chaxun(list<CStudent>&myList);//查询
void xiugai(list<CStudent>&myList); //修改
void tongji1(list<CStudent>&myList);//旷课学生姓名及旷课次数
void tongji2(list<CStudent>&myList); //有学生旷课的课程及旷课人次

int main()
{
list<CStudent> myList;
show();
int n;
cin>>n;
while(n!=7)
{
switch(n)
{
case 1://输入数据
system("CLS");
input(myList);
system("pause");
break;
case 2:
system("CLS");
xiugai(myList);
system("pause");
break;
case 3:
system("CLS");
chaxun(myList);
system("pause");
break;
case 4:
system("CLS");
tongji1(myList);
system("pause");
break;
case 5:
system("CLS");
tongji2(myList);
system("pause");
break;
case 6:
system("CLS");
output(myList);
system("pause");
case 7:
system("CLS");
break;
default:
system("CLS");
break;
}
system("CLS");
show();
cin>>n;
}

return 0;

}

void input(list<CStudent>&myList)
{
string name;
string lesson_name;
string id;
string time;
int type;
int jieci;

cout<<"请输入学号: "<<endl;
cin>>id;
cout<<"请输入姓名: "<<endl;
cin>>name;
cout<<"请输入时间: "<<endl;
cin>>time;
cout<<"请输入课程: "<<endl;
cin>>lesson_name;
cout<<"请输入节次: "<<endl;
cin>>jieci;
cout<<"请输入缺课类型:(1.迟到,2,旷课,3.请假) "<<endl;
cin>>type;

CStudent stu(id,name,time,lesson_name,jieci,type);
myList.push_back(stu);

cout<<"需要继续输入学生信息,输入1,否输入0"<<endl;
int x;
cin>>x;
if(x==1)
{
input(myList);
}
}

void output(list<CStudent>&myList) //输出所有数据
{
cout<<"学号"<<" "<<"姓名"<<" "<<"时间"<<" "<<"课程"<<" "<<"节次"<<" "<<"缺课类型"<<endl;
list<CStudent>::iterator it;
for(it=myList.begin(); it!=myList.end(); it++)
{
CStudent stu = *it;
cout<<stu.getid()<<" "<<stu.getname()<<" "<<stu.gettime()<<" "<<stu.getlesson_name()<<" "<<stu.getjieci()<<" "<<stu.gettype()<<endl;
}
}

void show()//显示桌面
{
cout<<"学生后勤管理系统"<<endl;
cout<<"1-录入学生的缺课记录"<<endl;
cout<<"2-修改某个学生的缺课记录"<<endl;
cout<<"3-查询某个学生的缺课情况"<<endl;
cout<<"4-统计 旷课学生姓名及旷课次数"<<endl;
cout<<"5-统计 有学生旷课的课程及旷课人次"<<endl;
cout<<"6-输出所有记录"<<endl;
cout<<"7-退出系统"<<endl;
}

void chaxun(list<CStudent>&myList) //查询
{
cout<<"请输入姓名"<<endl;
string name;
cin>>name;
list<CStudent>::iterator it;
for(it=myList.begin(); it!=myList.end(); it++)
{
CStudent stu = *it;
if(stu.getname()==name)
{
cout<<"学号"<<" "<<"姓名"<<" "<<"时间"<<" "<<"课程"<<" "<<"节次"<<" "<<"缺课类型"<<endl;
cout<<stu.getid()<<" "<<stu.getname()<<" "<<stu.gettime()<<" "<<stu.getlesson_name()<<" "<<stu.getjieci()<<" "<<stu.gettype()<<endl;
}
}
}

void xiugai(list<CStudent>&myList) //修改
{
string name;
string lesson_name;
string id;
string time;
int type;
int jieci;
cout<<"请输入学生姓名"<<endl;
cin>>name;
cout<<"将修改所有信息,请重新输入!!"<<endl;

cout<<"请输入学号: "<<endl;
cin>>id;
cout<<"请输入时间: "<<endl;
cin>>time;
cout<<"请输入课程: "<<endl;
cin>>lesson_name;
cout<<"请输入节次: "<<endl;
cin>>jieci;
cout<<"请输入缺课类型:(1.迟到,2,旷课,3.请假) "<<endl;
cin>>type;
list<CStudent>::iterator it;
int n=0;
for(it=myList.begin(); it!=myList.end(); it++)
{
CStudent stu = *it;
if(stu.getname()==name)
{
n=1;
CStudent str(id,name,time,lesson_name,jieci,type);
myList.erase(it);//删除区间内内容
myList.push_back(str);
cout<<"修改学生成绩成功"<<endl;
break;
}
}
if(n==0)
{
cout<<"修改学生成绩失败"<<endl;
}
cout<<"需要继续修改学生成绩,输入1,否输入0"<<endl;
int x;
cin>>x;
if(x==1)
{
xiugai(myList);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: