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

📄 datamtnce.h

📁 一个在线考试系统的代码。功能包括考试科目管理
💻 H
字号:
// DataMtnce.h: interface for the DataMtnce class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DATAMTNCE_H__152BF26F_0D15_4634_BBEF_BA33BAE902C0__INCLUDED_)
#define AFX_DATAMTNCE_H__152BF26F_0D15_4634_BBEF_BA33BAE902C0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class DataMtnce  
{
private:
	CString m_strAdminPswd;			//administrator's password
	int m_iAdminID;				//管理员ID
	int m_iTotalTime;
	int m_iHour;
	int m_iMinute;
	int m_iSecond;
	int m_iscore;					//学生成绩
	int * m_iSJudgementArr;		//记录学生的判断
	int * m_iSSelectionArr;		//记录学生的选择
	int m_iJdgNum;				//判断题数量
	CString m_strInfoNotify;	//提示消息
	CString m_strSelBaseName;	//选择题题库名
	CString m_strBlkBaseName;	//填空题题库名
	CString m_strJdgBaseName;	//判断题题库名
	int m_iSelSqnce;			//当前所做的选择题序号
	int m_iBlkSqnce;			//当前所做的填空题序号
	int m_iJdgSqnce;			//当前所做的判断题序号
	int * m_iSelIDs;			//选择题ID号数组
	int * m_iBlkIDs;			//填空题ID号数组
	int * m_iJdgIDs;			//判断题ID号数组
	BOOL * m_bSelCmplted;		//记录每道选择题的完成状态
	BOOL * m_bBlkCmplted;		//记录每道填空题的完成状态
	BOOL * m_bJdgCmplted;		//记录每道判断题的完成状态
	int m_iSubjct;				//科目ID
	enum UserType{user_stdnt,user_tchr,user_admin,user_none} m_eUserType;	//登录用户类型
	CString m_strTchrPsw;			//教师密码
	int m_iTeacherID;				//教师ID
	BOOL m_bHasLogged;				//学生是否登录过
	int m_iStdntID;							//学号
	CString m_strStdntNm;					//姓名
	CString m_strSubject;					//考试科目
	int m_iQuestionID;						//试题ID
	CString m_strQstn;					//选择题内容
	enum QstnType{sel,blk,jdg} m_eQstnType;				//试题类型
	CString m_strQstnAns;				//试题答案
	CString m_strSlctAnsA;				//选择题选项A
	CString m_strSlctAnsB;				//选择题选项B
	CString m_strSlctAnsC;				//选择题选项C
	CString m_strSlctAnsD;				//选择题选项D
	int m_iSlctNum;						//选择题数量
	int m_iBlkNum;						//填空题数量
	CString m_strSAns;					//学生提交的答案
public:
	void UpdateQstionID(CString basename);
	int TReadJdgAns(int qstionid);
	CString TReadBlkAns(int qstionid);
	void TReadSelAns(int qstionid);
	BOOL HaveGeneratedJdg(int temp, int *titlenum);
	BOOL HaveGeneratedBlk(int temp,int *titlenum);
	int CalRightNum();
	void GeneratRandomJdg(int *arr, int num);
	void GeneratRandomBlk(int *arr,int num);
	int GetRecordNum(CString base);
	CString ReadAdminPswd(int adminid);
	void SetAdminID(int adminid);
	int ReadTotalTime(CString subjct);
	void SetTotalTime(CString subjct,int itime);
	int GetJdgQstionNum(CString subjct);
	void SetJdgNum(CString subjcttemp,int numblk);
	int GetBlkQstionNum(CString subjct);
	int GetTotalTime();
	int ReadTime();
	int GetSecond();
	int GetMinute();
	int GetHour();
	BOOL CountDown();
	void InitTime(int itime);
	void SetLogFlag(int Stdntid);
	CString GetResult();
	int GetSJudgement();
	BOOL CheckJdgResult();
	void WriteJdgResult();
	void SetSJudgement(int judgement);
	void SetSJdgAns(int judgement);
	int * GetJdgIDArr();
	void InitJdgArr();
	void InitSJudgementArr();
	void SetJdgAns();
	CString GetJdgQstion(int idJdg);
	int GetJdgID();
	CString ReadSBlkAns();				//从数据库中读出学生提交的当前填空题的答案
	BOOL CheckBlkResult();				//检查填空题的答题结果
	void WriteBlkResult();				//把当前填空题的学生答案、标准答案等写入数据库
	void SetSBlkAns(CString blkans);	//设置成员变量m_strSAns为学生答案
	int * GetBlkIDArr();				//获取填空题ID数组
	void InitBlkArr();					//初始化填空题ID数组
	void SetBlkAns();					//去数据库中读出当前填空题标准答案并设置成员变量m_strQstionAns
	int GetBlkID();						//获取填空题ID
	CString GetBlkQstion(int idblk);	//获取当前填空题的题目
	void InitSSelectionArr();			//初始化学生提交的选项数组
	int GetSSelection();				//获取当前题目学生的选择是什么
	void SetSSelection(int selct);		//记录当前题目的学生选择
	void WriteSelResult();				//向数据库中写选择题的答题结果
	BOOL CheckSelResult();					//检查学生提交的答案与标准答案是否符合
	BOOL CheckCmplted(CString & temp);		//检查是否有未答的题,如果有,则把temp设置为提示语句
	int GetJdgNum(CString subject);			//获取判断题数量
	void InitCmpltedArr();					//初始化题目完成状态的数组为false
	void SetSAns(int selct);				//检查当前题目是否做过,并设置学生提交的答案,这里selct为学生选择的选项
	CString GetAnsD();
	CString GetAnsC();
	CString GetAnsB();
	CString GetAnsA();
	void SetSelAns();
	void DecrsCurQstionSeq();
	void IncrsCurQstionSeq();
	int GetQstionType();
	void SetQstionTypeJdg();
	void SetQstionTypeBlk();
	void SetQstionTypeSel();
	int GetSelID();
	CString GetSelQstion(int idqstion);				//根据试题ID号从数据库中获取选择题题目
	CString GetSelBase(CString subjct);		//获取选择题数据库名
	CString GetBlkBase(CString subjct);		//获取填空题数据库名
	CString GetJdgBase(CString subjct);		//获取判断题数据库名
	int GetJdgSeqnce();						//获取当前所做的判断题序号
	int GetBlkSeqnce();						//获取当前所做的填空题序号
	int GetSelSeqnce();						//获取当前所做的选择题序号
	void DecreaseJdg();						//当前所做的判断题序号-1
	void DecreaseBlk();						//当前所做的填空题序号-1
	void DecreaseSel();						//当前所做的选择题序号-1
	void IncreaseJdg();						//当前所做的判断题序号+1
	void IncreaseBlk();						//当前所做的填空题序号+1
	void IncreaseSel();						//当前所做的选择题序号+1
	void InitSqnceNum();					//初始化所有题型的当前所做题的序号为0					
	int GetQstionNum(CString subjct);		//根据subject所指定的科目的选择题题量
	int * GetSelIDArr();					//获取存储了随机抽取的选择题ID号的数组的指针
	BOOL HaveGenerated(int temp,int *titlenum);
	void GeneratRandom(int * arr,int num);
	void InitSelArr();						//初始化选择题ID号数组
	CString SGetsubjct();
	void SSetSubjct(CString str);
	CString GetSName(int sid);
	void SetStdntID(int stdtid);				//设置学生学号
	void SetBlkNum(CString subjct,int num);		//设置填空题数量
	void SetSelNum(CString subjct,int num);		//设置选择题数量
	int GetSelNum(CString subjcttemp);			//获取选择题数量
	void SetSelSubjct(CComboBox * ctrsetsubject);	//动态设置题量设置对话框中的下拉框
	void SetUserTypeTchr();							//把用户类型设置为教师
	void SetUserTypeStdnt();						//把用户类型设置为学生
	void SetUserTypeAdmin();						//把用户类型设置为管理员
	void SetUserTypeNone();							//把用户类型设置为无类型。此时应是未登录状态
	int GetUserType();								//获取当前登录用户类型
	CString GetPswd(int tchrID);//根据参数传进来的教师ID号,去数据库中查询该教师的登录密码并返回其值
	void SetTchrID(int tchrID);//根据教师登录对话框中教师的ID号设置m_TeacherID
	void SetLogFlagFalse(int studentID);//把学生登录状态设置为未登录。该方法只有教师和管理员模块有权调用
	int GetBlkNum(CString subject);//获取填空题数量
	BOOL GetLogFlag(int studentID);//获取当前学生的登录状态
	void SetLogFlagTrue(int studentID);//把学生登录状态设置为已登录,该方法应该在每次学生登录后调用
	DataMtnce();
	virtual ~DataMtnce();

};

#endif // !defined(AFX_DATAMTNCE_H__152BF26F_0D15_4634_BBEF_BA33BAE902C0__INCLUDED_)

⌨️ 快捷键说明

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