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

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O計(C+)課程設計說明書設計題目:粕金教室管理系統(tǒng)目錄第一章緒論 11.1 設計總說明 11.2 關鍵字 11.3 課題意義 21.4 課題目的 21.5 研究范圍 2第二章系統(tǒng)說明 32.1 系統(tǒng)總體框架 32.2 類的實現(xiàn) 4第三章系統(tǒng)總設計 63.1 選擇 63.1.1 選擇界面 63.1.2 登陸界面的代碼 63.2 登錄 1 33.2.1 登陸界面 1 33.2.2 登陸界面的代碼 1 43.3 教室信息管理主界面 1 83.3.1 主界面 1 83.3.2 主界面的代碼 1 83.4 查詢 253.4.1 查詢界面 253.2.2查詢的代碼 263.5添加 3 13.

2、5.1 添加界面 3 13.5.2 主要實現(xiàn)代碼 3 1第四章 總結(jié) 36參考文獻 37第一章 緒論1.1 設計總說明為了培養(yǎng)和鍛煉自身的計算機信息軟件設計和開發(fā)能力,使自己能獨立開發(fā)軟件。通過本系內(nèi)的課程設計課題的安排,我根據(jù)自身的能力程度,選擇了教室管理系統(tǒng),用于教室的日常管理。通過此課程的設計,結(jié)合有關的知識和相關技術資料,如:面向?qū)ο蟪绦蛟O計( C+ ) ,對這個課本一學期的學習對程序設計有了很好的認識了,能夠獨立編寫程序?qū)崿F(xiàn)對教室信息的添加、查詢以及和保存的操作。結(jié)合有關的知識和相關技術資料,有一個很好的教室管理系統(tǒng),使教室的管理更加便捷。過去落后的教室管理系統(tǒng)已經(jīng)不適應現(xiàn)代社會的需

3、求了,急需出現(xiàn)一套更符合學校需要的新一代教室管理系統(tǒng)。查詢歷史數(shù)據(jù)模塊:教室容量、類型、功能、使用情況等,通過該教室管理系統(tǒng)地運行,使辦公人員可以輕松快捷的完成對教室管理的任務,提高教室信息管理效率,使教室的使用情況簡單化、明了化。1.2 關鍵字教室管理系統(tǒng);C+ ; MFC1.3 課題意義當今時代,計算機信息已成為我們?nèi)粘I畈豢苫蛉钡囊徊糠帧_\用計算機技術可以實現(xiàn)很多復雜繁瑣的功能,增加信息處理速度。隨著網(wǎng)絡用戶要求的不斷提高及計算機科學的迅速發(fā)展,,這些技術越來越純熟,越來越豐富化。本課題的研究對于大學的教室管理有較大的好處,大學里教室數(shù)量較多,上課和學生自習的流動性強,這就為教室的管理

4、帶來一些困難,傳統(tǒng)的教室管理方式耗人力較多,隨著時代的發(fā)展,它就顯得跟不上時代的步伐,為了能夠更加有效的耗人力少的管理教室,也為了能夠適應時代的發(fā)展,很有必要利用計算機,運用程序開發(fā)軟件來開發(fā)一個教室管理系統(tǒng)。1.4 課題目的課程設計的目的是總結(jié)及運用一學期來所學的知識,訓練我們靈活應用所學C+ 知識,獨立完成問題分析、總結(jié)設計、詳細設計和編程實現(xiàn)等軟件開發(fā)全過程的綜合實踐能力。鞏固、深化理論知識,提高編程水平,并在此過程中培養(yǎng)我們嚴謹?shù)目茖W態(tài)度和良好的工作作風及團結(jié)協(xié)作的精神。1.5 研究范圍主要用于教室卡管理系統(tǒng),它可以幫助我們有效、準確、并且高效實現(xiàn)的完成查詢事件。此系統(tǒng)操作方便效率。系

5、統(tǒng)實現(xiàn)的主要有學生查詢和管理員對教室信息的添加、保存、刪除第二章系統(tǒng)說明2.1 系統(tǒng)總體框架學生查詢輸入編號用戶選擇界面管理員登錄管理顯不'結(jié)果查詢添加保存退出輸入編號輸入確認顯不'結(jié)果保存結(jié)束啟動系統(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)總設

6、計3.1 選擇3.1.1 選擇界面場法金故室管理案統(tǒng)歡迎!進入管室管理系統(tǒng)圖選擇對話框操作員操作程序時需要選擇用戶性質(zhì),學生可直接進入查詢界面,管理員則進入登錄界面。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 s

7、ubsequent DestroyIcon in Win32 m_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

8、_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 application&

9、#39;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 TRUEunless 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 ico

10、n. 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 = GetS

11、ystemMetrics(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);elseCPaintDC dc(this);CRect rect;GetClientRect(&rect);CDC dcMem;dcMem.C

12、reateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP1);/IDB_BITMAP 是你自己的圖對應的IDBITMAP bitmap;bmpBackground.GetBitmap(&bitmap);CBitmappbmpOld=dcMem.SelectObject(&bmpBackground);dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmH

13、eight,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 hereUpdateData(TRUE);CDialog:OnOK();denglu m;m.DoModal(

14、);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 memb

15、er 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)

16、/AFX_MSG_MAPEND_MESSAGE_MAP()/ denglu message handlersvoid denglu:OnPaint()CPaintDC dc(this); / device context for paintingCRect rect;GetClientRect(&rect);CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP2);/IDB_BITMAP 是你自己的圖對應的IDBITMAP bitmap;

17、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();go

18、ngneng 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 王界面入敵類型貓?zhí)柟δ苁欠袷褂脠D主界面對話框從這個主界面對話框我們能很清楚的看到操作員可以通過主界面對話框中的按鈕提示對教室信息

19、就操作,包括:查詢、添加、刪除、保存 。3.3.2 主界面的代碼gongneng:gongneng(CWnd* pParent /*=NULL*/):CDialog(gongneng:IDD, pParent)/AFX_DATA_INIT(gongneng)/AFX_DATA_INIT void gongneng:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(gongneng)DDX_Control(pDX, IDC_LIST1, m_list1);/AFX_DATA_MAPBEGIN_M

20、ESSAGE_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 han

21、dlersvoid 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.SetItemT

22、ext(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,

23、 NULL, SW_SHOWNORMAL);void gongneng:OnButton4()if(this->MessageBox(" 確定刪除嗎?"," 刪除 ",MB_OKCANCEL)=1)if(m_list1.GetSelectedCount()<1)return;elsefor(int i=m_list1.GetItemCount()-1;i>=0;i-)if(m_list1.GetItemState(i,LVIS_SELECTED)m_list1.DeleteItem(i);BOOL gongneng:OnInitDial

24、og()CDialog:OnInitDialog();m_list1.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);m_list1.InsertColumn(0,"編號II,LVCFMT_CENTER,110,0);m_list1.InsertColumn(1,"人數(shù)II,LVCFMT_CENTER,110,1);m_list1.InsertColumn(2,"功能II,LVCFM

25、T_CENTER,110,2);m_list1.InsertColumn(3,"類型II,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 FALSE void gongneng:OnButton5()fstream out;int i=0;out.ope

26、n("file.txt",ios:out|ios:binary);for(i=0;m_list1.GetItemText(i,1)!=""i+) for(int j=0;j<6;j+)out<<" "<<m_list1.GetItemText(i,j);AfxMessageBox(" 保存成功!");void gongneng:OnPaint()CPaintDC dc(this); / device context for paintingCRect rect;GetClientRec

27、t(&rect);CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP5);BITMAP bitmap;bmpBackground.GetBitmap(&bitmap);CBitmappbmpOld=dcMem.SelectObject(&bmpBackground);dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bit

28、map.bmHeight,SRCCOPY);/ Do not call CDialog二OnPaint() for painting messages3.4.1查詢界面圖查詢教室信息的界面3.4 查詢此窗口、教室可由操作員提供的教室編號,通過點擊查詢來顯示教室的基本信息,包括:容納人數(shù)、教室類型功能、是否在使用。3.2.2 查詢的代碼chx:chx(CWnd* pParent /*=NULL*/): CDialog(chx:IDD, pParent)/AFX_DATA_INIT(chx)m_bianhao = _T("");m_renshu = _T(""

29、;);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

30、);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.

31、open("file.txt",ios:in);while(!in.eof()in.getline(buffer,15,' ');ai=buffer;i+;UpdateData();for(i=0;i<900;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 paintingCRect rect;

32、GetClientRect(&rect);CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP4);BITMAP bitmap;bmpBackground.GetBitmap(&bitmap);CBitmappbmpOld=dcMem.SelectObject(&bmpBackground);dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap

33、.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("

34、;");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_go

35、ngneng);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()CDialo

36、g:OnCancel();void Add:Onsave()UpdateData(TRUE);CDialog:OnOK();fstream file;file.open("file.txt",ios:in|ios:out|ios:app);UpdateData(true);file<<m_bianhao<<" "<<m_renshu<<" "<<m_gongneng<<" "<<m_leixing<<"<

37、<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()CPaintD

38、C dc(this); / device context for paintingCRect 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.StretchBl

39、t(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)過一個學期對C+ 面向?qū)ο蟮某绦蛟O計的學習,我學習到了基本的理論知識,了解到了 C+ 語言設計的思想,這些知識都為我的課程實踐和進一步學習打下了堅實的基礎。在為期一周的C+ 課程設計中,我會頗多,學習到了很多東西。我加強了對計算機語言的學習,對它有的更深入的認識。總之,通過這次課程設計,我收獲頗豐,相信

40、會為自己以后的學習和工作帶來很大的好處。像教室管理系統(tǒng)這樣的程序設計,經(jīng)歷了平時在課堂和考試中不會出現(xiàn)的問題和考驗。而這些問題不是我們平時只靠課本就能解決的。所以,鍛煉了我們用已掌握的知識去解決具體問題的能力,進一步培養(yǎng)了我們獨立思考問題和解決問題的能力。在老師和同學的幫助下,通過自己的努力,終于完成了這次教室管理系統(tǒng)的課程設計。通過課程設計的訓練,我進一步學習和掌握了對程序的設計和編寫,從中體會了面向?qū)ο蟪绦蛟O計的方便和巧妙。懂得了在進行編寫一個程序之前,要有明確的目標和整體的設計思想。另外某些具體的細節(jié)內(nèi)容也是相當?shù)闹匾?。這些寶貴的編程思想和從中摸索到的經(jīng)驗都是在編程的過程中獲得的寶貴財富。這些經(jīng)驗對我以后的編程會有很大的幫助的,我要好好利用。總而言之,這次C+ 程序設計實踐讓我收獲很大。參考文獻1 杜茂康,李昌兵,曹慧英,王永. C+ 面向

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論