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