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

📄 fcinputdlg.cpp

📁 编译原理的一个课程设计
💻 CPP
字号:
// FCInputDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FC.h"
#include "FCInputDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CFCInputDlg dialog

CFCInputDlg::CFCInputDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CFCInputDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFCInputDlg)
	m_Input = _T("");
	m_Message = _T("");
	//}}AFX_DATA_INIT
}


void CFCInputDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFCInputDlg)
	DDX_Text(pDX, IDC_INPUT, m_Input);
	DDX_Text(pDX, IDC_STATIC_MESSAGE, m_Message);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFCInputDlg, CDialog)
	//{{AFX_MSG_MAP(CFCInputDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFCInputDlg message handlers

int CFCInputDlg::InputInt(void)
{
	m_bInputInt=TRUE;
	m_Message="请输入一个整数:";
	m_Input="";
	DoModal();
	return atoi(m_Input);
}

double CFCInputDlg::InputDouble(void)
{
	m_bInputInt=FALSE;
	m_Message="请输入一个实数:";
	m_Input="";
	DoModal();
	return atof(m_Input);
}

void CFCInputDlg::OnCancel() 
{
	UpdateData(TRUE);
	int i,length=m_Input.GetLength();
	int signal=1;
	for(i=0;i<length && (m_Input[i]==' ' || m_Input[i]=='\t');i++);//跳过前导空格
	if(m_bInputInt)
	{
		if(i!=length &&(m_Input[i]=='+' || m_Input[i]=='-'))
			i++;
		if(i!=length)
		{
			for(;i<length && m_Input[i]>='0' && m_Input[i]<='9';i++);
			for(;i<length && (m_Input[i]==' ' || m_Input[i]=='\t');i++);//跳过后跟空格
			if(i==length)
			{
				CDialog::OnCancel();
				return;
			}
		}
		MessageBox("请输入一个整数!","FC 2.2",MB_OK|MB_ICONEXCLAMATION);
		GetDlgItem(IDC_INPUT)->SetFocus();
		((CEdit*)GetDlgItem(IDC_INPUT))->SetSel(0,-1);
	}
	else
	{
		if(i!=length &&(m_Input[i]=='+' || m_Input[i]=='-'))
			i++;
		if(i!=length)
		{
			for(;i<length && m_Input[i]>='0' && m_Input[i]<='9';i++);
			if(i<length && m_Input[i]=='.')
				for(i++;i<length && m_Input[i]>='0' && m_Input[i]<='9';i++);
			for(;i<length && (m_Input[i]==' ' || m_Input[i]=='\t');i++);//跳过后跟空格
			if(i==length)
			{
				CDialog::OnCancel();
				return;
			}
		}
		MessageBox("请输入一个实数!","FC 2.2",MB_OK|MB_ICONEXCLAMATION);
		GetDlgItem(IDC_INPUT)->SetFocus();
		((CEdit*)GetDlgItem(IDC_INPUT))->SetSel(0,-1);
	}
}

⌨️ 快捷键说明

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