📄 test.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 + -