




已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
華北科技學院課程設計說明書面向對象程序設計(C+)課程設計說明書 設計題目: 鉑金教室管理系統(tǒng) 第1頁 共 25 頁目錄第一章 緒論21.1設計總說明21.2關鍵字21.3課題意義21.4課題目的31.5研究范圍3第二章 系統(tǒng)說明42.1系統(tǒng)總體框架42.2類的實現(xiàn)5第三章 系統(tǒng)總設計63.1選擇63.1.1選擇界面63.1.2登陸界面的代碼63.2登錄113.2.1登陸界面113.2.2登陸界面的代碼113.3教室信息管理主界面143.3.1主界面143.3.2主界面的代碼143.4查詢183.4.1查詢界面183.2.2查詢的代碼183.5添加213.5.1添加界面213.5.2主要實現(xiàn)代碼21第四章 總結24參考文獻25華北科技學院課程設計說明書第一章 緒論1.1設計總說明為了培養(yǎng)和鍛煉自身的計算機信息軟件設計和開發(fā)能力,使自己能獨立開發(fā)軟件。通過本系內(nèi)的課程設計課題的安排,我根據(jù)自身的能力程度,選擇了教室管理系統(tǒng),用于教室的日常管理。通過此課程的設計,結合有關的知識和相關技術資料,如:面向對象程序設計(C+),對這個課本一學期的學習對程序設計有了很好的認識了,能夠獨立編寫程序實現(xiàn)對教室信息的添加、查詢以及和保存的操作。結合有關的知識和相關技術資料,有一個很好的教室管理系統(tǒng),使教室的管理更加便捷。過去落后的教室管理系統(tǒng)已經(jīng)不適應現(xiàn)代社會的需求了,急需出現(xiàn)一套更符合學校需要的新一代教室管理系統(tǒng)。查詢歷史數(shù)據(jù)模塊:教室容量、類型、功能、使用情況等,通過該教室管理系統(tǒng)地運行,使辦公人員可以輕松快捷的完成對教室管理的任務,提高教室信息管理效率,使教室的使用情況簡單化、明了化。1.2關鍵字教室管理系統(tǒng);C+;MFC1.3課題意義當今時代,計算機信息已成為我們?nèi)粘I畈豢苫蛉钡囊徊糠帧_\用計算機技術可以實現(xiàn)很多復雜繁瑣的功能,增加信息處理速度。隨著網(wǎng)絡用戶要求的不斷提高及計算機科學的迅速發(fā)展,,這些技術越來越純熟,越來越豐富化。本課題的研究對于大學的教室管理有較大的好處,大學里教室數(shù)量較多,上課和學生自習的流動性強,這就為教室的管理帶來一些困難,傳統(tǒng)的教室管理方式耗人力較多,隨著時代的發(fā)展,它就顯得跟不上時代的步伐,為了能夠更加有效的耗人力少的管理教室,也為了能夠適應時代的發(fā)展,很有必要利用計算機,運用程序開發(fā)軟件來開發(fā)一個教室管理系統(tǒng)。1.4課題目的課程設計的目的是總結及運用一學期來所學的知識,訓練我們靈活應用所學C+知識,獨立完成問題分析、總結設計、詳細設計和編程實現(xiàn)等軟件開發(fā)全過程的綜合實踐能力。鞏固、深化理論知識,提高編程水平,并在此過程中培養(yǎng)我們嚴謹?shù)目茖W態(tài)度和良好的工作作風及團結協(xié)作的精神。1.5研究范圍主要用于教室卡管理系統(tǒng),它可以幫助我們有效、準確、并且高效實現(xiàn)的完成查詢事件。此系統(tǒng)操作方便效率。系統(tǒng)實現(xiàn)的主要有學生查詢和管理員對教室信息的添加、保存、刪除等。第二章 系統(tǒng)說明2.1系統(tǒng)總體框架用戶選擇界面管理員學生用戶名登錄密碼查詢退出輸入編號管理添加顯示結果保存查詢輸入退出確認輸入編號保存顯示結果結束啟動系統(tǒng)后,首先進入用戶選擇。其中學生子系統(tǒng)可以通過輸入條件查詢所需信息,管理員子系統(tǒng)可以根據(jù)界面提示對教室信息進行添加、刪除、查詢、保存等操作。2.2類的實現(xiàn)實現(xiàn)描述教室的類classroom,記錄系統(tǒng)中現(xiàn)有那些教室信息。此類包含的數(shù)據(jù)成員有,教室編號bianhao,容納人數(shù)renshu,教室功能gongneng,教室類型leixing,使用情況shiyong。第三章 系統(tǒng)總設計3.1選擇3.1.1選擇界面圖 選擇對話框操作員操作程序時需要選擇用戶性質,學生可直接進入查詢界面,管理員則進入登錄界面。3.1.2登陸界面的代碼CMyDlg: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 DestroyIcon 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_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON2, OnManager)ON_BN_CLICKED(IDC_BUTTON1, Onstudent)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialog. The framework does this automatically/ when the applications 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 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 CMyDlg: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.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);else CPaintDC dc(this); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP1); /IDB_BITMAP是你自己的圖對應的ID BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / 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:OnManager() / TODO: Add your control notification handler code here UpdateData(TRUE); CDialog:OnOK();denglu m; m.DoModal();void CMyDlg:Onstudent() UpdateData(TRUE); CDialog:OnOK();chx m; m.DoModal();3.2登錄3.2.1登陸界面圖 登陸對話框 操作員用戶性質選擇為管理員時必須輸入登陸口令,包括用戶名和密碼,只有輸入正確的登錄口令操作員才能進入教室管理系統(tǒng)的管理界面進行操作。3.2.2登陸界面的代碼denglu:denglu(CWnd* pParent /*=NULL*/): CDialog(denglu:IDD, pParent)/AFX_DATA_INIT(denglu)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INITvoid denglu:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(denglu)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_MESSAGE_MAP(denglu, CDialog)/AFX_MSG_MAP(denglu)ON_WM_PAINT()ON_BN_CLICKED(IDC_BUTTON1, Onqrdl)/AFX_MSG_MAPEND_MESSAGE_MAP()/ denglu message handlersvoid denglu:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP2); /IDB_BITMAP是你自己的圖對應的ID BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);/ Do not call CDialog:OnPaint() for painting messagesvoid denglu:Onqrdl() UpdateData(TRUE); CDialog:OnOK();gongneng dlg1;CString aa,bb;this-GetDlgItemText(IDC_EDIT1,aa);this-GetDlgItemText(IDC_EDIT2,bb);if(aa=123)&(bb=123) dlg1.DoModal();elseMessageBox(用戶名或密碼錯誤,0);exit(0);3.3教室信息管理主界面3.3.1主界面 圖 主界面對話框 從這個主界面對話框我們能很清楚的看到操作員可以通過主界面對話框中的按鈕提示對教室信息就操作,包括:查詢、添加、刪除、保存 。 3.3.2主界面的代碼gongneng:gongneng(CWnd* pParent /*=NULL*/): CDialog(gongneng:IDD, pParent)/AFX_DATA_INIT(gongneng)/AFX_DATA_INITvoid gongneng:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(gongneng)DDX_Control(pDX, IDC_LIST1, m_list1);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(gongneng, CDialog)/AFX_MSG_MAP(gongneng)ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_BN_CLICKED(IDC_BUTTON4, OnButton4)ON_BN_CLICKED(IDC_BUTTON5, OnButton5)ON_WM_PAINT()/AFX_MSG_MAPEND_MESSAGE_MAP()/ gongneng message handlersvoid gongneng:OnButton1() chx c;c.DoModal();void gongneng:OnButton2() Add add;if(add.DoModal()CString s;m_list1.InsertItem(0,);s.Format(%s,add.m_bianhao); m_list1.SetItemText(0,0,s); m_list1.SetItemText(0,1,add.m_renshu); s.Format(%s,add.m_renshu); m_list1.SetItemText(0,1,s);s.Format(%s,add.m_gongneng); m_list1.SetItemText(0,2,s);s.Format(%s,add.m_leixing); m_list1.SetItemText(0,3,s);s.Format(%s,add.m_shiyong); m_list1.SetItemText(0,4,s);void gongneng:OnButton3() :ShellExecute(NULL, open, file.txt, NULL, NULL, SW_SHOWNORMAL);void gongneng:OnButton4() if(this-MessageBox(確定刪除嗎?,刪除,MB_OKCANCEL)=1)if(m_list1.GetSelectedCount()=0;i-)if(m_list1.GetItemState(i,LVIS_SELECTED)m_list1.DeleteItem(i);BOOL gongneng:OnInitDialog() CDialog:OnInitDialog();m_list1.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_list1.InsertColumn(0,編號,LVCFMT_CENTER,110,0);m_list1.InsertColumn(1,人數(shù),LVCFMT_CENTER,110,1);m_list1.InsertColumn(2,功能,LVCFMT_CENTER,110,2);m_list1.InsertColumn(3,類型,LVCFMT_CENTER,110,3); m_list1.InsertColumn(4,是否使用,LVCFMT_CENTER,110,4);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid gongneng:OnButton5() fstream out;int i=0;out.open(file.txt,ios:out|ios:binary);for(i=0;m_list1.GetItemText(i,1)!=;i+) for(int j=0;j6;j+)out m_list1.GetItemText(i,j);AfxMessageBox(保存成功!);void gongneng:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP5); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / Do not call CDialog:OnPaint() for painting messages3.4查詢3.4.1查詢界面圖 查詢教室信息的界面 此窗口、教室可由操作員提供的教室編號,通過點擊查詢來顯示教室的基本信息,包括:容納人數(shù)、教室類型功能、是否在使用。3.2.2查詢的代碼chx:chx(CWnd* pParent /*=NULL*/): CDialog(chx:IDD, pParent)/AFX_DATA_INIT(chx)m_bianhao = _T();m_renshu = _T();m_gongneng = _T();m_leixing = _T();m_shiyong = _T();/AFX_DATA_INITvoid chx:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(chx)DDX_Text(pDX, IDC_EDIT1, m_bianhao);DDX_Text(pDX, IDC_EDIT2, m_renshu);DDX_Text(pDX, IDC_EDIT3, m_gongneng);DDX_Text(pDX, IDC_EDIT4, m_leixing);DDX_Text(pDX, IDC_EDIT5, m_shiyong);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(chx, CDialog)/AFX_MSG_MAP(chx)ON_BN_CLICKED(IDC_BUTTON1, Onchx)ON_WM_PAINT()/AFX_MSG_MAPEND_MESSAGE_MAP()/ chx message handlersvoid chx:Onchx() ifstream in;char buffer20;CString a10000;int i=0;in.open(file.txt,ios:in);while(!in.eof()in.getline(buffer,15, );ai=buffer;i+;UpdateData();for(i=0;i900;i+)if(ai=m_bianhao)m_renshu=ai+1;m_gongneng=ai+2; m_leixing=ai+3; m_shiyong=ai+4;UpdateData(false);void chx:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP4); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / Do not call CDialog:OnPaint() for painting messages3.5添加3.5.1添加界面 圖 添加對話框操作員輸入教室的編號、人數(shù)、功能、類型、是否使用信息,然后點擊保存將信息添加進主界面,點擊退出重新進入主界面。3.5.2主要實現(xiàn)代碼Add:Add(CWnd* pParent /*=NULL*/): CDialog(Add:IDD, pParent)/AFX_DATA_INIT(Add)m_bianhao = _T();m_renshu = _T();m_gongneng = _T();m_leixing = _T();m_shiyong = _T();/AFX_DATA_INITvoid Add:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(Add)DDX_Text(pDX, IDC_EDIT1, m_bianhao);DDX_Text(pDX, IDC_EDIT2, m_renshu);DDX_Text(pDX, IDC_EDIT3, m_gongneng);DDX_Text(pDX, IDC_EDIT4, m_leixing);DDX_Text(pDX, IDC_EDIT5, m_shiyong);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(Add, CDialog)/AFX_MSG_MAP(Add)ON_BN_CLICKED(IDC_BUTTON1, Onsave)ON_BN_CLICKED(IDC_BUTTON2, OnCancel)ON_WM_PAINT()/AFX_MSG_MAPEND_MESSAGE_MAP()/ Add message handlersvoid Add:OnCancel() CDialog:OnCancel();void Add:Onsave() UpdateData(TRUE); CDialog:OnOK();fstream file;file.open(file.txt,ios:in|ios:out|ios:app);UpdateData(true);filem_bianhao m_renshu m_gongneng m_leixing m_shiyong ;file.close();MessageBox(保存成功);BOOL Add:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid Add:OnPaint() CPaintDC dc(this); / device context for painting CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP3); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); / Do not call CDialog:OnPaint() for painting messages第四章 總結經(jīng)過一個學期對C+面向對象的程序設計的學習,我學習到了基本的理論知識,了解到了C+語言設計的思想,這些知識都為我的課程實踐和進一步學習打下了堅實的基礎。在為期一周的C+課程設計中,我會頗多,學習到了很多東西。我加強了對計算機語言的學習,對它有的更深入的認識。總之,通過這次課程設計,我收獲頗豐,相信會為自己以后的學習和工作帶來很大的好處。像教室管理系統(tǒng)這樣的程序設計,經(jīng)歷了平時在課堂和考試中不會出現(xiàn)的問題和考驗。而這些問題不是我們平時只靠課本就能解決的。所以,鍛煉了我們用已掌握的知識去解決具體問題的能力,進一步培養(yǎng)了我們獨立思考問題和解決問題的能力。在老師和同學的幫助下,通過自己的努力,終于完成了這次教室管理系統(tǒng)的課程設計。通過課程設計的訓練,我進一步學習和掌握了對程序的設計和編寫,從中體會了面向對象程序設計的方便和巧妙。懂得了在進行編寫一個程序之前,要有明確的目標和整體的設計思想。另外某些具體的細節(jié)內(nèi)容也是相當?shù)闹匾?。這些寶貴的編程思想和從中摸索到的經(jīng)驗都是在編程的過程中獲得的寶貴財富。這些經(jīng)驗對我以后的編程會有很大的幫助的,我要好好利用??偠灾?,這次C+程序設計實踐讓我收獲很大。 參考文獻1 杜茂康,李昌兵,曹慧英,王永. C+面向對象程序設計. 第2版. 北京: 電子工業(yè)出版社,20112孔鵬. Visual C+6.0 完全自學手
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 韶山語文面試題及答案
- 街道團委面試題及答案
- 華為從戰(zhàn)略到執(zhí)行培訓
- 2025年中國排球器材行業(yè)市場全景分析及前景機遇研判報告
- 《數(shù)智時代下的供應鏈管理:理論與實踐》課件 第十一章 供應鏈績效評估
- 幼兒蘑菇美術課件
- 中醫(yī)護理課件
- 航空航天復合材料 課件 第10章 新型復合材料
- 基層群眾文化活動組織的定位及實踐方法研究
- 塔吊安全技術培訓
- 生理學全套課件
- 孕期保健主題宣教培訓課件
- 《高血壓健康教育規(guī)范》
- 骨科手術后的康復用具與輔助器具
- 小學特色課程《口風琴課程》校本教材
- 電腦教室搬遷方案
- 《如何寫文獻綜述》課件
- 汽車美容店計劃書案例
- 2023高教版中職中國特色社會主義基礎模塊課程標準
- 信息機房火災事故應急處置方案
- 火災調查專業(yè)技能.全國比武單項科目解析
評論
0/150
提交評論