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

📄 cteacher.cpp

📁 考试管理系统
💻 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 + -