动物识别系统 VC++ 逆向搜索 正向搜索
产生式规则的动物识别系统,人工智能的实验课做了界面,实现了正向搜索和逆向搜索,自认为不错,希望对大家有帮助,
图书馆管理系统 ODBC+ACCESS
自己写的数据库大作业,用MFC ODBC +access 写的
内含完整工程,解压后就能用
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "ODBCdemo.h"
#include "MainFrm.h"
#include "BrwMessagedlg.h"
#include "ReaderAdmindlg.h"
#include "BookUpdatedlg.h"
#include "LogIndlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_BCG, OnBcg)
ON_COMMAND(IDD_ReaderUpdate, OnReaderUpdate)
ON_COMMAND(IDBK_UPDATE, OnBookUpdate)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
m_bAutoMenuEnable=FALSE;
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
if (!m_wndDlgBar.Create(this, IDD_DIALOGBAR, WS_CHILD | WS_VISIBLE |
CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY |
CBRS_SIZE_DYNAMIC, IDD_DIALOGBAR))
{
TRACE0("Failed to create dialogbar\n");
return -1; // fail to create
}
m_wndDlgBar.EnableDocking(CBRS_ORIENT_HORZ);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndDlgBar);
CLogIndlg cdlg;
if( cdlg.DoModal()==IDOK)
{
if(cdlg.role=="读者")
{
for(int i=0;iGetSubMenu(i)->EnableMenuItem(1,MF_BYPOSITION|MF_GRAYED);
}
}
else
Destroy
图形变换 平移 对称 旋转等 mfc、vc
图形变换 平移 对称 旋转等 mfc、vc,完整工程,下载后就能用
cs 线段裁剪算法 MFC下实现
// 线段裁剪CSView.cpp : implementation of the CCSView class
//
#include "stdafx.h"
#include "线段裁剪CS.h"
#include "线段裁剪CSDoc.h"
#include "线段裁剪CSView.h"
#define left 200 //默认图形窗口
#define right 400
#define bottom 100
#define top 300
#define l 1 //区域编码
#define r 2
#define b 4
#define t 8
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCSView
IMPLEMENT_DYNCREATE(CCSView, CView)
BEGIN_MESSAGE_MAP(CCSView, CView)
//{{AFX_MSG_MAP(CCSView)
ON_WM_LBUTTONDOWN()
ON_WM_RBUTTONDOWN()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCSView construction/destruction
CCSView::CCSView()
{
// TODO: add construction code here
}
CCSView::~CCSView()
{
}
BOOL CCSView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CCSView drawing
void CCSView::OnDraw(CDC* pDC)
{
CCSDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->TextOut(150,1," 单击左键定线段起点,右击定线段终点");
pDC->TextOut(150,20,"线段的裁剪结果会自动显示");
// TODO: add draw code for native data here
pDC->Rectangle(left,top,right,bottom);
}
/////////////////////////////////////////////////////////////////////////////
// CCSView printing
BOOL CCSView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CCSView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CCSView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add
计算机图形学 种子填充算法 MFC、VC
种子填充算法,自己写的,希望对大家有用
// 种子法View.cpp : implementation of the CMyView class
//
#include "stdafx.h"
#include "种子法.h"
#include "种子法Doc.h"
#include "种子法View.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
struct point
{
int x;
int y;
}p[10]={200,100,100,200,150,100,200,300,250,100,300,200,-1};
point stack[1024000];
int top;
void push(int x,int y)
{
if(top>1024000)exit(0);
stack[top].x=x;
stack[top].y=y;
top++;
}
void pop(int &x,int &y)
{
if(top==0)
exit(0);
x=stack[top-1].x;
y=stack[top-1].y;
top--;
}
void gettop(int &x,int &y)
{
if(top==0)
exit(0);
x=stack[top-1].x;
y=stack[top-1].y;
}
/////////////////////////////////////////////////////////////////////////////
// CMyView
IMPLEMENT_DYNCREATE(CMyView, CView)
BEGIN_MESSAGE_MAP(CMyView, CView)
//{{AFX_MSG_MAP(CMyView)
ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyView construction/destruction
CMyView::CMyView()
{
// TODO: add construction code here
}
CMyView::~CMyView()
{
}
BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CMyView drawing
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
int x,y;
CClientDC dc(this);
// TODO: Add your message handler code here and/or call default
origin=point;
push(origin.x,origin.y);
while(top!=0)
{
pop(x,y);
if(dc.GetPixel(x-1,y)!=0)//不等于边界色
{
dc.SetPixel(x-1,y,0);//染成黑色
push(x-1,y); //加入栈
}
if(dc.GetPixel(x+1,y)!=0)
{
dc.SetPixel(x+1,y,0);
push(x+1,y);
}
if(dc.GetPixel(x,y-1)!=0)
{
dc.SetPixel(x,y-1,0);
push(x,y-1);
}
if(dc.GetPixel(x,y+1)!=0)
{
dc.SetPixel(x,y+1,0);
push(x,y+1);
}
}
CView::OnLButtonDown(nFlags, point);
}
void CMyView::OnDraw(CDC* pDC)
{
CClientDC dc(this);
dc.TextOut(1,5,"请为每个区选种子,务必在图形内");
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
int i;
for(i=0;p[i+1].x!=-1;i++)
{
dc.MoveTo(p[i].x,p[i].y);
dc.LineTo(p[i+1].x,p[i+1].y);
}
dc.MoveTo(p[i].x,p[i].y);
dc.LineTo(p[0].x,p[0].y);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CMyView printing
BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CMyView diagnostics
#ifdef _DEBUG
void CMyView::AssertValid() const
{
CView::AssertValid();
}
void CMyView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CMyDoc* CMyView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMyView message handlers