operation.cpp

来自「是个银行柜面系统软件」· C++ 代码 · 共 43 行

CPP
43
字号
#include "operation.h"

const int BASE = 10;

Operation::Operation(int m) : opr_sum(m)
{
}

bool Operation::is_draw()
{
	return opr_sum < 0;
}

istream& operator>> (istream& is, Operation& opr)
{
	char* buffer = new char[8];
	for (int i=0; i<8; i++)
		buffer[i] = ' ';
	is.getline(buffer, 8);

	int value = 0;
	int scale = 1;
	for (int pos=1; buffer[pos] != ' '; pos++);
	for (i = pos-1; i>0; i--) {
		int digit = buffer[i] - '0'; // retrieve the digit at pos
		value += digit * scale;
		scale *= BASE;
	}
	if (*buffer == '-') { // operation: draw money
		opr.opr_sum = -value;
	}
	else if (*buffer == '+') { // operation: deposite money
		opr.opr_sum = value;
	}
	
	return is;
}

ostream& operator<< (ostream& os, const Operation& opr)
{
	os << opr.opr_sum;
	return os;
}

⌨️ 快捷键说明

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