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

📄 ccheck.cpp

📁 检查一个C语言源程序的配对情况,如有不配对的情况 则说明具体位置
💻 CPP
字号:
#include "Check.h"
CCheck::CCheck(char sign,int rows)
{
	m_sSign=sign;
	row=m_row=rows;
	switch(m_sSign)
	{
	case '(':
		this->m_eSign=')';
		break;
	case '[':
		this->m_eSign=']';
		break;
	case '{':
		this->m_eSign='}';
	}
}
bool CCheck::IsOK(ifstream& infile)
{
	char ch;
	infile.get(ch);
	while(infile)
	{
		//start
		if(ch==this->m_eSign)
			return true;
		else
		{
			switch(ch)
			{
			case '(':
			case '{':
			case '[':
				CCheck* sign;
				sign=new CCheck(ch,row);
				if(!sign->IsOK(infile))
					cout<<"第"<<sign->m_row<<"行"<<sign->m_sSign<<"配对失败"<<endl;
				row=sign->row;
				break;
			case ']':
				cout<<"第"<<row<<"行"<<"'['配对失败"<<endl;
				break;
			case '\n':
				row++;
				break;
			case ')':
			case '}':
				infile.seekg(-1,ios::cur);
				return false;
			}
		}
		//end
		infile.get(ch);
	}
	return false;
}

⌨️ 快捷键说明

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