📄 weightinput.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 + -