亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? susuan~1.cpp

?? 《vc游戲編程導學》一書的原代碼
?? CPP
字號:
// SusuanDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Susuan.h"
#include "SusuanDlg.h"
#include "math.h"
#include "stdlib.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSusuanDlg dialog

CSusuanDlg::CSusuanDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSusuanDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSusuanDlg)
	m_EDIT1 = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSusuanDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSusuanDlg)
	DDX_Text(pDX, IDC_EDIT1, m_EDIT1);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSusuanDlg, CDialog)
	//{{AFX_MSG_MAP(CSusuanDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSusuanDlg message handlers

BOOL CSusuanDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

    m_Button[0]=(CButton*)GetDlgItem(IDC_BUTTON1);
	m_Button[1]=(CButton*)GetDlgItem(IDC_BUTTON2);
	m_Button[2]=(CButton*)GetDlgItem(IDC_BUTTON3);
	m_Button[3]=(CButton*)GetDlgItem(IDC_BUTTON4);

	//BackGroundBitmap.LoadBitmap(IDB_BITMAP14);
	Bitmap[0].LoadBitmap(IDB_BITMAP1);
	Bitmap[1].LoadBitmap(IDB_BITMAP2);
	Bitmap[2].LoadBitmap(IDB_BITMAP3);
	Bitmap[3].LoadBitmap(IDB_BITMAP4);
	Bitmap[4].LoadBitmap(IDB_BITMAP5);
	Bitmap[5].LoadBitmap(IDB_BITMAP6);
	Bitmap[6].LoadBitmap(IDB_BITMAP7);
	Bitmap[7].LoadBitmap(IDB_BITMAP8);
	Bitmap[8].LoadBitmap(IDB_BITMAP9);
	Bitmap[9].LoadBitmap(IDB_BITMAP10);
	Bitmap[10].LoadBitmap(IDB_BITMAP11);
	Bitmap[11].LoadBitmap(IDB_BITMAP12);
	Bitmap[12].LoadBitmap(IDB_BITMAP13);

	m_hBackGround = ::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(
					IDB_BITMAP14));	
	for (int i=1;i<5;i++)
	{
		m_Button[i-1]->SetBitmap(m_hBackGround);
	}


	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSusuanDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSusuanDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSusuanDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();
    KillTimer(1);
	int Result=TotalCompute(m_EDIT1);

 if(Result==24)
   {
     MessageBox("您真行,我服了您!","對了",MB_OK);
   }
 else
 {  CString temp;
     temp.Format("%d",Result);
     CString Answer="您輸入的表達式的計算結果為"+temp+"!";
     MessageBox(Answer,"錯了",MB_OK);
   }

	//CDialog::OnOK();

}

void CSusuanDlg::RandomDisplay()
{
	int temp[14];
	int k;
	for(int m=1;m<14;m++)
		temp[m]=m;
	for(int j=13;j>0;j--)
	{
		srand(10*time(NULL));
		k=1+rand()%j;
		card[j]=temp[k];
		for(int t=k;t<j;t++)
			temp[t]=temp[t+1];
	}

}

void CSusuanDlg::OnButton5() 
{
	RandomDisplay();
	for(int i=1;i<5;i++)
	{int j;
	j=card[i+5];
	m_Button[i-1]->SetBitmap(HBITMAP(Bitmap[j-1]));}

	GetDlgItem(IDC_BUTTON5)->SetWindowText("重新開始");
	// TODO: Add your control notification handler code here
  SetTimer(1,1000, NULL);
  SpendTime=0;
}

//定位最后一個算術符號的位置
int CSusuanDlg::AnyLastPos(CString Str)
{
 int SubPos=Str.ReverseFind('-')+1;
 int PluPos=Str.ReverseFind('+')+1;
 int MulPos=Str.ReverseFind('*')+1;
 int DivPos=Str.ReverseFind('/')+1;
 int Pos=SubPos;
 if(Pos<PluPos)
   Pos=PluPos;
 if(Pos<MulPos)
   Pos=MulPos;
 if(Pos<DivPos)
   Pos=DivPos;
 return Pos;
}
//---------------------------------------------------------------------------
//定位最先一個算術符號的位置
int CSusuanDlg::AnyFirstPos(CString Str)
{
 int SubPos=Str.Find('-')+1;
 int PluPos=Str.Find('+')+1;
 int MulPos=Str.Find('*')+1;
 int DivPos=Str.Find('/')+1;
 int ForPos=Str.Find('^')+1;
 int Pos=200;

 if(SubPos==0) //如果沒有-號
   SubPos=200; //將SubPos設置成一個不可能的值
 if(PluPos==0) //如果沒有-號
   PluPos=200; //將PluPos設置成一個不可能的值
 if(MulPos==0) //如果沒有-號
   MulPos=200; //將MulPos設置成一個不可能的值
 if(DivPos==0) //如果沒有-號
   DivPos=200; //將DivPos設置成一個不可能的值
 if(ForPos==0) //如果沒有-號
   ForPos=200; //將ForPos設置成一個不可能的值

 if(Pos>SubPos)
   Pos=SubPos;
 if(Pos>PluPos)
   Pos=PluPos;
 if(Pos>MulPos)
   Pos=MulPos;
 if(Pos>DivPos)
   Pos=DivPos;
 if(Pos>ForPos)
   Pos=ForPos;
 return Pos;
}
//---------------------------------------------------------------------------
//判斷最先出現的符號是+號、-號、*號還是/號
char CSusuanDlg::AnyFirstF(CString Str)
{
 int SubPos=Str.Find('-')+1;
 int PluPos=Str.Find('+')+1;
 int MulPos=Str.Find('*')+1;
 int DivPos=Str.Find('/')+1;

 if(SubPos==0)
   SubPos=200;
 if(PluPos==0)
   PluPos=200;
 if(MulPos==0)
   MulPos=200;
 if(DivPos==0)
   DivPos=200;

 char Result='-';
 int tempPos=SubPos;
 if(PluPos<tempPos)
   {
    Result='+';
    tempPos=PluPos;
   }
 if(MulPos<tempPos)
   {
    Result='*';
    tempPos=MulPos;
   }
 if(DivPos<tempPos)
   {
    Result='/';
    tempPos=DivPos;
   }

 return Result;
}
//---------------------------------------------------------------------------
//此計算用于計算不帶()號的乘方、加、減、乘、除運算
int CSusuanDlg::SubCompute(CString Str)
{
 CString Middle="";
 CString Mul2="";
 CString Right="";

 //定位第一個^號位置 ,計算乘方
 int First=Str.Find("^")+1;
 if(First) //循環計算乘方
   {
     CString tempStr=Str.Mid(0,First-1);
    int        temp=AnyLastPos(tempStr);
    CString Left=Str.Mid(0,temp);
    CString Mul1 =Str.Mid(temp,First-temp-1);
    tempStr=Str.Mid(First,Str.GetLength()-First);
    temp=AnyFirstPos(tempStr);
    if(temp==200)
     {
      Mul2=tempStr;
      Right="";
     }
    else
     {
      Mul2 =tempStr.Mid(0,temp-1);
      Right=tempStr.Mid(temp-1,tempStr.GetLength()-temp+1);
     }
    Middle.Format("%d",(int)(pow(atof(Mul1),atof(Mul2))));
    Str=Left+Middle+Right;

    First=Str.Find("^")+1;
   }

 //定位第一個*號或/號的位置
 int MulPos=Str.Find('*')+1;
 int DivPos=Str.Find('/')+1;
 First=MulPos;
 if(MulPos>DivPos)
   First=DivPos;
 if(DivPos==0  && MulPos!=0)
   {
    First=MulPos;
    DivPos=2000; // 將除號所在位置設置成一個大于MulPos但又不可能的值
   }
 if(DivPos!=0  && MulPos==0)
   {
    First=DivPos; // 將乘號所在位置設置成一個大于DivPos但不可能的值
    MulPos=2000;
   }
 while(First) //循環計算乘、除
   {
    CString tempStr=Str.Mid(0,First-1);
    int        temp=AnyLastPos(tempStr);
    CString Left=Str.Mid(0,temp);
    CString Mul1 =Str.Mid(temp,First-temp-1);
    tempStr=Str.Mid(First,Str.GetLength()-First);
    temp=AnyFirstPos(tempStr);
    if(temp==200)
     {
      Mul2=tempStr;
      Right="";
     }
    else
     {
      Mul2 =tempStr.Mid(0,temp-1);
      Right=tempStr.Mid(temp-1,tempStr.GetLength()-temp+1);
     }
    if(MulPos>DivPos)
       Middle.Format("%d",(int)(strtod(Mul1.GetBuffer(Mul1.GetLength()),&stopstring)/strtod(Mul2.GetBuffer(Mul2.GetLength()),&stopstring)));
    else
	   Middle.Format("%d",(int)(strtod(Mul1.GetBuffer(Mul1.GetLength()),&stopstring)*strtod(Mul2.GetBuffer(Mul2.GetLength()),&stopstring)));

    Str=Left+Middle+Right;

    MulPos=Str.Find('*')+1;
    DivPos=Str.Find('/')+1;
    First=MulPos;
    if(MulPos>DivPos)
       First=DivPos;

    if(DivPos==0  && MulPos!=0)
      {
       First=MulPos;
       DivPos=2000; // 將除號所在位置設置成一個大于MulPos但又不可能的值
      }
    if(DivPos!=0  && MulPos==0)
      {
       First=DivPos; // 將乘號所在位置設置成一個大于DivPos但不可能的值
       MulPos=2000;
      }
   }

 //定位+、-號首先出現的位置
 First=AnyFirstPos(Str);
 if(First==200)//如果沒有+、-號,則可以直接返回結果
   return (int)strtod(Str.GetBuffer(Str.GetLength()),&stopstring);
 char Fuhao=AnyFirstF(Str); //確定首先出現的符號是+號還是-號
 while(First)
   {//如果找到+號或-號
     CString tempStr=Str.Mid(0,First-1);
     int        temp=AnyLastPos(tempStr);
     CString Left=Str.Mid(0,temp);
     CString Mul1 =Str.Mid(temp,First-temp-1);
     tempStr=Str.Mid(First,Str.GetLength()-First);
     temp=AnyFirstPos(tempStr);
     if(temp==200)
       {
        Mul2=tempStr;
        Right="";
       }
     else
       {
        Mul2 =tempStr.Mid(0,temp-1);
        Right=tempStr.Mid(temp-1,tempStr.GetLength()-temp+1);
       }
     if(Fuhao=='+')
       Middle.Format("%d",(int)(strtod(Mul1.GetBuffer(Mul1.GetLength()),&stopstring)+strtod(Mul2.GetBuffer(Mul2.GetLength()),&stopstring)));
     else
       Middle.Format("%d",(int)(strtod(Mul1.GetBuffer(Mul2.GetLength()),&stopstring)-strtod(Mul2.GetBuffer(Mul2.GetLength()),&stopstring)));
     Str=Left+Middle+Right;
     First=AnyFirstPos(Str);
     if(First==200)
       break;
     Fuhao=AnyFirstF(Str);
   }

 return (int)strtod(Middle.GetBuffer(Middle.GetLength()),&stopstring);
}

//---------------------------------------------------------------------------
//用于計算表達式的結果
int CSusuanDlg::TotalCompute(CString Str)
{
  int First=Str.ReverseFind('(')+1; //定位最后一個(號位置
  while(First)
{
    CString SubStr =Str.Mid(First,(Str.GetLength()-First));
    int Last= SubStr.Find(')')+1;
    Last+=First;  //定位最后一個(號以后的最開始的)號位置
    CString LeftStr=Str.Mid(0,First-1); //(號左邊的字符串
  CString Middle =Str.Mid(First,Last-First-1); //()號中間的字符串
  CString Right  =Str.Mid(Last,Str.GetLength()-Last); //)號右邊的字符串
    int Result=SubCompute(Middle);  //進入下面的計算
  Middle.Format("%d",Result);

  Str=LeftStr+Middle+Right;
  First=Str.ReverseFind('(')+1;
  }

  int Result=SubCompute(Str);
  return Result;
}

void CSusuanDlg::OnTimer(UINT nIDEvent) 
{
	SpendTime++;
	CString SSpendTime;
	SSpendTime.Format("%d",SpendTime);
	GetDlgItem(IDC_STATIC1)->SetWindowText("使用時間:"+SSpendTime+"秒");
	// TODO: Add your message handler code here and/or call default
	
	CDialog::OnTimer(nIDEvent);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区在线观看| 91精选在线观看| 日韩高清在线一区| 国产精品乱码一区二区三区软件| 欧美精品色一区二区三区| 国产成人av影院| 日本视频一区二区| 亚洲欧洲精品天堂一级| 精品区一区二区| 欧美日韩久久不卡| 91看片淫黄大片一级| 国产揄拍国内精品对白| 全部av―极品视觉盛宴亚洲| 亚洲欧美日韩成人高清在线一区| 精品国产91亚洲一区二区三区婷婷| 色综合夜色一区| 成人午夜在线免费| 国产一区二区成人久久免费影院 | 在线观看日韩毛片| 国产69精品久久久久毛片| 免费一区二区视频| 亚洲成av人**亚洲成av**| 国产精品二区一区二区aⅴ污介绍| 久久综合资源网| 精品人伦一区二区色婷婷| 91精品国产综合久久久蜜臀图片 | 制服丝袜亚洲播放| 欧美日韩一区 二区 三区 久久精品| fc2成人免费人成在线观看播放| 国产一区视频在线看| 日本欧美在线看| 日韩高清一级片| 亚洲国产毛片aaaaa无费看| 怡红院av一区二区三区| 一区在线观看免费| 国产精品麻豆视频| 一色屋精品亚洲香蕉网站| 国产精品高潮呻吟久久| 中文字幕免费一区| 国产精品区一区二区三区| 国产视频一区在线播放| 欧美极品美女视频| 国产精品久久久久久久久果冻传媒| 中文字幕av一区二区三区免费看 | 91麻豆精品国产91久久久使用方法| 欧美日韩国产欧美日美国产精品| 欧美日韩一区中文字幕| 欧美日韩电影在线| 欧美一区二区三区在线电影| 91精品福利在线一区二区三区| 91精品视频网| 欧美精品一区二区精品网| 337p粉嫩大胆色噜噜噜噜亚洲| 久久精品视频一区二区三区| 久久丝袜美腿综合| 中文字幕日韩av资源站| 一区二区三区日韩欧美| 亚洲444eee在线观看| 奇米一区二区三区av| 国内精品国产成人| www.在线欧美| 欧洲一区二区三区免费视频| 欧美色欧美亚洲另类二区| 日韩精品在线一区| 国产精品无遮挡| 亚洲综合成人网| 琪琪一区二区三区| 日韩欧美国产wwwww| 欧美精品一区二区三区很污很色的| 国产欧美一区二区三区在线看蜜臀| 欧美激情一区不卡| 亚洲第一久久影院| 国产精品99久久久久久久女警 | 欧美高清www午色夜在线视频| 日韩欧美在线1卡| 中文字幕第一页久久| 亚洲成人自拍偷拍| 国产黄色91视频| 欧美日韩精品福利| 欧美国产精品专区| 日韩一区精品视频| 成人毛片老司机大片| 欧美日韩免费观看一区二区三区 | 久久综合一区二区| 亚洲激情五月婷婷| 激情五月婷婷综合| 91成人在线免费观看| 26uuu久久天堂性欧美| 樱桃国产成人精品视频| 国产美女久久久久| 欧美日韩另类一区| 国产精品久久久久久久久快鸭| 日韩成人一级大片| 91香蕉视频污在线| www国产成人免费观看视频 深夜成人网| 国产精品午夜在线| 麻豆精品在线视频| 欧洲一区二区av| 国产精品久久久久久一区二区三区| 性欧美疯狂xxxxbbbb| 波多野结衣精品在线| 精品嫩草影院久久| 亚洲国产日韩在线一区模特| 国产精品综合二区| 欧美一区二区三区性视频| 一区二区三区四区国产精品| 国产成人av一区二区| 日韩欧美国产电影| 亚洲1区2区3区视频| 91免费版pro下载短视频| 久久久美女毛片| 免费的国产精品| 欧美久久一二区| 亚洲欧美视频在线观看| 国产精品一区二区在线播放| 91精品国产综合久久婷婷香蕉 | 久久综合色婷婷| 日韩av不卡在线观看| 欧美图片一区二区三区| 国产精品超碰97尤物18| 国产成人啪免费观看软件| 日韩欧美国产精品一区| 日本欧美一区二区三区| 欧美日韩一区高清| 亚洲国产中文字幕在线视频综合| 久久久精品免费观看| 久久99久久精品| 7777精品伊人久久久大香线蕉完整版| 亚洲激情五月婷婷| 日本伦理一区二区| 一区二区三区四区高清精品免费观看 | 国产精品18久久久| 欧美精品一区二区不卡 | 粉嫩av亚洲一区二区图片| 26uuu国产一区二区三区| 寂寞少妇一区二区三区| 欧美www视频| 国产乱码精品一区二区三区忘忧草 | 日韩国产欧美视频| 欧美军同video69gay| 亚洲va欧美va人人爽午夜| 欧美日韩精品福利| 日本不卡一区二区| 精品久久一区二区| 国产精品 欧美精品| 中文字幕欧美激情| 色综合天天综合| 亚洲成人免费视| 91麻豆精品国产91久久久久久久久| 日本特黄久久久高潮| 亚洲精品一区二区三区四区高清 | 国产三级一区二区| av亚洲精华国产精华精华| 亚洲欧美电影院| 欧美日韩不卡一区| 狠狠色丁香久久婷婷综| 国产精品天天看| 在线观看亚洲专区| 丝袜美腿亚洲色图| 久久影院视频免费| 成人精品国产福利| 亚洲一区在线电影| 日韩欧美第一区| 大尺度一区二区| 一区二区三区丝袜| 精品成人a区在线观看| 成人av免费在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 丁香网亚洲国际| 亚洲一区二区中文在线| 91精品综合久久久久久| 国产91丝袜在线播放0| 一区二区三区日韩精品视频| 欧美一区二区成人6969| 国产成人av电影在线播放| 亚洲大片精品永久免费| 国产夜色精品一区二区av| 色狠狠一区二区| 狠狠色丁香婷婷综合| 一区二区高清在线| 久久日韩精品一区二区五区| 色一情一乱一乱一91av| 欧美男生操女生| 粗大黑人巨茎大战欧美成人| 亚洲国产精品一区二区尤物区| 国产亚洲精品超碰| 欧美三级三级三级| 成人中文字幕电影| 日日夜夜精品视频天天综合网| 中文字幕国产精品一区二区| 777奇米四色成人影色区| 白白色 亚洲乱淫| 国内外成人在线| 亚洲午夜日本在线观看| 中文字幕欧美国产| 精品乱码亚洲一区二区不卡| 欧美性猛片xxxx免费看久爱| 国产精品一级在线| 日本aⅴ亚洲精品中文乱码| 亚洲精品欧美在线|