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

📄 baocomplete.h

📁 某个实验事编写粗糙集智能信息处理的程序
💻 H
字号:
// BaoComplete.h: interface for the CBaoComplete class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BAOCOMPLETE_H__64D6FBA1_03BD_11D4_9208_0080C8E21834__INCLUDED_)
#define AFX_BAOCOMPLETE_H__64D6FBA1_03BD_11D4_9208_0080C8E21834__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAX 30
class CBaoComplete  
{
public:
//	char ** pDecDigital;
	int iStage;
	char cStyle[MAX];
	BOOL SaveFile(LPCTSTR lpszPathName);
	char** pDataType;
	char*** pStringTable;
	int iAttNum;
	int iRecordNum;
	BOOL bIncompletion;
	//用于标记表中是否存在遗漏的属性值,存在为true,不存在
	//为false,通过执行函数GetIncompletion来判断
	struct itab   //具体存储决策表中每个属性值的数据结构,第一个字段表示类型
	{ //后三个字段只有一个有效,由mark字段决定到底填充到那个字段
		int mark;   //标记该属性值的类型:1-Integer、2-Float、3-String
		int intnub; //若属性值为整型,则写入该字段,此时其余两个字段无效
		float fltnub;//若属性值为实型,则写入该字段,此时其余两个字段无效
		char chnub[MAX]; //若属性值为字符串型,则写入该字段,此时其余两个字段无效
	};
	struct itab** ii;   //具体存储决策表中的属性值的表
	struct itab **itemp;//补齐时使用的临时表,用于和ii的比较
	int* t;  //用于表示每一个属性的数据类型:1-整型、2-实型、3-字符串型
	int pl; //记录数,就是iRecordNum,具体分配存储空间时使用
	int bl;  //属性数,就是iAttNum+1,具体分配存储空间时使用
	char** pAttName;
	BOOL ReadDataFromFile(LPCTSTR	lpszPathName);
	 //从文件中读取相关数据,并初次检查是否存在遗漏属性值,通过调用下面4个函数实现
	BOOL SetAttName(FILE* fp, int count);
	  //从输入文件中读取属性名到pAttName中
	BOOL SetDataType(FILE *fp, int count);
	//从输入文件中读取每个属性的类型到pDataType中
	BOOL SetStringTable(FILE* fp, int column, int row);
	//从输入文件中读取属性值到决策表中,暂时全部作为字符串型数据
	int CBaoComplete::GetIncompletion();
	  //检查表中是否存在遗漏的属性值,若存在返回1,否则返回0
	BOOL InitTable(); //把pStringTable中的数据具体的转化成其本身的类型
	BOOL Remedy(); //具体算法的执行函数,在此完成补齐
	CBaoComplete();
	virtual ~CBaoComplete(); //析构函数,负责所有指针的释放
	

};

#endif // !defined(AFX_BAOCOMPLETE_H__64D6FBA1_03BD_11D4_9208_0080C8E21834__INCLUDED_)

⌨️ 快捷键说明

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