errorreport.cpp

来自「计算IsingModel的磁化强度」· C++ 代码 · 共 77 行

CPP
77
字号
#include <stdio.h>
#include "errorreport.h"

CErrorReport::CErrorReport( char *filename )
{
	fp = fopen( filename, "w" );
	if( fp == NULL )
		m_bSuccess = false;
	m_bSuccess = true;
}

CErrorReport::CErrorReport(void)
{
	m_bSuccess = false;
}

void CErrorReport::SetOutput( char *fname )
{
	if( m_bSuccess )
		fclose(fp);
	fp = fopen( fname, "w" );
	if( fp == NULL )
		m_bSuccess = false;
	m_bSuccess = true;
}

bool CErrorReport::IsOK()
{
	return m_bSuccess;
}

void CErrorReport::AppendLog( unsigned long ulStep, int iTotalM )
{
	if( m_bSuccess )
		fprintf( fp, "%u\t%d\n", ulStep, iTotalM );
}

void CErrorReport::AppendLog( unsigned long ulStep, double dAvgM )
{
	if( m_bSuccess )
		fprintf( fp, "%u\t%.6f\n", ulStep, dAvgM );
}

void CErrorReport::WriteString( char* pcMsg )
{
	if( m_bSuccess )
		fprintf( fp, "%s\n", pcMsg );
}

void CErrorReport::WriteInt( char* pStrDesc, int iValue )
{
	if( m_bSuccess )
		fprintf( fp, "%s: %d\n", pStrDesc, iValue );
}

void CErrorReport::WriteDouble( char* pStrDesc, double dValue )
{
	if( m_bSuccess )
		fprintf( fp, "%s: %.6f\n", pStrDesc, dValue );
}

void CErrorReport::WriteDoubleEL( double dValue )
{
	if( m_bSuccess )
		fprintf( fp, "%.6f\n", dValue );
}

void CErrorReport::WriteDoubleTab( double dValue )
{
	if( m_bSuccess )
		fprintf( fp, "%.6f\t", dValue );
}

CErrorReport::~CErrorReport(void)
{
	fclose(fp);
}

⌨️ 快捷键说明

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