




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗1 C+程序的運(yùn)行環(huán)境、編輯、編譯、調(diào)試、運(yùn)行方法學(xué)號 專業(yè)班級 信息071 姓名 報告日期 2009-10-18 1:實驗任務(wù): 1.1 解決漢諾塔問題:塔內(nèi)有三個座A、B、C,開始A座上有64個盤子,盤子大小不等,小的在上大的在下。有一個老和尚想把這64個盤子從A座移到C座,但每次只允許移動一個盤子。且在移動過程中在3個座上的盤子始終保持大盤在下小盤在上。在移動過程中利用B座。要求利用遞歸編程技術(shù)編程并運(yùn)行后打印出移動的步驟。1.2 用遞歸法將一個整數(shù)n轉(zhuǎn)換成字符串。例如,如入483,應(yīng)輸出字符串“483”。N的位數(shù)不確定,可以是任意位整數(shù)。1.3 建立一個包含加法函數(shù)、減法函數(shù)的動態(tài)
2、鏈接庫文件和一個包含加法函數(shù)、減法函數(shù)的函數(shù)聲明的頭文件;編寫、調(diào)試并運(yùn)行一個MFC應(yīng)用程序,該MFC應(yīng)用程序調(diào)用了你所建立的動態(tài)鏈接庫中的加法函數(shù)、減法函數(shù)。2:實驗?zāi)康模?1) 了解所用的計算機(jī)系統(tǒng)的基本操作方法、學(xué)會獨(dú)立使用該系統(tǒng)。(2) 了解在系統(tǒng)上如何編輯、編譯、鏈接和運(yùn)行一個C+程序。(3) 通過編輯、編譯、鏈接、運(yùn)行win32 console application、win32 dynamic-link library、win32 appwizard(exe ) 學(xué)會Visual C+ 6.0的基本使用方法。3:實驗步驟:.1:試驗分析:1:首先先建立三個塔,分別為A,B,C,開
3、始是把n個盤子放在A上,目的是把A上的盤子全部放在C上,B是一個中間起輔助作用的盤子。2:如果n=1,直接把這個盤子放在C上,若n大于1時,借助C盤把A上的前n-1個盤子放到B盤上,然后把A上的第n個盤子放到C上。3:此時繼續(xù)進(jìn)行遞歸調(diào)用就可以了。.2 其程序代碼如下:#include<iostream>using namespace std;void Towers(int n,char A,char C,char B)if(n=1)cout<<"from"<<A<<"to"<<C<<
4、;endl;elseTowers(n-1,A,B,C);cout<<"dish="<<n<<"from"<<A<<"to"<<C<<endl; Towers(n-1,B,C,A); void main() int n; char ch1='A',ch2='B',ch3='C' cin>>n; Towers(n,ch1,ch3,ch2);.3試驗運(yùn)行結(jié)果如下: .1試驗分析:1:此題的思想時把一
5、個整數(shù)轉(zhuǎn)換成字符串的形式,然后在最后輸出來。2:首先先在主函數(shù)中定義一個整數(shù)n,然后調(diào)用被調(diào)函數(shù),;。3:進(jìn)入被調(diào)函數(shù)中以后先對n值進(jìn)行判斷,如n小于10時,直接轉(zhuǎn)換成字符串,給這個整數(shù)加上48,然后賦給字符串變量,ch1,然后進(jìn)行返回,若n大于10,則要通過遞歸調(diào)用把其轉(zhuǎn)換成字符串類型。.2其程序代碼如下:#include <iostream>#include <string>using namespace std;string Bianhuan(int n);int main()int n;cout << "請輸入一個數(shù)字:"cin
6、>> n;cout << "轉(zhuǎn)換為如下字符串:" << endl;cout << Bianhuan(n) << endl;return 0;string Bianhuan(int n)string ch1,ch2;if(n/10 != 0) ch1 = Bianhuan(n/10);ch2 = n%10 + 48;ch1 += ch2;return ch1;elsech1 = n + 48;return ch1;.3試驗運(yùn)行結(jié)果:.1:試驗分析1:建立一個空的動態(tài)鏈接庫以DLL命名。2:然后再建立一個源文件以dll
7、來命名此文件包含兩個函數(shù) 一個是加法 ,一個是減法。3:最后再建一個MFC AppWizard【exe】動態(tài)鏈接庫。DLLtest,然后把DLL中的.Lib文件,Dll.dll放到DLLtest目錄下,然后進(jìn)行連接就可以得出結(jié)果來了。.2:其程序代碼如下: 1:建立的源文件dll程序代碼如下:_declspec (dllexport)int add(int a,int b) return a+b;_declspec (dllexport)int subtract(int a,int b) return a-b;/ DLLtestDlg.cpp : implementation file/#in
8、clude "stdafx.h"#include "DLLtest.h"#include "DLLtestDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enu
9、m IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(C
10、AboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CDLLtestDlg dialogCDLL
11、testDlg:CDLLtestDlg(CWnd* pParent /*=NULL*/): CDialog(CDLLtestDlg:IDD, pParent)/AFX_DATA_INIT(CDLLtestDlg)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
12、void CDLLtestDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CDLLtestDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CDLLtestDlg, CDialog)/AFX_MSG_MAP(CDLLtestDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICK
13、ED(IDC_BNT_add, OnBNTadd)ON_BN_CLICKED(IDC_BNT_subtruct, OnBNTsubtruct)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CDLLtestDlg message handlersBOOL CDLLtestDlg:OnInitDialog()CDialog:OnInitDialog();/ Add "About." menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOU
14、TBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL)CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX,
15、 strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the
16、focus to a controlvoid CDLLtestDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications
17、 using the document/view model,/ this is automatically done for you by the framework.void CDLLtestDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_
18、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 icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CDLLtestDlg:OnQueryDragIcon()return (HCU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高性能特種合金材料項目合作計劃書
- 同城工地出售合同范本
- 合作建材協(xié)議合同范例
- 共同投資協(xié)議合同范本
- 賣地買房合同范本
- 卷宗管理服務(wù)合同范例
- 合同范本庫編制說明
- 資質(zhì)借用合同范本
- 農(nóng)田煙桿出售合同范本
- 幼兒園塑膠地板購銷施工合同范本
- 民航基礎(chǔ)知識應(yīng)用題庫100道及答案解析
- 數(shù)字孿生水利項目建設(shè)可行性研究報告
- SolidWorks-2020項目教程全套課件配套課件完整版電子教案
- 2025年全國計算機(jī)二級考試模擬考試題庫及答案(共280題)
- 中國水資源與水環(huán)境-王浩
- DL-T 2680-2023 電力建設(shè)施工企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化實施規(guī)范
- 2024年用電監(jiān)察員(用電檢查員)技師職業(yè)鑒定考試題庫(含答案)
- 2024年輔警招聘考試試題庫附參考答案(綜合題)
- 垃圾發(fā)電廠汽機(jī)培訓(xùn)
- 村情要素模板
- 高考作文標(biāo)準(zhǔn)方格紙-A4-可直接打印
評論
0/150
提交評論