亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 學(xué)生考勤管理系統(tǒng).cpp

?? 一個(gè)非常實(shí)用的C++課程設(shè)計(jì)-學(xué)生考勤管理系統(tǒng)
?? CPP
字號(hào):
// 學(xué)生考勤管理系統(tǒng).cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdlib.h"
#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

const int max=100;

class record
{
public:
	void set(string d,int cno,string c,string s,int type)
	{
		date.assign(d);
		cname.assign(c);
		sname.assign(s);
		this->cno=cno;
		this->type=type;
	}
	void set(record re)
	{
		date.assign(re.date);
		cname.assign(re.cname);
		sname.assign(re.sname);
		this->cno=re.cno;
		this->type=re.type;
	}
	string tostr()
	{
		string s;
		char tmp[3];
		s.assign(date);
		itoa(cno,tmp,10);
		s.append("#");
		s.append(tmp);
		s.append("#");
		s.append(cname);
		s.append("#");
		s.append(sname);
		itoa(type,tmp,10);
		s.append("#");
		s.append(tmp);
		return s;
	}
	string date,cname,sname;
	int cno,type;
};

class records
{
public:
	records()
	{
		r=new record[max];
		n=0;
	}
	void order_s()
	{
		string *s=new string[n];
		int *c=new int [n];
		s[0].assign(r[0].sname);
		c[0]=1;
		int k=1,flag;
		for(int i=1;i<n;i++)
		{
			flag=0;
			for(int j=0;j<k;j++)
				if(r[i].sname==s[j])
				{
					c[j]++;
					flag=1;
					break;
				}
			if(!flag)
			{
				s[k]=r[i].sname;
				c[k++]=1;
			}
		}
		for(i=1;i<k;i++)
			for(int j=i;j>0;j--)
			{
				if(c[j]>c[j-1])
				{
					int tmp=c[j];
					c[j]=c[j-1];
					c[j-1]=tmp;
					string stmp=s[j];
					s[j]=s[j-1];
					s[j-1]=stmp;
				}
			}
		cout<<"曠課學(xué)生姓名\t曠課次數(shù)"<<endl;
		for(i=0;i<k;i++)
			cout<<s[i]<<"\t\t"<<c[i]<<endl;
	}
	void order_c()
	{
		string *s=new string[n];
		int *c=new int [n];
		s[0].assign(r[0].cname);
		c[0]=1;
		int k=1,flag;
		for(int i=1;i<n;i++)
		{
			flag=0;
			for(int j=0;j<k;j++)
				if(r[i].cname==s[j])
				{
					c[j]++;
					flag=1;
					break;
				}
			if(!flag)
			{
				s[k]=r[i].cname;
				c[k++]=1;
			}
		}
		for(i=1;i<k;i++)
			for(int j=i;j>0;j--)
			{
				if(c[j]>c[j-1])
				{
					int tmp=c[j];
					c[j]=c[j-1];
					c[j-1]=tmp;
					string stmp=s[j];
					s[j]=s[j-1];
					s[j-1]=stmp;
				}
			}
		cout<<"課程名\t曠課人次"<<endl;
		for(i=0;i<k;i++)
			cout<<s[i]<<"\t"<<c[i]<<endl;
	}
	record *r;
	int n;
};

void wt(records *r)
{
	ofstream outf("data.txt");
	for(int i=0;i<r->n;i++)
		outf<<r->r[i].tostr()<<endl;
	outf<<"!"<<endl;
}

void rd(records *r)
{
	ifstream inf("data.txt");
	if(inf.eof())
	{
		cout<<"記錄為空!"<<endl;
		return;
	}
	string t1,t3,t4;
	char tmp[30];
	int t2,t5;
	r->n=0;
	while(true)
	{
		inf.getline(tmp,10,'#');
		if(tmp[0]=='!')break;
		t1.assign(tmp);
		inf.getline(tmp,3,'#');
		t2=atoi(tmp);
		inf.getline(tmp,30,'#');
		t3.assign(tmp);
		inf.getline(tmp,30,'#');
		t4.assign(tmp);
		inf.getline(tmp,3);
		t5=atoi(tmp);
		r->r[r->n++].set(t1,t2,t3,t4,t5);
	}
}

bool timechk(string t1)
{
	int year=atoi(t1.substr(0,2).c_str());
	int month=atoi(t1.substr(2,2).c_str());
	int day=atoi(t1.substr(4,2).c_str());
	if(!(t1.length()==6&&year>0&&year<99&&month>0&&month<13&&day>0&&day<32))
	{
		cout<<"日期錄入有誤! 請(qǐng)重新錄入: "<<endl;
		return false;
	}
	else return true;
}

void input(records *r)
{
	string t1,t3,t4;
	int t2,t5,flag=0;
	char yn;
	cout<<"錄入一條學(xué)生缺課記錄:"<<endl;
m1:
	cout<<"請(qǐng)輸入缺課日期: (例如080612) "<<flush;
	cin>>t1;
	if(!(timechk(t1)))goto m1;
m2:
	cout<<"請(qǐng)輸入缺第幾節(jié)課: "<<flush;
	cin>>t2;
	if(t2<1||t2>10)
	{
		cout<<"節(jié)次錄入有誤! 請(qǐng)重新錄入: "<<endl;
		goto m2;
	}
	cout<<"請(qǐng)輸入缺課名稱: "<<flush;
	cin>>t3;
	cout<<"請(qǐng)輸入缺課學(xué)生姓名: "<<flush;
	cin>>t4;
m3:
	cout<<"請(qǐng)輸入缺課類型: (1.遲到 2.早退 3.請(qǐng)假 4.曠課) "<<flush;
	cin>>t5;
	if(t5<1||t5>4)
	{
		cout<<"類型輸入有誤! 請(qǐng)重新錄入: "<<endl;
		goto m3;
	}
	for(int i=0;i<r->n;i++)
		if(r->r[i].date==t1&&r->r[i].cno==t2&&r->r[i].cname==t3&&r->r[i].sname==t4&&r->r[i].type==t5)
		{
			cout<<"該條記錄已存在,是否添加為新記錄? (y/n) "<<flush;
n1:
			cin>>yn;
			if(yn=='y')break;
			else if(yn=='n')goto n2;
			else goto n1;
		}
	r->r[r->n++].set(t1,t2,t3,t4,t5);
n2:
	cout<<"是否繼續(xù)輸入? (y/n) "<<flush;
n3:
	cin>>yn;
	if(yn=='y')goto m1;
	else if(yn=='n')
	{
		cout<<"保存修改? (y/n) "<<flush;
		cin>>yn;
		if(yn=='y')wt(r);
		else return;
	}
	else goto n3;
}

void prione(record r)
{
	cout<<r.date<<"\t\t"
		<<r.cno<<"\t"
		<<r.cname<<"\t\t"
		<<r.sname<<"\t\t"
		<<flush;
	switch(r.type)
	{
	case 1:cout<<"遲到"<<endl;break;
	case 2:cout<<"早退"<<endl;break;
	case 3:cout<<"請(qǐng)假"<<endl;break;
	case 4:cout<<"曠課"<<endl;break;
	default:;
	}
}

void pri(records *r)
{
	if(r->n==0)
	{
		cout<<"記錄為空!"<<endl;
		return;
	}
	cout<<"\n序號(hào)\t缺課日期      節(jié)次\t課程名稱\t學(xué)生姓名\t缺課類型"<<endl;
	for(int i=0;i<r->n;i++)
	{
		cout<<i<<"\t"<<flush;
		prione(r->r[i]);
	}
}

void edt(records *r)
{
	if(r->n==0)
	{
		cout<<"記錄為空!"<<endl;
		return;
	}
	cout<<"請(qǐng)輸入要修改缺課記錄的學(xué)生姓名: "<<flush;
	string t1,t3,t4;
	char tmp[30];
	int t2,t5,flag=0;
	cin>>tmp;
	t1.assign(tmp);
	for(int i=0;i<r->n;i++)
		if(r->r[i].sname==t1)
		{
			flag=7;
			break;
		}
	if(!flag)
	{
		cout<<"查無此學(xué)生!"<<endl;
		return;
	}
	t1=r->r[i].date;
	t2=r->r[i].cno;
	t3=r->r[i].cname;
	t4=r->r[i].sname;
	t5=r->r[i].type;
	cout<<"請(qǐng)輸入要修改的項(xiàng)目:\n(1.缺課日期 2.缺課節(jié)次 3.缺課名稱 4.學(xué)生姓名 5.缺課類型 6.全部) "<<flush;
e0:
	cin>>flag;
	switch(flag)
	{
	case 1:goto e1;
	case 2:goto e2;
	case 3:goto e3;
	case 4:goto e4;
	case 5:goto e5;
	case 6:goto e1;
	default:goto e0;
	}
e1:
	cout<<"請(qǐng)輸入缺課日期: (例如080612) "<<flush;
	cin>>t1;
	if(flag!=6)goto e6;
e2:
	cout<<"請(qǐng)輸入缺第幾節(jié)課: "<<flush;
	cin>>t2;
	if(flag!=6)goto e6;
e3:
	cout<<"請(qǐng)輸入缺課名稱: "<<flush;
	cin>>t3;
	if(flag!=6)goto e6;
e4:
	cout<<"請(qǐng)輸入缺課學(xué)生姓名: "<<flush;
	cin>>t4;
	if(flag!=6)goto e6;
e5:
	cout<<"請(qǐng)輸入缺課類型: (1.遲到 2.早退 3.請(qǐng)假 4.曠課) "<<flush;
	cin>>t5;
e6:
	r->r[i].set(t1,t2,t3,t4,t5);
	char yn;
	cout<<"保存修改? (y/n) "<<flush;
	cin>>yn;
	if(yn=='y')wt(r);
	else return;
}

void del(records *r)
{
	if(r->n==0)
	{
		cout<<"記錄為空!"<<endl;
		return;
	}
	cout<<"請(qǐng)輸入要?jiǎng)h除的記錄的序號(hào): (輸入-1刪除全部) "<<flush;
	int flag;
	cin>>flag;
	if(flag>r->n-1&&flag<-1)
	{
		cout<<"不存在所要?jiǎng)h除的記錄!"<<endl;
		return;
	}
	else if(flag==-1)r->n=0;
	else
	{
		for(int i=flag;i<r->n-1;i++)
			r->r[i].set(r->r[i+1]);
		r->n--;
	}
	char yn;
	cout<<"保存修改? (y/n) "<<flush;
	cin>>yn;
	if(yn=='y')wt(r);
	else return;
}

void search(records *r)
{
	if(r->n==0)
	{
		cout<<"記錄為空!"<<endl;
		return;
	}
	cout<<"請(qǐng)輸入要查詢的學(xué)生姓名: "<<flush;
	string str;
	int j=0,flag=0;
	cin>>str;
	for(int i=0;i<r->n;i++)
		if(r->r[i].sname==str)
		{
			if(!flag)cout<<"\n序號(hào)\t缺課日期      節(jié)次\t課程名稱\t學(xué)生姓名\t缺課類型"<<endl;
			cout<<j++<<"\t"<<flush;
			prione(r->r[i]);
			flag=1;
		}
	if(!flag)cout<<"沒有查到該學(xué)生的缺課記錄!"<<endl;	
}

void search_s(records *r)
{
	if(r->n==0)
	{
		cout<<"記錄為空!"<<endl;
		return;
	}
	records *r1=new records();
g1:
	cout<<"請(qǐng)輸入要檢索的時(shí)間范圍: (例如080610-080612) "<<flush;
	string tmp,ld,hd;
	cin>>tmp;
	ld.assign(tmp.substr(0,6));
	hd.assign(tmp.substr(7,6));
	if(!timechk(ld)||!timechk(hd))goto g1;
	for(int i=0;i<r->n;i++)
		if(r->r[i].date.compare(ld)>=0&&r->r[i].date.compare(hd)<=0&&r->r[i].type==4)
			r1->r[r1->n++].set(r->r[i]);
	cout<<"請(qǐng)選擇統(tǒng)計(jì)方式: (1.學(xué)生曠課情況降序顯示 2.課程曠課情況降序顯示)"<<flush;
g2:
	cin>>i;
	switch(i)
	{
	case 1:
		cout<<"\n在"<<ld<<"到"<<hd<<"期間學(xué)生曠課情況如下:"<<endl;
		r1->order_s();
		break;
	case 2:
		cout<<"\n在"<<ld<<"到"<<hd<<"期間課程曠課情況如下:"<<endl;
		r1->order_c();
		break;
	default:goto g2;
	}
}

void main()
{
c1:
	cout<<"\t\t學(xué)生考勤管理系統(tǒng) V1.0.0"<<endl
		<<endl
		<<"功能列表:"<<endl
		<<"1.顯示所有學(xué)生缺課記錄"<<endl
		<<"2.錄入學(xué)生的缺課記錄"<<endl
		<<"3.查詢某個(gè)學(xué)生的缺課情況"<<endl
		<<"4.修改某個(gè)學(xué)生的缺課記錄"<<endl
		<<"5.刪除某個(gè)學(xué)生的缺課記錄"<<endl
		<<"6.某段時(shí)間內(nèi)曠課情況的統(tǒng)計(jì)"<<endl
		<<"7.退出系統(tǒng)"<<endl
		<<"請(qǐng)選擇: (1/2/3/4/5/6/7) "<<flush;
	int cho;
c2:
	cin>>cho;
	if(cho==7)exit(0);
	records *r=new records();
	rd(r);
	switch(cho)
	{
	case 1:pri(r);break;
	case 2:input(r);break;
	case 3:search(r);break;
	case 4:edt(r);break;
	case 5:del(r);break;
	case 6:search_s(r);break;
	default:goto c2;
	}
	cout<<"返回功能列表? (y/n) "<<flush;
	char yn;
c3:
	cin>>yn;
	if(yn=='y')goto c1;
	else if(yn=='n')exit(0);
	else goto c3;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美aa在线视频| 国产精品高潮呻吟久久| 亚洲成人午夜电影| 欧美日韩美少妇 | 久久精品国产成人一区二区三区| 日韩午夜电影在线观看| 福利91精品一区二区三区| 久久久久久电影| 欧美体内she精视频| 国产成人在线视频免费播放| 亚洲成人一区二区| 亚洲国产精品成人综合色在线婷婷| 欧美日韩一区二区在线观看视频| 国产成人精品免费网站| 日韩电影免费在线看| 国产欧美一区二区精品仙草咪| 666欧美在线视频| 97国产一区二区| 国产精品系列在线观看| 免费观看91视频大全| 洋洋av久久久久久久一区| 久久久久久99久久久精品网站| 欧美色图在线观看| 暴力调教一区二区三区| 韩国精品久久久| 秋霞成人午夜伦在线观看| 亚洲色图都市小说| 欧美一二三四区在线| 欧美伊人久久久久久久久影院 | 一区二区不卡在线播放| 日本一区二区免费在线观看视频| 欧美一区三区四区| 欧美日韩在线不卡| av成人免费在线观看| 国产成人精品aa毛片| 精品中文av资源站在线观看| 午夜视频一区在线观看| 亚洲激情av在线| 国产精品网站在线| 久久日韩精品一区二区五区| 欧美一三区三区四区免费在线看| 欧美自拍偷拍午夜视频| 99vv1com这只有精品| 成人听书哪个软件好| 国产精品一二三区在线| 狠狠色丁香婷综合久久| 精品一区二区免费看| 日本色综合中文字幕| 美日韩一区二区| 日韩福利电影在线| 青青草97国产精品免费观看无弹窗版| 一片黄亚洲嫩模| 亚洲在线免费播放| 亚洲国产精品久久久久秋霞影院| 亚洲欧美偷拍三级| 一区二区三区视频在线看| 亚洲一区二区三区国产| 亚洲电影第三页| 图片区小说区国产精品视频| 亚洲成av人片在线观看| 亚洲18影院在线观看| 日韩国产欧美在线观看| 美女一区二区久久| 激情综合色播激情啊| 国产精品夜夜嗨| av欧美精品.com| 欧美性做爰猛烈叫床潮| 91麻豆精品91久久久久同性| 欧美一区二区三区日韩视频| 精品久久一二三区| 国产欧美日韩在线看| 日韩理论在线观看| 亚洲福利视频一区| 免费在线观看不卡| 国产精品亚洲人在线观看| 成人理论电影网| 欧美午夜电影网| 日韩免费福利电影在线观看| 26uuuu精品一区二区| 欧美国产综合色视频| 亚洲欧美欧美一区二区三区| 午夜欧美视频在线观看| 亚洲123区在线观看| 精品一区二区三区影院在线午夜| 国产高清久久久| 欧美亚洲自拍偷拍| 欧美精品一区二区三| 国产精品护士白丝一区av| 亚洲成人在线网站| 日本欧美一区二区三区乱码| 九九精品视频在线看| 国产不卡一区视频| 91网站黄www| 在线播放国产精品二区一二区四区 | av在线播放一区二区三区| 欧美影视一区在线| 欧美裸体bbwbbwbbw| 国产肉丝袜一区二区| 亚洲国产精品自拍| 日本成人超碰在线观看| 国产精品99久久久久久宅男| 色综合久久久久久久久久久| 欧美久久高跟鞋激| 欧美高清在线一区| 日韩专区在线视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产成人一级电影| 欧美日韩一区二区不卡| 欧美激情综合在线| 日日夜夜精品视频天天综合网| 成人毛片老司机大片| 日韩区在线观看| 国产精品美女久久久久高潮| 亚洲第一二三四区| 麻豆成人在线观看| 91浏览器入口在线观看| 国产欧美日韩精品在线| 婷婷久久综合九色国产成人| 国产一区三区三区| 在线精品亚洲一区二区不卡| 久久久精品国产免费观看同学| 日韩电影在线观看一区| 91国偷自产一区二区三区观看| 日本一区二区三区四区在线视频| 麻豆精品在线看| 6080午夜不卡| 亚洲第一精品在线| 在线观看91精品国产入口| 中文字幕一区二区三区在线不卡| 精品亚洲porn| 日韩欧美一二三| 日本成人在线网站| 欧美人成免费网站| 亚洲午夜在线视频| av午夜一区麻豆| 日本一区二区电影| 日本不卡在线视频| 在线观看av一区| 国产精品久久99| 粉嫩在线一区二区三区视频| 欧美成人精品1314www| 亚洲成av人片一区二区梦乃 | 国产超碰在线一区| 久久蜜桃av一区二区天堂| 美腿丝袜在线亚洲一区| 欧美一区二区三区在| 亚洲sss视频在线视频| 欧美三区在线视频| 亚洲国产欧美在线| 欧美日韩一级二级| 日韩精品电影一区亚洲| 制服丝袜在线91| 日本一不卡视频| 日韩欧美卡一卡二| 久久精品国产亚洲一区二区三区| 日韩一区二区三区三四区视频在线观看 | 国产传媒欧美日韩成人| 国产欧美综合在线观看第十页| 国产综合色视频| 国产精品婷婷午夜在线观看| 97久久精品人人做人人爽50路| 亚洲欧美偷拍卡通变态| 欧美羞羞免费网站| 蜜桃在线一区二区三区| 久久青草欧美一区二区三区| 成人av免费在线播放| 亚洲日本成人在线观看| 欧美亚洲动漫制服丝袜| 日韩和欧美一区二区| 精品电影一区二区三区 | 国产成人精品三级| 亚洲视频免费观看| 欧美日本一区二区三区| 狠狠色狠狠色综合系列| 国产精品国产三级国产aⅴ原创| 色婷婷精品大视频在线蜜桃视频| 亚洲成人自拍偷拍| 久久综合网色—综合色88| 成人av影院在线| 亚洲chinese男男1069| 日韩美女天天操| 99久久99久久免费精品蜜臀| 99久久精品久久久久久清纯| 亚洲国产欧美在线| 精品国产成人系列| 亚洲成a人在线观看| 国产女主播一区| 精品视频在线免费| 国产麻豆精品theporn| 亚洲天堂精品视频| 中文字幕一区二区三区精华液| 国产精品18久久久久久久网站| 在线观看欧美精品| 免费观看一级特黄欧美大片| 中文字幕中文在线不卡住| 精品国产乱码久久久久久久久| 欧美日韩高清不卡| 不卡的电影网站| 国产成人精品三级麻豆| 韩国精品在线观看|