版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 PINGDINGSHAN UNIVERSITY 實訓(xùn)論文(設(shè)計)題 目: 計算器 院(系): 軟件學(xué)院 專業(yè)年級: 軟件工程 2012級 姓 名: 陳存新 學(xué) 號: 121530216 指導(dǎo)教師: 呂 帥 瓊 2013年10月21日1目 錄目 錄21 概 述31.1 課程設(shè)計目的31.2 課程設(shè)計內(nèi)容32 系統(tǒng)需求分析32.1 系統(tǒng)目標(biāo)32.2 主體功能32.3 開發(fā)環(huán)境33 系統(tǒng)概要設(shè)計43.1 系統(tǒng)流程圖43.2 系統(tǒng)功能劃分44系統(tǒng)詳細(xì)設(shè)計74.1 設(shè)計步驟74.2 界面設(shè)計95 測試125.1 測試方案125.2 測試結(jié)果126 小結(jié)14參考文獻(xiàn)15附 錄16附錄1 源程序清單163
2、計算器的設(shè)計1 概 述 1.1 課程設(shè)計目的1、鞏固并加深學(xué)生對C+語言程序設(shè)計知識的理解;2、培養(yǎng)學(xué)生面向?qū)ο蟮某绦蛟O(shè)計思想,使學(xué)生認(rèn)識面向過程和面向?qū)ο髢煞N設(shè)計方法的區(qū)別;3、進(jìn)一步掌握和應(yīng)用VC+ 6.0集成開發(fā)環(huán)境;4、提高運用C+語言解決實際問題的能力; 5、初步掌握開發(fā)小型實用軟件的基本方法,能獨立設(shè)計、實現(xiàn)基本的MIS系統(tǒng);6、掌握書寫程序設(shè)計開發(fā)文檔的能力(書寫課程設(shè)計實驗報告)。1.2 課程設(shè)計內(nèi)容課題名稱:計算器的實現(xiàn)說明:實現(xiàn)一個計算器。要求: 1)用“計算器”的標(biāo)準(zhǔn)視圖執(zhí)行簡單的計算。2)用其科學(xué)型視圖執(zhí)行高級的科學(xué)計算。2 系統(tǒng)需求分析2.1 系統(tǒng)目標(biāo)我們在學(xué)習(xí)生活中
3、,常會遇到一些繁雜的數(shù)值運算,這時候我們就必須用到科學(xué)計算器,所以便著手開發(fā)了這個計算器程序,以便用于自己的學(xué)習(xí)工作。要計算功能有以下幾個方面:加法,減法,乘法,除法,求冪,求模,求平方根,求Sin,求Cos。2.2 主體功能1、十進(jìn)制數(shù)的加、減、乘、除、乘方、取模等簡單計算。2、科學(xué)計算函數(shù),包括(反)正弦、(反)余弦、(反)正切、(反)余切、開方、指數(shù)等函數(shù)運算。2.3 開發(fā)環(huán)境Windows操作系統(tǒng),VC+ 6.0, OFFICE WORD3 系統(tǒng)概要設(shè)計3.1 系統(tǒng)流程圖開始輸入第一個操作數(shù)加法減法乘法除法求冪求模開平方求正弦求余弦求對數(shù)輸入第二個操作數(shù)顯示結(jié)果寄存器清零結(jié)束圖3-1
4、系統(tǒng)流程圖3.2 系統(tǒng)功能劃分表3-1 系統(tǒng)功能表序號文件名主要功能備注1+加法求和兩個操作數(shù)2-減法求差兩個操作數(shù)3*乘法求積兩個操作數(shù)4/除法求商兩個操作數(shù)5%求模兩個操作數(shù)6求x的y次冪兩個操作數(shù)7S求平方根一個操作數(shù)8Sin求正弦一個操作數(shù)9Cos求余弦一個操作數(shù)10ln求對數(shù)一個操作數(shù)11n!求階乘一個操作數(shù)12=等于13C寄存器清零1) 假設(shè)執(zhí)行操作“+”,先輸入一個數(shù),再輸入“+”,再輸入另一個數(shù),最后輸入“+”。整個功能“+”就執(zhí)行完畢。四則代碼如下void CMyDlg:RunOperation(eum_signl en_signl) double sum;double nA
5、dd1; double nAdd2; nAdd1=atof(cs_Num0); nAdd2=atof(cs_Num1);/sum=nAdd1+nAdd2; switch(en_signl) case en_add: sum=nAdd1+nAdd2; break; case en_sub: sum=nAdd1-nAdd2; break; case en_mul: sum=nAdd1*nAdd2; break; case en_div: sum=nAdd1/nAdd2; break; cs_Num0.Format(%g,sum); SetDlgItemText(IDC_EDIT1,cs_Num0)
6、; if (!b_Hasport & -1=cs_Num0.Find(.) CString temp; GetDlgItemText(IDC_EDIT1,temp); temp+=.; SetDlgItemText(IDC_EDIT1,temp); m_i = 1; b_Hasport=FALSE; b_Start=FALSE;cs_Numm_i=0;void CMyDlg:OnNumAdd() / TODO: Add your control notification handler code hereif (!b_Start) return; if (en_LastSignl=en_non
7、e) en_LastSignl=en_add; RunOperation(en_LastSignl); en_LastSignl=en_add;(此處略去減乘除) 2)執(zhí)行操作“Sin”,先輸入一個數(shù),在輸入“Sin”,整個功能“Sin”就執(zhí)行完畢(功能未實現(xiàn))。3)執(zhí)行操作“n!”,先輸入一個數(shù),再輸入“n!,整個功能“n!”執(zhí)行完畢(功能未實現(xiàn))。4系統(tǒng)詳細(xì)設(shè)計4.1 設(shè)計步驟打開Microsoft Visual C+ 6.0,在文件中點擊新建,在彈出框內(nèi)選擇MFC AppWizardexe工程,輸入工程名yeyahui及其所在位置,點擊確定,如圖4-1所示。圖4-1 新建MFC AppW
8、izardexe工程將彈出MFC AppWizard-step 1對話框,選擇基本對話框,點擊完成,如圖4-2所示。 圖4-2基本對話框這樣,MFC AppWizard就建立了一個基于對話窗口的程序框架,如圖4-3所示。圖4-3新建的對話框4.2 界面設(shè)計界面設(shè)計主要是創(chuàng)建控件,在圖4-3所示的Resoure View選項卡中打開Dialog資源組,雙擊IDD_ZHOUTONG_DIALOG,在右邊的窗口中顯示出待編輯的對話框。開始擺放控件,包括編輯框和按鈕的創(chuàng)建。按鈕的創(chuàng)建以“1”為例進(jìn)行介紹,其他按鈕的創(chuàng)建可參照此進(jìn)行操作。1)在圖4-3中Controls的“編輯框”按鈕上單擊鼠標(biāo)左鍵,在
9、對話框編輯窗口上合適的位置按下鼠標(biāo)左鍵并拖動鼠標(biāo)畫出一個大小合適的編輯框。在編輯框上單擊鼠標(biāo)右鍵,在彈出的快捷萊單中選擇屬性選項,此時彈出Edit屬性對話框,如圖4-4所示,在該對話框中輸入ID屬性。 圖4-4 Edit屬性對話框2)在圖4-2中Controls的“Button”按鈕上單擊鼠標(biāo)左鍵,在對話框上的合適的位置上按下鼠標(biāo)左鍵并拖動鼠標(biāo)畫出一個大小合適的下壓式按鈕。在按鈕上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇屬性選項,此時也彈出Push Button屬性對話框,如圖4-5所示,在該對話框中輸入控件的ID值和標(biāo)題屬性。圖4-5 Push Button屬性按照上面的操作過程編輯其他按鈕和編
10、輯框等對象的屬性。表4-1 各按鈕和編輯框等對象的屬性對象ID標(biāo)題或說明編輯框IDC_EDIT1結(jié)果顯示按鈕IDC_NUM00按鈕IDC_NUM11按鈕IDC_NUM22按鈕IDC_NUM33按鈕IDC_NUM44按鈕IDC_NUM55按鈕IDC_NUM66按鈕IDC_NUM77按鈕IDC_NUM88按鈕IDC_NUM99按鈕IDC_NUM_NEQUA+/-按鈕IDC_NUM_PORT.按鈕IDC_NUM_ADD+按鈕IDC_NUM_SUB-按鈕IDC_NUM_MUL*按鈕IDC_NUM_DIV/按鈕IDC_NUM_SQRTsqrt按鈕IDC_NUM_Daoshu1/x按鈕IDC_NUM_Ji
11、echengn!按鈕IDC_NUM_Lnln按鈕IDC_NUM_Sinsin按鈕IDC_NUM_Coscos按鈕IDC_NUM_Powxy按鈕IDC_NUM_EQUEL=完成后界面如圖4-6所示。圖4-6 設(shè)計界面5 測試5.1 測試方案先用標(biāo)準(zhǔn)型進(jìn)行簡單的四則運算:+ - * /,測試完成后,核對其計算結(jié)果的正確性。5.2 測試結(jié)果經(jīng)測試標(biāo)準(zhǔn)型計算器,進(jìn)行簡單的四則運算,結(jié)果均正確,如圖5-1所示。 圖5-1 四則運算測試結(jié)果圖6 小結(jié)經(jīng)過一個月的努力,課程設(shè)計基本完成了。在課程設(shè)計的實踐中,學(xué)到很多有用的知識,也積累了不少寶貴的經(jīng)驗。課程設(shè)計是以一個計算器的實現(xiàn)為基礎(chǔ),掌握一個基于對話框的
12、應(yīng)用程序的編程方法以及對話框常用控件的高級編程。在課程設(shè)計中我了解到到對話框應(yīng)用程序的編程模式、改變按鈕的客戶區(qū)形狀、在按鈕客戶區(qū)內(nèi)作圖及對話框的擴展等知識。在此期間,遇上了不少的技術(shù)難題,但是經(jīng)過老師知道,難題還是一個個被解決了。經(jīng)過設(shè)計的各個環(huán)節(jié),從中學(xué)到了很多,鍛煉了自己系統(tǒng)的設(shè)計的能力,從系統(tǒng)的需求到系統(tǒng)的功能,到系統(tǒng)的測試,到系統(tǒng)的發(fā)布,可以掌握到一個完全的過程,這樣對我們以后在工作中或?qū)W習(xí)中得到很好的鍛煉,為用VC+編輯軟件奠定基礎(chǔ)。參考文獻(xiàn)1譚浩強.C程序設(shè)計(第三版)(M).北京:清華大學(xué)出版社,2005. 2譚浩強.C程序設(shè)計題解與上機指導(dǎo)(第三版) (M).北京:清華大學(xué)出
13、版社,2005.3甄煒. C+語言和面向?qū)ο蟪绦蛟O(shè)計教程(M).北京:機械工業(yè)出版社,2005.25附 錄附錄1 源程序清單/ 計算器Dlg.cpp : implementation file/#include stdafx.h#include 計算器.h#include 計算器Dlg.h#include math.h#include string#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutc
14、lass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotec
15、ted:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg: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_MA
16、P(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg dialogCMyDlg:CMyDlg(CWnd* pParent /*=NULL*/): CDialog(CMyDlg:IDD, pParent)/AFX_DATA_INIT(CMyDlg)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIc
17、on in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMyDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMyDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMyDlg, CDialog)/AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PA
18、INT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_NUM1, OnNum1)ON_BN_CLICKED(IDC_NUM2, OnNum2)ON_BN_CLICKED(IDC_NUM3, OnNum3)ON_BN_CLICKED(IDC_NUM4, OnNum4)ON_BN_CLICKED(IDC_NUM5, OnNum5)ON_BN_CLICKED(IDC_NUM6, OnNum6)ON_BN_CLICKED(IDC_NUM7, OnNum7)ON_BN_CLICKED(IDC_NUM8, OnNum8)ON_BN_CLICKED(IDC_NUM9, On
19、Num9)ON_BN_CLICKED(IDC_NUM0, OnNum0)ON_BN_CLICKED(IDC_NUM_SQRT, OnNumSqrt)ON_BN_CLICKED(IDC_NUM_ADD, OnNumAdd)ON_BN_CLICKED(IDC_NUM_SUB, OnNumSub)ON_BN_CLICKED(IDC_NUM_MUL, OnNumMul)ON_BN_CLICKED(IDC_NUM_DIV, OnNumDiv)ON_BN_CLICKED(IDC_NUM_PORT, OnNumPort)ON_BN_CLICKED(IDC_NUM_NEQUA, OnNumNequa)ON_B
20、N_CLICKED(IDC_NUM_SPACE, OnNumSpace)ON_BN_CLICKED(IDC_NUM_EQUEL, OnNumEquel)ON_BN_CLICKED(IDC_NUM_C, OnNumC)ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)ON_BN_CLICKED(IDC_NUM_Sin, OnNUMSin)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. me
21、nu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when
22、the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization hereInitAllDate();return TRUE; / return TRUE unless you set the focus to a controlvoid CMyDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF
23、0) = 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 using the document/view model,/ this is automatically done for you by the framework.void C
24、MyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.W
25、idth() - 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 CMyDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CMyDlg:Pu
26、tIntoNum(int n) CString tem_i; tem_i.Format(%d,n); CString temp; /第一次輸入 if (!b_Start) cs_Numm_i=tem_i; b_Start=TRUE; SetDlgItemText(IDC_EDIT1,cs_Numm_i); if (!b_Hasport) GetDlgItemText(IDC_EDIT1,temp); temp+=.; SetDlgItemText(IDC_EDIT1,temp); return; cs_Numm_i+=tem_i; SetDlgItemText(IDC_EDIT1,cs_Num
27、m_i); if (!b_Hasport) GetDlgItemText(IDC_EDIT1,temp); temp+=.; SetDlgItemText(IDC_EDIT1,temp); void CMyDlg:InitAllDate() en_LastSignl=en_none; b_Hasport=FALSE; b_Start=FALSE; b_Hasmul=FALSE; b_Hasdiv=FALSE; cs_Num0=0; cs_Num1=0; m_i=0; SetDlgItemText(IDC_EDIT1,cs_Numm_i+.);void CMyDlg:OnNum1() / TOD
28、O: Add your control notification handler code herePutIntoNum(1);void CMyDlg:OnNum2() / TODO: Add your control notification handler code herePutIntoNum(2);void CMyDlg:OnNum3() / TODO: Add your control notification handler code herePutIntoNum(3);void CMyDlg:OnNum4() / TODO: Add your control notificati
29、on handler code herePutIntoNum(4);void CMyDlg:OnNum5() / TODO: Add your control notification handler code herePutIntoNum(5);void CMyDlg:OnNum6() / TODO: Add your control notification handler code herePutIntoNum(6);void CMyDlg:OnNum7() / TODO: Add your control notification handler code herePutIntoNum
30、(7);void CMyDlg:OnNum8() / TODO: Add your control notification handler code herePutIntoNum(8);void CMyDlg:OnNum9() / TODO: Add your control notification handler code herePutIntoNum(9);void CMyDlg:OnNum0() / TODO: Add your control notification handler code herePutIntoNum(0);void CMyDlg:OnNumSqrt() /
31、TODO: Add your control notification handler code hereif (!b_Start) return; double num; CString temp; GetDlgItemText(IDC_EDIT_SHOW,temp); num=atof(temp); num=sqrt(num); temp.Format(%lf,num); if (temp.Find(.)=-1) SetDlgItemText(IDC_EDIT_SHOW,temp+.); else SetDlgItemText(IDC_EDIT_SHOW,temp);void CMyDlg
32、:OnNumAdd() / TODO: Add your control notification handler code hereif (!b_Start) return; if (en_LastSignl=en_none) en_LastSignl=en_add; RunOperation(en_LastSignl); en_LastSignl=en_add;void CMyDlg:OnNumSub() / TODO: Add your control notification handler code hereif (!b_Start) return; if (en_LastSignl
33、=en_none) en_LastSignl=en_sub; RunOperation(en_LastSignl); en_LastSignl=en_sub;void CMyDlg:OnNumMul() / TODO: Add your control notification handler code here if (!b_Start) return; if (en_LastSignl=en_none) cs_Num1=1; en_LastSignl=en_mul; RunOperation(en_LastSignl); en_LastSignl=en_mul;void CMyDlg:On
34、NumDiv() / TODO: Add your control notification handler code hereif (!b_Start) return; if (en_LastSignl=en_none) cs_Num1=1; en_LastSignl=en_div; RunOperation(en_LastSignl); en_LastSignl=en_div;void CMyDlg:OnNumPort() / TODO: Add your control notification handler code here /已有小數(shù)點時 if (b_Hasport) retur
35、n; /無小數(shù)點 cs_Numm_i+=.; b_Hasport=TRUE; b_Start=TRUE; SetDlgItemText(IDC_EDIT1,cs_Numm_i);void CMyDlg:OnNumNequa() / TODO: Add your control notification handler code hereif (!b_Start) return; double num; CString temp; GetDlgItemText(IDC_EDIT1,temp); num=atof(temp); num=0-num; SetDlgItemText(IDC_EDIT1
36、 , b_Hasport ? temp:temp+.);void CMyDlg:OnNumSpace() / TODO: Add your control notification handler code hereif (!b_Start) return; double num; CString temp; int len; CHAR temp_ch32; GetDlgItemText(IDC_EDIT1,temp); /AfxMessageBox(temp); num=atof(temp); sprintf(temp_ch,%g,num); num=0; /AfxMessageBox(te
37、mp_ch); len=strlen(temp_ch); int te_i=len-1; if(temp_chte_i=.) te_i-=1,b_Hasport=FALSE; temp_chte_i=0; / /AfxMessageBox(temp_ch); if (strlen(temp_ch)=0) temp_ch0=0; temp_ch1=0; / sscanf(temp_ch,%lf,&num); temp.Format(%g,num); /AfxMessageBox(temp); SetDlgItemText(IDC_EDIT1,b_Hasport?temp:temp+.);void
38、 CMyDlg:RunOperation(eum_signl en_signl) double sum;double nAdd1; double nAdd2; nAdd1=atof(cs_Num0); nAdd2=atof(cs_Num1); /sum=nAdd1+nAdd2; switch(en_signl) case en_add: sum=nAdd1+nAdd2; break; case en_sub: sum=nAdd1-nAdd2; break; case en_mul: sum=nAdd1*nAdd2; break; case en_div: sum=nAdd1/nAdd2; break; cs_Num0.Format(%g,s
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《廣告效果的測定》課件
- 通信設(shè)備自動化生產(chǎn)-洞察分析
- 《秋季科學(xué)與健康》課件
- 網(wǎng)絡(luò)安全性優(yōu)化-洞察分析
- 特拉唑嗪心血管毒性評估-洞察分析
- 鐵合金行業(yè)污染源解析-洞察分析
- 血栓藥物作用機制探討-洞察分析
- 藝術(shù)品市場趨勢與風(fēng)險管理-洞察分析
- 語音助手在殘疾人座車中的應(yīng)用-洞察分析
- 圖像化教育應(yīng)用效果評估-洞察分析
- 西安信息職業(yè)大學(xué)《工程管理導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 電氣領(lǐng)域知識培訓(xùn)課件
- 金融產(chǎn)品分類介紹
- 2024-2025學(xué)年上學(xué)期深圳初中語文七年級期末模擬卷2
- 河南省鄭州市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試題含解析
- 2024廣東煙草專賣局校園招聘筆試管理單位遴選500模擬題附帶答案詳解
- 2024房地產(chǎn)合同更名申請表
- 病例報告表(樣板)
- 定金協(xié)議書范文范本簡單一點
- 劉潤年度演講2024
- 初三第一學(xué)期沖刺中考期末家長會
評論
0/150
提交評論