📄 class.h
字号:
#include "students.h"
class Class
{
private:
int count;
student* per;
public:
Class()
{
//
// TODO: 在此处添加构造函数逻辑
//
count = 1024;
per =new student[count];
for(int i=0;i<count;i++)
{
per[i] = student();
//test code here
per[i].setSeq("没有加载班级文件!");
per[i].setID("没有加载班级文件!");
per[i].setName("没有加载班级文件!");
}
//should call InitData() here
}
void Clear(){
for(int i=0;i<count;i++)
{
per[i] = student();
//test code here
per[i].setSeq("");
per[i].setID("");
per[i].setName("");
}
}
void InitData()
{
CString strFileOpen;
BOOL bOpenFileDialog;
LPCTSTR lpszDefExt = NULL;
LPCTSTR lpszFileName = NULL;
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
LPCTSTR lpszFilter = NULL;
CWnd* pParentWnd = NULL;
//ready for open a file to read
bOpenFileDialog = TRUE;
lpszDefExt = _T("txt");
lpszFileName = _T("stu");
char BASED_CODE szFilter[] = "Default Rule Files (*.txt)|*.txt|All Files (*.*)|*.*||";
lpszFilter = szFilter;
CFileDialog fopen_dlg(bOpenFileDialog,lpszDefExt,lpszFileName,dwFlags,lpszFilter,pParentWnd);
if(fopen_dlg.DoModal() == IDOK)
{
Clear(); //clear data first
CFile cf;
int len = 0;
int i = 0,j = 0;
int c=0,pos;
char cbuffer[4096],buf[128];
CString seq,name,no;
BOOL br = false;
if(cf.Open(fopen_dlg.GetFileName(),CFile::modeRead)){
len = cf.Read(cbuffer,4096);
if(len > 0)
{
j=0;
pos = 0;
memset(buf,0,128);
while( i < len ){
while(cbuffer[i] != ' '
&& cbuffer[i] != '\t'
&& cbuffer[i] != '\n'
&& cbuffer[i] != '\r')
buf[j++] = cbuffer[i++];
switch(pos++){
case 0:
seq = buf;
break;
case 1:
no = buf;
break;
case 2:
name = buf;
break;
}
memset(buf,0,128);
j = 0;
while(cbuffer[i] == ' '
|| cbuffer[i] == '\t') i++;
if(pos >= 3 )
{
//赋值
per[c].setSeq(seq);
per[c].setID(no);
per[c].setName(name);
pos = 0;
memset(buf,0,128);
c++; //把数组地址加1以便存放下一个数据
seq = "";
no = "";
name = "";
while(cbuffer[i] != 0x0d && cbuffer[i] != 0x0a) i++;
}
while(cbuffer[i] == ' '
|| cbuffer[i] == '\t'
|| cbuffer[i] == 0x0d
|| cbuffer[i] == 0x0a)
i++;
}
}
count = c; //把count的值设成正确的数值
cf.Close();
}
}
}
Person getPerson(int i)
{
return count==0? per[i]:per[i%count];
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -