⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.cpp

📁 这是用C++编的一个简单的宿舍管理系统
💻 CPP
字号:
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include "test.h"
//***************************************************

int Fac_NO1[4]={0};//电信系四个专业的实收人数
int Fac_NO2[2]={0};//外语系二个专业的实收人数
int Fac_NO3[5]={0};//中文系五个专业的实收人数
int Fac_NO4[3]={0};//土建系三个专业的实收人数
int Fac_NO5[2]={0};//体育系二个专业的实收人数

//***************************************************

int A_Dorm[7][30][4]={0};
int B_Dorm[7][20][4]={0};//A幢宿舍(男生宿舍)和B幢宿舍(女生宿舍)
//***************************************************
//获取学生号
void student::Gain_NO(int Number)
{
	char buf1[10],buf2[4];
	Number=Number+1000;
	itoa(Number,buf2,10);
	itoa(Speciality,buf1,10);
	buf2[0]=buf2[1];
	buf2[1]=buf2[2];
	buf2[2]=buf2[3];
	buf2[3]='\0';
	strcat(buf1,buf2);
	cout<<buf1<<endl;
	strcpy(ID_NO,buf1);
	cout<<"NO.:"<<ID_NO<<endl;
}
void student::Get_NO()
{
//	char buf1[3],buf2[3];
	switch(Department)
	{
	case 1:
		if(Speciality==101) 
		{
			Fac_NO1[0]++;
			Gain_NO(Fac_NO1[0]);
		}
		if(Speciality==102)
		{
			Fac_NO1[1]++;
			Gain_NO(Fac_NO1[1]);
		}
		if(Speciality==103)
		{
			Fac_NO1[2]++;
			Gain_NO(Fac_NO1[2]);
		}
		if(Speciality==104)
		{
			Fac_NO1[3]++;
			Gain_NO(Fac_NO1[3]);
		}
		break;
	case 2:
		if(Speciality==201)
		{
			Fac_NO2[0]++;
			Gain_NO(Fac_NO2[0]);
		}
		if(Speciality==202)
		{
			Fac_NO2[1]++;
			Gain_NO(Fac_NO2[1]);
		}
		break;
	case 3:
		if(Speciality==301)
		{
			Fac_NO3[0]++;
			Gain_NO(Fac_NO3[0]);
		}
		if(Speciality==302)
		{
			Fac_NO3[1]++;
			Gain_NO(Fac_NO3[1]);
		}
		if(Speciality==303)
		{
			Fac_NO3[2]++;
			Gain_NO(Fac_NO3[2]);
		}
		if(Speciality==304)
		{
			Fac_NO3[3]++;
			Gain_NO(Fac_NO3[3]);
		}
		if(Speciality==305)
		{
			Fac_NO3[4]++;
			Gain_NO(Fac_NO3[4]);
		}
		break;
	case 4:
		if(Speciality==401)
		{
			Fac_NO4[0]++;
			Gain_NO(Fac_NO4[0]);
		}
		if(Speciality==402)
		{
			Fac_NO4[1]++;
			Gain_NO(Fac_NO4[1]);
		}
		if(Speciality==403)
		{
			Fac_NO4[2]++;
			Gain_NO(Fac_NO4[2]);
		}
		break;
	case 5:
		if(Speciality==501)
		{
			Fac_NO5[0]++;
			Gain_NO(Fac_NO5[0]);
		}
		if(Speciality==502)
		{
			Fac_NO5[1]++;
			Gain_NO(Fac_NO5[1]);
		}
		break;
	}
	tag=1;
}

//***************************************************
//打印课程表
void student::Get_schedule()
{
	char buf[20];
	switch(Department)
	{
	case 1: strcpy(buf,"electrict.txt");break;
	case 2: strcpy(buf,"forigen.txt");break;
	case 3: strcpy(buf,"chinese.txt");break;
	case 4: strcpy(buf,"build.txt");break;
	case 5: strcpy(buf,"gym.txt");break;
	}
	ifstream inFile(buf);
	if(!inFile)
	{
		cout<<"error opening schedule!\n";
		exit(1);
	}
	char one[80]=" ";
	while(!inFile.eof())
	{
		inFile.getline(one,sizeof(one));
		cout<<one<<endl;
	}
}

//***************************************************
//交纳学费
void student::Tuition()
{
	int buf,T_buf,D_buf,s,d;
	if(Speciality==101) T_buf=WEB;
	else if(Speciality==502) T_buf=GYM_ADD;
	else T_buf=MOST;
	cout<<"是否住宿?(1.是,2.否):";
	cin>>d;
	switch(d)
	{
	case 1: Inorext=1;D_buf=DORMPAY;break;
	case 2: Inorext=0;D_buf=0;break;
	}
	cout<<"1.住宿费:"<<D_buf<<"元"<<endl;
	cout<<"2.学费:"<<T_buf<<"元"<<endl;
	buf=T_buf+D_buf;
	tuition=buf;
	cout<<"你所需交纳的学费为:"<<buf<<"元"<<endl;
	cout<<"是否立即交纳(1.否(缓交),2.是):";
	cin>>s;
	switch(s)
	{
	case 1: flat=0;break;
	case 2: flat=1;break;
	}
}

//***************************************************
//分配宿舍号
void student::Assign_Dorm_NO(int f,int d,int b,int e)
{
	int flag=0;
	int i=f,j=d,k=b;
	for(;i<=6;i++)			//层
	{
		for(;j<e;j++)		//宿舍号
		{				
			for(;k<4;k++)	//床号
			{	
				if(Sex=='M'||Sex=='m')
				{
					if(A_Dorm[i][j][k]==0) 
					{
						flag=1;
						A_Dorm[i][j][k]=1;
						break;
					}
				}
				if(Sex=='F'||Sex=='f')
				{
					if(B_Dorm[i][j][k]==0)
					{
						flag=1;
						B_Dorm[i][j][k]=1;
						break;
					}
				}
				if(k+1>=4) k=0;
			}
			if(flag) break;
			else if(j+1>=e) j=0;
		}
		if(flag) break;
	}
	Dorm_ID=(i+1)*100+j+1;
	Bed_ID=k+1;
	cout<<Dorm_ID<<"  "<<Bed_ID<<endl;
}
//***************************************************
//获取宿舍号
void student::Get_Dorm_ID()
{
	int Floor,Dorm_NO,Bed_NO=0,EFDorm/*每一层的间数A:30,B:20*/;
	if(Sex=='M'||Sex=='m')
	{
		EFDorm=30;
		switch(Speciality)
		{
		case 101:Floor=0;Dorm_NO=0;break;		//101-115
		case 102:Floor=0;Dorm_NO=15;break;		//116-205
		case 103:Floor=1;Dorm_NO=5;break;		//206-223.2
		case 104:Floor=1;Dorm_NO=22;Bed_NO=2;break;//223.3-310
		case 201:Floor=2;Dorm_NO=10;break;		//311-316
		case 202:Floor=2;Dorm_NO=16;break;		//317-320
		case 301:Floor=2;Dorm_NO=20;break;		//321-328
		case 302:Floor=2;Dorm_NO=28;break;		//329-408
		case 303:Floor=3;Dorm_NO=8;break;		//409-413
		case 304:Floor=3;Dorm_NO=13;break;		//414-418
		case 305:Floor=3;Dorm_NO=18;break;		//419-428
		case 401:Floor=3;Dorm_NO=28;break;		//429-505
		case 402:Floor=4;Dorm_NO=5;break;		//506-514
		case 403:Floor=4;Dorm_NO=14;break;		//515-522
		case 501:Floor=4;Dorm_NO=22;break;		//523-602
		case 502:Floor=5;Dorm_NO=2;break;		//603-610
		}
	}
	if(Sex=='F'||Sex=='f')
	{
		EFDorm=20;
		switch(Speciality)
		{
		case 101:Floor=0;Dorm_NO=0;break;		//101-107
		case 102:Floor=0;Dorm_NO=7;break;		//108-112
		case 103:Floor=0;Dorm_NO=12;break;		//113-118.2
		case 104:Floor=0;Dorm_NO=17;Bed_NO=2;break;//118.3-203
		case 201:Floor=1;Dorm_NO=3;break;		//204-219
		case 202:Floor=1;Dorm_NO=19;break;		//220-315
		case 301:Floor=2;Dorm_NO=15;break;		//316-406
		case 302:Floor=3;Dorm_NO=6;break;		//407-416
		case 303:Floor=3;Dorm_NO=16;break;		//417-504
		case 304:Floor=4;Dorm_NO=4;break;		//505-516
		case 305:Floor=4;Dorm_NO=16;break;		//517-607
		case 401:Floor=5;Dorm_NO=7;break;		//608-609
		case 402:Floor=5;Dorm_NO=9;break;		//610-611
		case 403:Floor=5;Dorm_NO=11;break;		//612-615
		case 501:Floor=5;Dorm_NO=15;break;		//616-703
		case 502:Floor=6;Dorm_NO=3;break;		//704-705
		}
	}
	Assign_Dorm_NO(Floor,Dorm_NO,Bed_NO,EFDorm);
}
//***************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -