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

📄 weightinput.h

📁 基于专家系统应用的程序代码 使用vc编程,access为数据库的程序
💻 H
字号:
#if !defined(AFX_WEIGHTINPUT_H__40CF5AB1_C4BC_4849_9F76_A01B1C6B219C__INCLUDED_)
#define AFX_WEIGHTINPUT_H__40CF5AB1_C4BC_4849_9F76_A01B1C6B219C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// WeightInput.h : header file
//

#define MAX_VERTEX_NUM 10
/////////////////////////////////////////////////////////////////////////////
// CWeightInput dialog
#include "Stack.h"
#include  <math.h>
#include "ShowNetResult.h "

class adjMatrix//邻接矩阵弧的信息
{
public:	  
    	CString hdmc;
 		float fengZu;
		//风阻值,风阻正负代表着风流方向,值为正表示分支风流方向和回路相同,否则值为-1
		int intArcType;//0风机分支,1固定风量分支,2一般分支
		float fengLiang;
		float xieLv;//初始化0
		float fengYa;//初始化0
};

class MGraph//网络结构
{public:	  
		CString vexs[MAX_VERTEX_NUM];//存放节点的名称
		adjMatrix arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//邻接矩阵
		int vexNum,arcNum;//节点和弧的数目	
		bool* visited;//顶点的访问标志
		//bool *windDirection;//巷道的风流方向
};

class CWeightInput : public CDialog
{
private:
	
	MGraph Net;//有向网络,用来保存风量和风阻的,还有弧的方向
    MGraph G;//无向图,用来判断回路的
	CShowNetResult showNetResult;
// Construction
public:
	void findRoad(CString headNode,CString tailNode,int index);
	CString CWeightInput::NameToId(CString name);
	CString loop[8][10];//存放最终回路的数组
	int loopColumnNum[8];
	int m_vexNum;
	int m_arcNum;
	void initNet();
	void editList();
	CWeightInput(CWnd* pParent = NULL);   // standard constructor
	void setFengYa(int row,int column,float fengYa);
	void setXieLv(int row,int column,float xieLv);
	float getXieLv(int row,int column);
	float getFengYa(int row,int column);
	void setNetFengLiang(int row,int column,float xiuZheng);
	float getNetFengLiang(int row,int column);//得到弧的风量
	int locateGVex(CString u);
	float getFuZu(int row,int column);//得到弧的风阻
	int getGraghValue(int row,int column);
	void setNull(int row,int column);
	int locateVex(MGraph Net, CString u);
	int getType(int row,int column);
	int getArcNum();	
    void setArcNum(int arcNum);
	void setVexNum(int vexnum);
	void setArcs(int row,int column,float fengZu,float fengLiang,int type,float fengYa,float xielv);
	void setVex(int,CString );
	int CWeightInput::getVexNum();
	CString CWeightInput::getVex(int i);
protected:
// Dialog Data
	//{{AFX_DATA(CWeightInput)
	enum { IDD = IDD_InputWeight };
	CButton	m_insert;
	CButton	m_caculate;
	CEdit	m_vexHead;
	CButton	m_modify;
	CButton	m_delete;
	CListCtrl	m_list;
	CEdit	m_vexTail;
	float	m_fengYa;
	float	m_xieLv;
	float	m_fengLiang;
	CString	m_strVexHead;
	CString	m_strVexTail;
	float	m_fengZu;
	int m_leiXing;
	//int inputCount;//输入风量等信息时记录输入次数,当输入次数大于弧的个数时结束
	int current_sel;//m_list的选择索引
	CString	m_hdmc;
	//}}AFX_DATA
	_RecordsetPtr m_pRecordset;
	BOOL m_bAutoSave;
//	void SaveData(); 
	//void LoadData();
	_variant_t vHDName,vArcTail,vArcHead,vFengZu,vFengLiang,vLeiXing,vFengYa,vXieLv;
	BOOL m_bSuccess;
	int m_nCurrentSel;
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CWeightInput)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	

	// Generated message map functions
	//{{AFX_MSG(CWeightInput)
	virtual BOOL OnInitDialog();
	afx_msg void OnButtonDel();
	afx_msg void OnButtonModify();
	afx_msg void OnClickList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnInsert();
	afx_msg void OnCaculate();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WEIGHTINPUT_H__40CF5AB1_C4BC_4849_9F76_A01B1C6B219C__INCLUDED_)

⌨️ 快捷键说明

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