input.cpp

来自「《c++ 实践之路》光盘中的源代码」· C++ 代码 · 共 37 行

CPP
37
字号
// (c) Bartosz Milewski 2000

#include "Input.h"
#include <iostream>
#include <cctype>
#include <cstdlib>
#include <cassert>

Input::Input ()
{
	std::cin >> _buf;

	// first char of input is usually enough to decide
	// what token it is

	int c = _buf [0]; 

	if (std::isdigit (c))
		_token = tokNumber;
	else if (c == '+' || c == '*' || c == '/')
		_token = c;
	else if (c == '-') // allow entering negative numbers
	{
		if (std::isdigit (_buf [1])) // peek at next char
			_token = tokNumber;
		else
			_token = c;
	}
	else
		_token = tokError;
}

int Input::Number () const
{
	assert (_token == tokNumber);
	return std::atoi (_buf);   // convert string to integer
}

⌨️ 快捷键说明

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