📄 cteacher.cpp
字号:
#include "main.h"
/**************************************************
* 函数名: GetCor()
* 参数:
* 形参:
* 返回值: int
* 功能:
* 计算最大试卷数
* 作者: 张燕飞
* 编写明细:
* 完成时间 09.2.18 作者名 张燕飞
**************************************************/
int CTeacher::GetCor()//计算最大试卷数
{
const int cnt=1024;
char ch[cnt];
int num=0;
memset(ch,'\0',1024);
ifstream Fr(READEXAM,ios::in|ios::binary);
if(Fr.fail())
{
CShow* pTempCShow = new CShow;
pTempCShow->ShowFailRead();
delete pTempCShow;
return -1;
}
do
{
Fr.getline(ch,cnt);
if(ch[0]=='#')
{
num++;
}
} while(!Fr.eof());
Fr.close();
m_cor=num;
return m_cor;
}
/**************************************************
* 函数名: GetPaper
* 参数:
* 形参: int nCor : 试卷号
* 返回值: 无
* 功能:
* 获得选择的试卷
* 作者: 张燕飞
* 编写明细:
* 完成时间 09.2.18 作者名 张燕飞
**************************************************/
void CTeacher::GetPaper (int nCor)//获得选择的试卷
{
int n=0;
int nCout=0;
const int cnt=1024;
char ch[cnt];
char buf[10];
memset(buf,'\0',10);
memset(ch,'\0',1024);
if(nCor<m_cor)
{
ifstream Fr(READEXAM,ios::in|ios::binary);
if(Fr.fail()) return ;
itoa(nCor,buf,5);
do
{
Fr.getline(ch,cnt);
if(ch[31]==buf[0]||(ch[31]==buf[0]&&ch[32]==buf[1]))
{
do
{
Fr.getline(ch,cnt);
if (ch[0]!='#')
{
strcpy(m_Paper[n],ch);
n++;
}
else
{
break;
}
}while(ch[0]!='\0');
}
} while(!Fr.eof());
Fr.close();
}
else
{
ifstream Fr(READEXAM,ios::in|ios::binary);
if(Fr.fail()) return ;
do
{
Fr.getline(ch,cnt);
if(ch[0]=='#')
{
nCout++;
if(nCout==nCor)
{
do
{
Fr.getline(ch,cnt);
strcpy(m_Paper[n],ch);
n++;
}while(!Fr.eof());
}
}
} while(!Fr.eof());
Fr.close();
}
m_time=n;
}
/**************************************************
* 函数名: show()
* 参数:
* 形参:
* 返回值: 无
* 功能:
* 显示选择的试卷
* 作者: 张燕飞
* 编写明细:
* 完成时间 09.2.18 作者名 张燕飞
**************************************************/
void CTeacher::show()
{
for(int j=0;j<m_time;++j)
{
cout << m_Paper[j] << endl;
}
}
/**************************************************
* 函数名: TchOpt()
* 参数:
* 形参:
* 返回值: 无
* 功能:
* 对教师部分进行控制
* 作者: 张燕飞
* 编写明细:
* 完成时间 09.2.18 作者名 张燕飞
**************************************************/
void CTeacher::TchOpt()
{
char ch = getch();
if (ch == 27)
{
cout << endl;
exit(-1);
}
while (ch<=48 || ch>53)
{
ch = getch();
}
system("cls");
int nTemp = atoi(&ch);
GetCor();
GetPaper (nTemp);
show();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -