📄 cifadlg.cpp
字号:
// CifaDlg.cpp : implementation file
//
#include "stdafx.h"
#include "词法分析.h"
#include "CifaDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCifaDlg dialog
CCifaDlg::CCifaDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCifaDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCifaDlg)
m_Ylist = _T("");
m_Mlist = _T("");
//}}AFX_DATA_INIT
}
void CCifaDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCifaDlg)
DDX_Text(pDX, IDC_ydaima, m_Ylist);
DDX_Text(pDX, IDC_jieguo, m_Mlist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCifaDlg, CDialog)
//{{AFX_MSG_MAP(CCifaDlg)
ON_BN_CLICKED(IDC_OK, OnOk)
ON_BN_CLICKED(IDC_GUANJIANZI, OnGuanjianzi)
ON_BN_CLICKED(IDC_YUNSUANFU, OnYunsuanfu)
ON_BN_CLICKED(IDC_JIEFU, OnJiefu)
ON_BN_CLICKED(IDC_FENXI, OnFenxi)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCifaDlg message handlers
void CCifaDlg::OnOk()
{
// TODO: Add your control notification handler code here
CDialog::OnOK();
}
void CCifaDlg::OnGuanjianzi()
{
// TODO: Add your control notification handler code here
LPCTSTR lpszFilter="txt Files(*.txt)|*.txt|*.txt|任何文件|*.*||";
CFileDialog dlg1(TRUE,lpszFilter,NULL,OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,lpszFilter,NULL);
CString filename;
CStdioFile file;
CString s;
//打开文件对话框
if(dlg1.DoModal()==IDOK)
{
filename=dlg1.GetPathName();
if(file.Open(filename,CFile::modeRead|CFile::shareDenyNone|CFile::typeText,NULL)==0)
{
AfxMessageBox("无法打开文件!",MB_OK,0);
return;
}
}
while(file.ReadString(s))
gjz.Add(s);
}
void CCifaDlg::OnYunsuanfu()
{
// TODO: Add your control notification handler code here
LPCTSTR lpszFilter="txt Files(*.txt)|*.txt|*.txt|任何文件|*.*||";
CFileDialog dlg1(TRUE,lpszFilter,NULL,OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,lpszFilter,NULL);
CString filename;
CStdioFile file;
CString s;
//打开文件对话框
if(dlg1.DoModal()==IDOK)
{
filename=dlg1.GetPathName();
if(file.Open(filename,CFile::modeRead|CFile::shareDenyNone|CFile::typeText,NULL)==0)
{
AfxMessageBox("无法打开文件!",MB_OK,0);
return;
}
}
while(file.ReadString(s))
ysf.Add(s);
}
void CCifaDlg::OnJiefu()
{
// TODO: Add your control notification handler code here
LPCTSTR lpszFilter="txt Files(*.txt)|*.txt|*.txt|任何文件|*.*||";
CFileDialog dlg1(TRUE,lpszFilter,NULL,OFN_HIDEREADONLY|
OFN_OVERWRITEPROMPT,lpszFilter,NULL);
CString filename;
CStdioFile file;
CString s;
//打开文件对话框
if(dlg1.DoModal()==IDOK)
{
filename=dlg1.GetPathName();
if(file.Open(filename,CFile::modeRead|CFile::shareDenyNone|CFile::typeText,NULL)==0)
{
AfxMessageBox("无法打开文件!",MB_OK,0);
return;
}
}
while(file.ReadString(s))
jf.Add(s);
}
void CCifaDlg::OnFenxi()
{
// TODO: Add your control notification handler code here
int len,i,j,flag=0,k;
CString s="";
CString c="";
UpdateData(TRUE);
len=m_Ylist.GetLength();
/*for(i=0;i<ysf.GetSize();i++)
m_Mlist+=ysf[i];*/
i=0;
while(i<len)
{
flag=0;
k=0;
for(j=0;j<ysf.GetSize();j++)
{
if(i<len-1)
{
c+=m_Ylist[i];
c+=m_Ylist[i+1];
if(c==ysf[j])
{
m_Mlist+="<4,\"";
m_Mlist+=ysf[j];
m_Mlist+="\">\r\n";
flag=1;
k=1;
break;
}
}
if(m_Ylist[i]==ysf[j]&&flag==0)
{
m_Mlist+="<4,\"";
m_Mlist+=m_Ylist[i];
m_Mlist+="\">\r\n";
flag=1;
break;
}
}
if(flag==0)
{
for(j=0;j<jf.GetSize();j++)
{
if(m_Ylist[i]==jf[j])
{
m_Mlist+="<5,\"";
m_Mlist+=m_Ylist[i];
m_Mlist+="\">\r\n";
flag=1;
break;
}
}
}
if(/*(flag==1&&s!="")||(*/s!=""&&m_Ylist[i]==' ')
{
for(j=0;j<gjz.GetSize();j++)
{
if(s==gjz[j])
{
m_Mlist+="<1,\""+s+"\">\r\n";
s="";
flag=1;
break;
}
}
}
if((flag==1&&s!="")||(s!=""&&m_Ylist[i]==' '&&m_Ylist[i]=='\t'))
{
if(s[0]>='0'&&s[0]<='9')
m_Mlist+="<3,\""+s+"\">\r\n";
else
m_Mlist+="<2,\""+s+"\">\r\n";
s="";
flag=1;
}
else{
if(flag!=1&&m_Ylist[i]!=' '&&m_Ylist[i]!='\n'&&m_Ylist[i]!='\r'&&m_Ylist[i]!='\t')
s+=m_Ylist[i];
}
i+=k+1;
}
UpdateData(FALSE);
}
void CCifaDlg::OnCancel()
{
// TODO: Add extra cleanup here
m_Ylist="";
m_Mlist="";
UpdateData(FALSE);
//CDialog::OnCancel();
}
/*
main()
{
int a,b;
a = 10;
b = a + 20;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -