鉑金教師管理系統(tǒng)課程設(shè)計說明書.doc_第1頁
鉑金教師管理系統(tǒng)課程設(shè)計說明書.doc_第2頁
鉑金教師管理系統(tǒng)課程設(shè)計說明書.doc_第3頁
鉑金教師管理系統(tǒng)課程設(shè)計說明書.doc_第4頁
鉑金教師管理系統(tǒng)課程設(shè)計說明書.doc_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

華北科技學(xué)院課程設(shè)計說明書面向?qū)ο蟪绦蛟O(shè)計(C+)課程設(shè)計說明書 設(shè)計題目: 鉑金教室管理系統(tǒng) 第1頁 共 25 頁目錄第一章 緒論21.1設(shè)計總說明21.2關(guān)鍵字21.3課題意義21.4課題目的31.5研究范圍3第二章 系統(tǒng)說明42.1系統(tǒng)總體框架42.2類的實現(xiàn)5第三章 系統(tǒng)總設(shè)計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第四章 總結(jié)24參考文獻25華北科技學(xué)院課程設(shè)計說明書第一章 緒論1.1設(shè)計總說明為了培養(yǎng)和鍛煉自身的計算機信息軟件設(shè)計和開發(fā)能力,使自己能獨立開發(fā)軟件。通過本系內(nèi)的課程設(shè)計課題的安排,我根據(jù)自身的能力程度,選擇了教室管理系統(tǒng),用于教室的日常管理。通過此課程的設(shè)計,結(jié)合有關(guān)的知識和相關(guān)技術(shù)資料,如:面向?qū)ο蟪绦蛟O(shè)計(C+),對這個課本一學(xué)期的學(xué)習(xí)對程序設(shè)計有了很好的認(rèn)識了,能夠獨立編寫程序?qū)崿F(xiàn)對教室信息的添加、查詢以及和保存的操作。結(jié)合有關(guān)的知識和相關(guān)技術(shù)資料,有一個很好的教室管理系統(tǒng),使教室的管理更加便捷。過去落后的教室管理系統(tǒng)已經(jīng)不適應(yīng)現(xiàn)代社會的需求了,急需出現(xiàn)一套更符合學(xué)校需要的新一代教室管理系統(tǒng)。查詢歷史數(shù)據(jù)模塊:教室容量、類型、功能、使用情況等,通過該教室管理系統(tǒng)地運行,使辦公人員可以輕松快捷的完成對教室管理的任務(wù),提高教室信息管理效率,使教室的使用情況簡單化、明了化。1.2關(guān)鍵字教室管理系統(tǒng);C+;MFC1.3課題意義當(dāng)今時代,計算機信息已成為我們?nèi)粘I畈豢苫蛉钡囊徊糠?。運用計算機技術(shù)可以實現(xiàn)很多復(fù)雜繁瑣的功能,增加信息處理速度。隨著網(wǎng)絡(luò)用戶要求的不斷提高及計算機科學(xué)的迅速發(fā)展,,這些技術(shù)越來越純熟,越來越豐富化。本課題的研究對于大學(xué)的教室管理有較大的好處,大學(xué)里教室數(shù)量較多,上課和學(xué)生自習(xí)的流動性強,這就為教室的管理帶來一些困難,傳統(tǒng)的教室管理方式耗人力較多,隨著時代的發(fā)展,它就顯得跟不上時代的步伐,為了能夠更加有效的耗人力少的管理教室,也為了能夠適應(yīng)時代的發(fā)展,很有必要利用計算機,運用程序開發(fā)軟件來開發(fā)一個教室管理系統(tǒng)。1.4課題目的課程設(shè)計的目的是總結(jié)及運用一學(xué)期來所學(xué)的知識,訓(xùn)練我們靈活應(yīng)用所學(xué)C+知識,獨立完成問題分析、總結(jié)設(shè)計、詳細(xì)設(shè)計和編程實現(xiàn)等軟件開發(fā)全過程的綜合實踐能力。鞏固、深化理論知識,提高編程水平,并在此過程中培養(yǎng)我們嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的工作作風(fēng)及團結(jié)協(xié)作的精神。1.5研究范圍主要用于教室卡管理系統(tǒng),它可以幫助我們有效、準(zhǔn)確、并且高效實現(xiàn)的完成查詢事件。此系統(tǒng)操作方便效率。系統(tǒng)實現(xiàn)的主要有學(xué)生查詢和管理員對教室信息的添加、保存、刪除等。第二章 系統(tǒng)說明2.1系統(tǒng)總體框架用戶選擇界面管理員學(xué)生用戶名登錄密碼查詢退出輸入編號管理添加顯示結(jié)果保存查詢輸入退出確認(rèn)輸入編號保存顯示結(jié)果結(jié)束啟動系統(tǒng)后,首先進入用戶選擇。其中學(xué)生子系統(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)總設(shè)計3.1選擇3.1.1選擇界面圖 選擇對話框操作員操作程序時需要選擇用戶性質(zhì),學(xué)生可直接進入查詢界面,管理員則進入登錄界面。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是你自己的圖對應(yīng)的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登陸界面圖 登陸對話框 操作員用戶性質(zhì)選擇為管理員時必須輸入登陸口令,包括用戶名和密碼,只有輸入正確的登錄口令操作員才能進入教室管理系統(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是你自己的圖對應(yīng)的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第四章 總結(jié)經(jīng)過一個學(xué)期對C+面向?qū)ο蟮某绦蛟O(shè)計的學(xué)習(xí),我學(xué)習(xí)到了基本的理論知識,了解到了C+語言設(shè)計的思想,這些知識都為我的課程實踐和進一步學(xué)習(xí)打下了堅實的基礎(chǔ)。在為期一周的C+課程設(shè)計中,我會頗多,學(xué)習(xí)到了很多東西。我加強了對計算機語言的學(xué)習(xí),對它有的更深入的認(rèn)識。總之,通過這次課程設(shè)計,我收獲頗豐,相信會為自己以后的學(xué)習(xí)和工作帶來很大的好處。像教室管理系統(tǒng)這樣的程序設(shè)計,經(jīng)歷了平時在課堂和考試中不會出現(xiàn)的問題和考驗。而這些問題不是我們平時只靠課本就能解決的。所以,鍛煉了我們用已掌握的知識去解決具體問題的能力,進一步培養(yǎng)了我們獨立思考問題和解決問題的能力。在老師和同學(xué)的幫助下,通過自己的努力,終于完成了這次教室管理系統(tǒng)的課程設(shè)計。通過課程設(shè)計的訓(xùn)練,我進一步學(xué)習(xí)和掌握了對程序的設(shè)計和編寫,從中體會了面向?qū)ο蟪绦蛟O(shè)計的方便和巧妙。懂得了在進行編寫一個程序之前,要有明確的目標(biāo)和整體的設(shè)計思想。另外某些具體的細(xì)節(jié)內(nèi)容也是相當(dāng)?shù)闹匾_@些寶貴的編程思想和從中摸索到的經(jīng)驗都是在編程的過程中獲得的寶貴財富。這些經(jīng)驗對我以后的編程會有很大的幫助的,我要好好利用。總而言之,這次C+程序設(shè)計實踐讓我收獲很大。 參考文獻1 杜茂康,李昌兵,曹慧英,王永. C+面向?qū)ο蟪绦蛟O(shè)計. 第2版. 北京: 電子工業(yè)出版社,20112孔鵬. Visual C+6.0 完全自學(xué)手

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論