![MFC學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/41776a5f-c057-4906-bf54-7bca19794914/41776a5f-c057-4906-bf54-7bca197949141.gif)
![MFC學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/41776a5f-c057-4906-bf54-7bca19794914/41776a5f-c057-4906-bf54-7bca197949142.gif)
![MFC學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/41776a5f-c057-4906-bf54-7bca19794914/41776a5f-c057-4906-bf54-7bca197949143.gif)
![MFC學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/41776a5f-c057-4906-bf54-7bca19794914/41776a5f-c057-4906-bf54-7bca197949144.gif)
![MFC學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/41776a5f-c057-4906-bf54-7bca19794914/41776a5f-c057-4906-bf54-7bca197949145.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+理于MFC1可視化程序設(shè)計(jì)報(bào)告方案概述1、問題描述學(xué)生信息包括:學(xué)號(hào)、姓名、性別、年齡、班級(jí)、專業(yè)等信息。2、功能要求(1)添加功能:程序能夠添加學(xué)生的記錄和課程設(shè)計(jì)題目記錄,提供選擇界面供用戶選擇所要添加的類別。添加記錄時(shí),要求學(xué)號(hào)和編號(hào)要唯一。如果添加了重復(fù)記錄,則提示數(shù)據(jù)添加重復(fù)并取消添加。(2)查詢功能:可根據(jù)學(xué)號(hào)、姓名、編號(hào)、名稱等信息對(duì)已添加的學(xué)生和課程設(shè)計(jì)題目進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息。(3)顯示功能:可當(dāng)前系統(tǒng)中所有學(xué)生的信息和課程設(shè)計(jì)題目信息顯示,每條記錄占據(jù)一行。(4)編輯功能:可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意
2、學(xué)號(hào)的唯一性。(5)刪除功能:主要實(shí)現(xiàn)對(duì)已添加的學(xué)生和課程設(shè)計(jì)題目記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒有相應(yīng)的記錄,則提示“記錄為空!”并返回操作。(6)保存功能:可將當(dāng)前系統(tǒng)中各類記錄存入文件中,存入方式任意。(7)注銷功能:注銷當(dāng)前用戶,返回登陸界面。3、問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);(2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系;(3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次;(4)完成類層次中各個(gè)類的描述;(5)完成類中各個(gè)成員函數(shù)的定義;(6)完成系統(tǒng)的應(yīng)用模塊;(7)功能調(diào)試;(8)完成系統(tǒng)總結(jié)報(bào)告。學(xué)生選
3、修課系統(tǒng)設(shè)計(jì)方案系統(tǒng)普糜索甌系統(tǒng)界面系統(tǒng)信息界面主界面:信息統(tǒng)計(jì)界面:系統(tǒng)實(shí)現(xiàn):1 .首先建立一個(gè)MF曖對(duì)話框,添加相關(guān)系統(tǒng)控件。如圖:2 .在解決方案中添加Student類,并實(shí)現(xiàn)這個(gè)類。代碼如下:/Student.hclassStudentpublic:stringname;stringstuNo;stringsex;stringmajor;doublescore;stringbanji;public:Student(void);Student(stringname,stringstuNo,stringsex,stringmajor,doublescore,stringbanji);Stu
4、dent.cpp#include"StdAfx.h"#include"Student.h"Student:Student(void)score,stringbanji)Student:Student(stringname,stringstuNo,stringsex,stringmajor,doublethis->name=name;this->stuNo=stuNo;this->sex=sex;this->major=major;this->score=score;this->banji=banji;3 .將數(shù)據(jù)保存、
5、讀取。在解決方案中創(chuàng)建FileManager類。代碼如下:/FileManager.h#pragmaonce#include"Student.hclassFileManagerprivate:charfilename40;public:FileManager(charfilename);FileManager(void);voidadd(Studentstu);intremove(stringname);voidedit(Studentstu);Studentsearch(stringname);map<string,Student>loadAll();voidsaveA
6、ll(map<string,Student>m);/FileManager.cpp#include"StdAfx.h"#include"FileManager.h"FileManager:FileManager(charfilename)strcpy_s(this->filename,40,filename);FileManager:FileManager(void)voidFileManager:add(Students)ofstreamfout(filename,ios:out|ios:app);<<s.score<
7、;<fout<<<<""<<s.stuNo<<""<<s.sex<<""<<s.major<<"<<s.banji<<endl;fout.close();intFileManager:remove(stringname)map<string,Student>m=loadAll();map<string,Student>:iteratorit=m.find(name)
8、;if(it=m.end()return0;/表示學(xué)生不存在elsem.erase(it);saveAll(m);return1;/表示有一個(gè)學(xué)生被刪除voidFileManager:edit(Studentstu)map<string,Student>m=loadAll();=stu;saveAll(m);StudentFileManager:search(stringname)Students;map<string,Student>m=loadAll();map<string,Student>:iteratorp;for(p=m.beg
9、in();p!=m.end();p+)據(jù)姓名查if(name=p->first)根據(jù)姓名找到s=p->second;/取出該學(xué)生對(duì)象break;returns;/將文件中的每一名學(xué)生(一行)存入一個(gè)mapmap<string,Student>FileManager:loadAll()map<string,Student>m;map<string,Student>:iteratorp;ifstreamfin(filename,ios:in);while(!fin.eof()Students;fin>>>>s.st
10、uNo>>s.sex>>s.major>>s.score>>s.banji;if(.size()!=0)=s;fin.close();returnm;voidFileManager:saveAll(map<string,Student>m)ofstreamfout(filename,ios:out);Students;map<string,Student>:iteratorp;for(p=m.begin();p!=m.end();p+)s=p->second;/取出該學(xué)生對(duì)象<<
11、s.score<<fout<<<<""<<s.stuNo<<""<<s.sex<<""<<s.major<<"<<s.banji<<endl;fout.close();4 .系統(tǒng)功能鍵有7個(gè):使這7個(gè)功能鍵分別起到作用的代碼如下:voidCdialogDlg:OnBnClickedButtonsubmit()/添加按鈕的功能UpdateData(TRUE);FileManagerf(
12、"stuInfo.txt");Studentstu=f.search(LPCSTR(name);if(!="")MessageBox("該學(xué)生已存在!","提示");return;CStringmajor;this->cbx_major.GetWindowTextA(major);Students;5 .name=LPCSTR(name);s.stuNo=LPCSTR(stuNo);s.sex=(this->int_sex=0?"男":"女)s.score=
13、score;s.major=LPCSTR(major);s.banji=(this->int_banji=0?"一班":"二班");f.add(s);MessageBox("添力口成功!","提示");voidCdialogDlg:OnBnClickedButtonsearch()/按姓名查找UpdateData(TRUE);FileManagerf("stuInfo.txt");Studentstu=f.search(LPCSTR(name);if(="&quo
14、t;)MessageBox("該學(xué)生不存在!","提示");return;/將對(duì)象的值在界面顯示出來this->stuNo=stu.stuNo.c_str();this->int_sex=(stu.sex="男"?0:1);this->int_banji=(stu.banji="一班"?0:1);this->score=stu.score;this->cbx_major.SelectString(0,stu.major.c_str();UpdateData(FALSE);/更新界面控件
15、,使其顯示關(guān)聯(lián)變量的值voidCdialogDlg:OnBnClickedButtonremove()/按姓名刪除UpdateData(TRUE);FileManagerf("stuInfo.txt");if(f.remove(LPCSTR(name)=0)MessageBox("該學(xué)生不存在!","提示");elseMessageBox("刪除成功!","提示)voidCdialogDlg:OnBnClickedButtonedit()/編輯按鈕的功能UpdateData(TRUE);FileManag
16、erf("stuInfo.txt");Studentstu=f.search(LPCSTR(name);if(="")MessageBox("不允許修改姓名!","提示");return;CStringmajor;this->cbx_major.GetWindowTextA(major);Students;=LPCSTR(name);s.stuNo=LPCSTR(stuNo);s.sex=(this->int_sex=0?"男":"女)s.sco
17、re=score;s.major=LPCSTR(major);s.banji=(this->int_banji=0?"一班":"二班");f.edit(s);MessageBox("修改成功!","提示");voidCdialogDlg:OnBnClickedButton1()/保存按鈕的功能MessageBox("已成功保存所有已編輯信息到stuInfo.txt!","提示");voidCdialogDlg:OnBnClickedButtonsave()voidCdi
18、alogDlg:OnBnClickedButton2()/顯示全部UpdateData(TRUE);FileManagerfi("stuInfo.txt");map<string,Student>p;map<string,Student>:iteratori;p=fi.loadAll();CStringlist=""for(i=p.begin();i!=p.end();i+)list+="學(xué)號(hào):"list+=i->second.stuNo.c_str();list+="姓名:"list
19、+=i->.c_str();list+="性別:"list+=i->second.sex.c_str();list+="班級(jí):"list+=i->second.banji.c_str();list+="專業(yè):"list+=i->second.major.c_str();list+=""list+="n"MessageBox(list,"所有學(xué)生");voidCdialogDlg:OnBnClickedButton4()/注銷按鈕的
20、功能CDialog:OnOK();Logindlgl;dlg1.DoModal();UpdateData(FALSE);5.創(chuàng)建登陸界面,在解決方案中,以Dlg.h為基類創(chuàng)建一個(gè)Login類,代碼如下:/Login.h#pragmaonce/Login對(duì)話框classLogin:publicCDialogDECLARE_DYNAMIC(Login)public:Login(CWnd*pParent=NULL);/標(biāo)準(zhǔn)構(gòu)造函數(shù)virtualLogin();/對(duì)話框數(shù)據(jù)enumIDD=IDD_LOGIN;protected:virtualvoidDoDataExchange(CDataExchan
21、ge*pDX);/DDX/DDV支持DECLARE_MESSAGE_MAP()public:afx_msgvoidOnBnClickedOk();afx_msgvoidOnBnClickedCancel();CStringzhanghao;CStringmima;;/Login.cpp/Login.cpp:實(shí)現(xiàn)文件/usingnamespacestd;#include"stdafx.h"#include"dialog.h"#include"Login.h"/Login對(duì)話框IMPLEMENT_DYNAMIC(Login,CDialog
22、)Login:Login(CWnd*pParent/*=NULL*/):CDialog(Login:IDD,pParent),zhanghao(_T(""),mima(_T("")Login:Login()voidLogin:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);DDX_Text(pDX,IDC_EDIT_username,zhanghao);DDX_Text(pDX,IDC_EDIT_password,mima);BEGIN_MESSAGE_MAP(Login,CDia
23、log)ON_BN_CLICKED(IDOK,&Login:OnBnClickedOk)ON_BN_CLICKED(IDCANCEL,&Login:OnBnClickedCancel)END_MESSAGE_MAP()/Login消息處理程序voidLogin:OnBnClickedOk()UpdateData(TRUE);charname20,pass20;ifstreamfin("login.txt");while(!fin.eof()fin>>name;fin>>pass;if(zhanghao=name&&mima=pass)break;fin.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆河北省高職單招數(shù)學(xué)等差專項(xiàng)練習(xí)
- 2024-2025學(xué)年廣東省平遠(yuǎn)縣實(shí)驗(yàn)中學(xué)高三上學(xué)期第二段考?xì)v史試卷
- 2025年預(yù)付商業(yè)裝修工程合同范文樣式
- 2025年光伏組件市場(chǎng)策劃購(gòu)銷合同
- 2025年熱量表項(xiàng)目提案報(bào)告模板
- 2025年專業(yè)紅娘服務(wù)合同文本
- 2025年策劃版集體土地征收補(bǔ)償協(xié)議范本
- 2025年住宅翻新管理協(xié)議書
- 2025年健身導(dǎo)師聘請(qǐng)合同模板
- 2025年自動(dòng)酸雨采樣器及測(cè)定儀項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模范
- 鋼樓梯計(jì)算(自動(dòng)版)
- 耳鼻咽喉科臨床診療指南
- 第二部分-3 植物纖維化學(xué)部分-纖維素
- 民法原理與實(shí)務(wù)課程教學(xué)大綱
- 2019北師大版高中英語選擇性必修四單詞表
- 園藝產(chǎn)品的品質(zhì)講義
- 鋼筋混凝土框架結(jié)構(gòu)工程監(jiān)理的質(zhì)量控制
- 桃花節(jié)活動(dòng)方案
- 社區(qū)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- 變更戶主情況登記表
- 個(gè)人所得稅稅率表【自動(dòng)提取稅率計(jì)算】
評(píng)論
0/150
提交評(píng)論