版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 2011 ~ 2012 學(xué)年第 1 學(xué)期</p><p> 一、課程設(shè)計題目:學(xué)生成績管理系統(tǒng)</p><p><b> 二、課程設(shè)計內(nèi)容</b>
2、;</p><p> 使用面向?qū)ο蟮某绦蛟O(shè)計方法,程序的功能主要包括:對學(xué)生成績信息的增、刪、查、改等基本功能,并能夠按照學(xué)號或姓名及成績等進(jìn)行排序和篩選,使用文件進(jìn)行數(shù)據(jù)的存儲和維護(hù),能夠按照班級或?qū)I(yè)進(jìn)行分類的管理。</p><p> 本程序的參考程序使用雙向鏈表保存數(shù)據(jù)的底層數(shù)據(jù)結(jié)構(gòu),并使用C++標(biāo)準(zhǔn)庫提供的list來實現(xiàn)這個鏈表的結(jié)構(gòu)。由于利用list類,所以實現(xiàn)起來很簡單。雖
3、然這種方法超出一般的教材,但只要學(xué)習(xí)一下標(biāo)準(zhǔn)庫,還是容易理解的。C++推薦使用標(biāo)準(zhǔn)庫,這也是目前編程的方向,推薦此題目為本課程設(shè)計作為選做內(nèi)容,可以根據(jù)實際教學(xué)情況決定,目的是使學(xué)生熟悉和了解C++的標(biāo)準(zhǔn)庫。</p><p><b> 三、進(jìn)度安排</b></p><p> 1.分析問題,給出數(shù)學(xué)模型,選擇數(shù)據(jù)結(jié)構(gòu).</p><p> 2
4、.設(shè)計算法,給出算法描述</p><p><b> 3.給出源程序清單</b></p><p> 4. 編輯、編譯、調(diào)試源程序</p><p> 5. 撰寫課程設(shè)計報告</p><p><b> 四、基本要求</b></p><p> 1.界面友好,函數(shù)功能要劃分好
5、</p><p> 2.總體設(shè)計應(yīng)畫一流程圖</p><p> 3.程序要加必要的注釋</p><p> 4.要提供程序測試方案</p><p> 5.程序一定要經(jīng)得起測試,寧可功能少一些,也要能運行起來,不能運行的程序是沒有價值的。</p><p><b> 目 錄</b></
6、p><p><b> 一 概述4</b></p><p> 1.1 課程設(shè)計的目的4</p><p> 1.2 課程設(shè)計的要求4</p><p> 1.3 設(shè)計說明4</p><p> 二 總體方案設(shè)計6</p><p> 2.1 需求分析6</p
7、><p> 2.2 程序流程圖7</p><p> 2.3 概要設(shè)計7</p><p><b> 三 詳細(xì)設(shè)計9</b></p><p> 3.1 程序的模塊設(shè)計與分析9</p><p> 3.1.1 學(xué)生成績管理登錄界面9</p><p> 3.1.2
8、 管理員添加帳號11</p><p> 3.1.3 管理員增加課程12</p><p> 3.1.4 學(xué)生選課13</p><p> 3.1.5 老師評定成績14</p><p> 四 程序的調(diào)試與運行結(jié)果說明18</p><p> 4.1 功能測試18</p><p>
9、 五 課程設(shè)計總結(jié)21</p><p><b> 參考文獻(xiàn)22</b></p><p><b> 一 概述</b></p><p><b> 課程設(shè)計的目的</b></p><p> 1.理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計思想和方法。</p>
10、<p> 2.培養(yǎng)綜合運用所學(xué)知識獨立完成課題的能力。</p><p> 3.培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。</p><p> 4.掌握從資料文獻(xiàn)、科學(xué)實驗中獲得知識的能力,提高學(xué)生從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。</p><p><b
11、> 課程設(shè)計的要求</b></p><p> 1.界面友好,函數(shù)功能要劃分好</p><p> 2.總體設(shè)計應(yīng)畫一流程圖</p><p> 3.程序要加必要的注釋</p><p> 4.要提供程序測試方案</p><p> 5.程序一定要經(jīng)得起測試,寧可功能少一些,也要能運行起來,不能運行
12、的程序是沒有價值的。</p><p><b> 設(shè)計說明</b></p><p> 這次課設(shè)我做的是學(xué)生成績管理系統(tǒng),本系統(tǒng)依據(jù)開發(fā)要求主要針對于教育系統(tǒng),完成對日常的教育工作對學(xué)生成績檔案及其他信息的數(shù)字化管理。開發(fā)本系統(tǒng)可使學(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對教務(wù)、教學(xué)上的各項服務(wù)和信息進(jìn)行管理,同時,可以減少勞動力的使用,加快查詢速度、加強(qiáng)管理,使各項管理
13、更加規(guī)范化。</p><p> 現(xiàn)在在各大中小學(xué)校,用計算機(jī)管理學(xué)校的信息已經(jīng)越來越普遍了。用計算機(jī)不但可以提高工作效率,而且還節(jié)省了許多人力物力,增強(qiáng)了學(xué)校資料的安全性。提高了學(xué)校的管理能力,為此,用計算機(jī)來管理學(xué)校的信息,是非常必要的。</p><p> 目前,學(xué)校工作繁雜、資料重多,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的,但由于知識
14、積累及時間關(guān)系,這次課設(shè)我所設(shè)計的系統(tǒng)不是很完善,有些地方?jīng)]有考慮到,所以實用性大打折扣,后面有時間將會將系統(tǒng)設(shè)計的全面些,更具有實用性。 </p><p> 在這次課設(shè)的開發(fā)過程中,我注意使其符合軟件工程的設(shè)計的要求,在之前準(zhǔn)備了許多時間來設(shè)計表結(jié)構(gòu),并將各個模塊的流程畫出來,使系統(tǒng)的各個模塊功能完善,并力求系統(tǒng)應(yīng)具有實用性、可靠性和適用性方便用戶的操作,盡量減少用戶的操作,并且能夠?qū)Σ樵兘Y(jié)果進(jìn)行分類匯總,該
15、系統(tǒng)還有許多不盡如人意的地方,比如用戶界面不夠美觀,對于出錯處理不夠等多方面問題,這些都有待進(jìn)一步改善。</p><p><b> 二 總體方案設(shè)計</b></p><p><b> 需求分析</b></p><p> “學(xué)生成績管理信息系統(tǒng)”包括四個模塊:用戶添加、學(xué)生選課、課程添加、成績給定。這四個模塊既相互聯(lián)系
16、又相互獨立,學(xué)生選課、成績給定模塊必須以課程添加為基礎(chǔ)。</p><p><b> 用戶添加:</b></p><p> 主要功能是管理員對學(xué)生、老師、課程的添加。具體包括對學(xué)生和老師添加相應(yīng)的帳號,姓名,密碼的功能等信息。</p><p><b> 學(xué)生選課:</b></p><p> 主
17、要功能通過選擇課程號,課程序號來確定該學(xué)生所選擇的課程。</p><p><b> 成績給定:</b></p><p> 主要功能教師通過選擇課程號,課程序號,再選定學(xué)生學(xué)號給定該學(xué)生的成績。</p><p><b> 課程添加:</b></p><p> 開課的功能是增加課程號,課程序號,
18、課程名,開課教師工作證號,和該課程相應(yīng)的學(xué)分等信息。</p><p> 程序通過登錄界面,選擇是管理員,學(xué)生或者是教師登入系統(tǒng)中,登錄系統(tǒng)后,進(jìn)行相應(yīng)給定的功能。</p><p> 管理員:用戶添加,課程添加。</p><p> 學(xué)生:選課,查看自己的不及格課程。</p><p> 教師:選擇任教課程和給學(xué)習(xí)該課程的學(xué)生打分。<
19、/p><p><b> 程序流程圖</b></p><p> 在程序流程圖里是程序功能模塊圖,主要說明了程序的運行流程。</p><p> 圖 2-1 程序功能模塊圖</p><p><b> 概要設(shè)計</b></p><p> 在概要設(shè)計里,根據(jù)系統(tǒng)需求設(shè)計學(xué)生流圖,
20、教師與管理員流圖。</p><p><b> 圖2-2 學(xué)生流圖</b></p><p> 圖2-3教師與管理員流圖</p><p><b> 三 詳細(xì)設(shè)計</b></p><p> 程序的模塊設(shè)計與分析</p><p> 3.1.1 學(xué)生成績管理登錄界面</
21、p><p> 圖3-1 學(xué)生成績管理登錄界面</p><p> void CMyDlg::OnSigninButton()</p><p> { manager mng;</p><p> teacher tch;</p><p> student stu;</p><p>
22、Int iTypeRadio=GetCheckedRadioButton(IDC_MANAGER_RADIO,IDC_TEACHER_RADIO); char str[10]=" ";</p><p> UpdateData();</p><p> if (m_user==_T("") || m_pass==_T("&
23、quot;))</p><p> {MessageBox("用戶名和密碼不可以為空!");}</p><p> else if(iTypeRadio==IDC_MANAGER_RADIO)</p><p> { strcpy(str,"管理員.txt");</p><p> if(SignI
24、n(str))</p><p> { OnClearButton();</p><p> mng.ID=id;</p><p> mng.Name=name;</p><p> mng.DoModal();}</p><p> Else InputWrong();}</p><p&g
25、t; else if(iTypeRadio==IDC_STUDENT_RADIO)</p><p> { strcpy(str,"學(xué)生.txt");</p><p> if(SignIn(str) )</p><p> { OnClearButton();</p><p> stu.ID=id;</
26、p><p> stu.Name=name;</p><p> stu.DoModal();}</p><p> Else InputWrong();}</p><p> else if(iTypeRadio==IDC_TEACHER_RADIO)</p><p> { strcpy(str,"教師
27、.txt");</p><p> if(SignIn(str))</p><p> { OnClearButton();</p><p> tch.ID=id;</p><p> tch.Name=name;</p><p> tch.DoModal();}</p><p&g
28、t; Else InputWrong();}}</p><p> inline void CMyDlg::InputWrong()//輸入錯誤處理</p><p> { MessageBox("輸入錯誤,請重新輸入");</p><p> OnClearButton();</p><p> m_use
29、r= _T("");</p><p> m_pass= _T("");</p><p> CheckRadioButton(IDC_MANAGER_RADIO,IDC_TEACHER_RADIO,IDC_MANAGER_RADIO);</p><p> UpdateData(FALSE);}</p><
30、;p> BOOL CMyDlg::SignIn(char * str)//登錄</p><p> { ifstream m_ifile (str, ios::in);</p><p> if (!m_ifile)</p><p> return FALSE;</p><p> CString usertemp, pa
31、sstemp, nametemp;</p><p> float gpatemp;</p><p> m_ifile.seekg(0);</p><p> if (strcmp(str, "學(xué)生.txt")==0)</p><p> { while(m_ifile >>usertemp>>
32、;nametemp>>passtemp>>gpatemp)</p><p> { if ( usertemp==m_user && passtemp==m_pass)</p><p> { name=nametemp;</p><p> id=usertemp;</p><p> ret
33、urn TRUE;}}}</p><p> while(m_ifile >>usertemp>>nametemp>>passtemp)</p><p> {if ( usertemp==m_user && passtemp==m_pass)</p><p> { name=nametemp;<
34、;/p><p> id=usertemp;</p><p> return TRUE;}}</p><p> return FALSE;}</p><p> 3.1.2 管理員添加帳號</p><p> 圖3-2 管理員添加帳號</p><p> void manager::OnNew
35、Button() </p><p> {int iTypeRadio;</p><p> UpdateData();</p><p> if (m_newpass==_T("") || m_newuser==_T("") || m_newname==_T(""))</p><p&
36、gt; {MessageBox("用戶名,密碼和姓名都不可以為空,請重新輸入!");return;}</p><p> iTypeRadio=GetCheckedRadioButton(IDC_MANAGER_RADIO2, IDC_TEACHER_RADIO2);</p><p> char str[10]=" ";</
37、p><p> switch (iTypeRadio)</p><p> {case IDC_MANAGER_RADIO2:</p><p> strcpy(str, "管理員.txt");</p><p> CreateID(str); break;</p><p> case IDC_STU
38、DENT_RADIO2:</p><p> strcpy(str, "學(xué)生.txt");</p><p> CreateID(str); break;</p><p> case IDC_TEACHER_RADIO2:</p><p> strcpy(str,"教師.txt");</p&g
39、t;<p> CreateID(str); break;}}</p><p> void manager::CreateID(char * str) //將用戶添加到文件</p><p> {ofstream m_ofile(str, ios::app); </p><p> CString spac(""), ente
40、('\n');</p><p> if (!m_ofile)</p><p> {MessageBox("錯誤");</p><p> OnClearButton();}</p><p> Else {if(strcmp(str, "學(xué)生.txt")==0)</p>
41、<p> m_ofile <<m_newuser<<" "<<m_newname<<" "<<m_newpass<<spac<<spac<<" "<<"-1.0"<<spac<<spac<<spac
42、<<spac<<ente;</p><p> Else m_ofile <<m_newuser<<spac<<m_newname<<spac<<m_newpass<<ente;</p><p> OnClearButton();}}</p><p> 3.1.3
43、管理員增加課程</p><p> 圖3-3 管理員增加課程</p><p> void curriculum::OnExitButton() </p><p> {OnCancel();}</p><p> void curriculum::OnClearButton() </p><p> {m_cre
44、dit = 0;</p><p> m_currID = _T("");</p><p> m_currName = _T("");</p><p> m_currNum = _T("");</p><p> m_currTch = _T("");<
45、/p><p> UpdateData(false);}</p><p> void curriculum::OnSignButton() //確定按鈕</p><p> {ofstream osign("課程.txt", ios::app);</p><p> UpdateData();</p><
46、;p> osign<<m_currID<<""<<m_currNum<<""<<m_currName<<""<<m_currTch<<""<<m_credit<<'\n';</p><p&
47、gt; OnClearButton();</p><p> osign.~ofstream();}</p><p> 3.1.4 學(xué)生選課</p><p><b> 圖3-4 學(xué)生選課</b></p><p> void SIGNCURRI::OnSelchangeCurridCombo() </p>
48、;<p> {CString sCurrID;</p><p> UpdateData();</p><p> int nSel = m_currID.GetCurSel(); </p><p> if(nSel==CB_ERR )return;</p><p> m_currID.GetLBText(n
49、Sel, sCurrID); </p><p> ifstream ifcourse("課程.txt", ios::in);</p><p> ifcourse.seekg(0);</p><p> int i, n=m_currNum.GetCount();</p><p> for (i=1; i <
50、;= n;i++)</p><p> {m_currNum.DeleteString(n-i);}</p><p> CCurri curr;</p><p> while(ifcourse>>curr)</p><p> {if (curr.currID==sCurrID </p><p> &
51、amp;& m_currNum.FindStringExact(-1, curr.currNum)==CB_ERR)</p><p> {m_currNum.AddString(curr.currNum);</p><p> m_currNum.SelectString(-1, curr.currNum);</p><p> UpdateData();
52、}}</p><p> ifcourse.~ifstream();</p><p> OnSelchangeCurrnumCombo();}</p><p> void SIGNCURRI::OnSelchangeCurrnumCombo() </p><p> {UpdateData();</p><p>
53、 CString sCurrID, sCurrNum;</p><p> int iSel = m_currID.GetCurSel(); </p><p> if(iSel==CB_ERR )return;</p><p> m_currID.GetLBText(iSel, sCurrID); </p><p>
54、int nSel = m_currNum.GetCurSel(); </p><p> if(nSel==CB_ERR )return;</p><p> m_currNum.GetLBText(nSel, sCurrNum);</p><p> ifstream ifcourse("課程.txt", ios::in);&l
55、t;/p><p> ifcourse.seekg(0);</p><p> CCurri curr;</p><p> while(ifcourse>>curr)</p><p> {if (curr.currID==sCurrID && curr.currNum==sCurrNum)</p>&
56、lt;p> {m_currName=curr.currName;</p><p> UpdateData(false);</p><p><b> break;}}}</b></p><p> 3.1.5 老師評定成績</p><p> 圖3-5 老師評定成績</p><p>
57、BOOL teacher::OnInitDialog() </p><p> {CDialog::OnInitDialog();</p><p> extern CString name, id;</p><p> Name=name;</p><p><b> ID=id;</b></p><
58、;p> m_welcome="歡迎"+Name+"老師!";</p><p> UpdateData(false);</p><p> ifstream ifcourse("課程.txt", ios::in);</p><p> ifcourse.seekg(0);</p>&l
59、t;p> CCurri curr;</p><p> CString sCurrID;</p><p> while(ifcourse>>curr)</p><p> { if (curr.currTch==ID && m_currID.FindStringExact(-1, curr.currID)==CB_ERR)<
60、;/p><p> {m_currID.AddString(curr.currID);</p><p> m_currID.SelectString(-1, curr.currID);</p><p> UpdateData(false);}}</p><p> ifcourse.~ifstream();</p><p&
61、gt; OnSelchangeCurridCombo();</p><p> OnSelchangeCurrnumCombo(); </p><p> OnSelchangeStuidCombo();</p><p> return TRUE; }</p><p> void teacher::OnClearButton() &l
62、t;/p><p> {m_stuName= _T("");</p><p> m_grade=0;</p><p> UpdateData(false);}</p><p> void teacher::OnGradeButton() </p><p> {CString stuID;&l
63、t;/p><p> UpdateData();</p><p> m_stuID.GetWindowText(stuID);</p><p> CString sCurrID, sCurrNum;</p><p> m_currID.GetWindowText(sCurrID);</p><p> m_currN
64、um.GetWindowText(sCurrNum);</p><p> float grade=0.0, credit=0.0;</p><p> float GPA;</p><p> fstream fgrade("選課.txt", ios::in | ios::out);</p><p> CSignCou
65、rse sc;</p><p> if (!fgrade)return;</p><p> streampos pos;</p><p> fgrade.seekg(0);</p><p> while(fgrade>>sc.ID>>sc.currID>>sc.currNum>>sc.
66、grade)</p><p> {if(sc.ID==stuID )</p><p> {if (sc.currID==sCurrID && sc.currNum==sCurrNum)</p><p> {pos=fgrade.tellp();</p><p> fgrade.seekp(pos-2);</p&g
67、t;<p> fgrade<<m_grade;</p><p> sc.grade=m_grade;}</p><p> if (sc.grade>=60)</p><p> {ifstream ifcourse("課程.txt",ios::in);</p><p> ifcour
68、se.seekg(0);</p><p> CCurri curr;</p><p> while(ifcourse>>curr)</p><p> if (sc.currID==curr.currID && sc.currNum==curr.currNum)</p><p> {credit+=curr.
69、credit;</p><p> grade+=sc.grade*curr.credit;}</p><p> if (credit) GPA=grade/credit;</p><p> ifcourse.~ifstream();}}}</p><p> char sName[15], sUser[15], sPass[15];&
70、lt;/p><p> float sGPA;</p><p> fgrade.~fstream();</p><p> fstream fstu("學(xué)生.txt",ios::in | ios::out);</p><p> if (!fstu)return;</p><p> fstu.se
71、ekg(0);</p><p> while(fstu>>sUser>>sName>>sPass>>sGPA)</p><p> {CString sname(sName), suser(sUser), spass(sPass);</p><p> if (suser==stuID)</p><
72、;p> {pos=fstu.tellp();</p><p> fstu.seekp(pos-4);</p><p> fstu<<setprecision(3)<<GPA;}}</p><p> fstu.~fstream();</p><p> m_grade=0;</p><p
73、> UpdateData(false);}</p><p> void teacher::OnExitButton() </p><p> {OnOK();}</p><p> void teacher::OnSelchangeCurridCombo() </p><p> {UpdateData();</p>
74、<p> int nSel = m_currID.GetCurSel(); </p><p> CString strText; </p><p> m_currID.GetLBText(nSel, strText); </p><p> CCurri curr;</p><p> in
75、t i,n=m_currNum.GetCount();</p><p> for (i=1; i<=n;i++)</p><p> {m_currNum.DeleteString(n-i);}</p><p> UpdateData(false);</p><p> ifstream ifcourse("課程.txt&
76、quot;, ios::in);</p><p> ifcourse.seekg(0);</p><p> while(ifcourse>>curr)</p><p> {if (curr.currTch==ID && curr.currID==strText </p><p> && m_
77、currNum.FindStringExact(-1, curr.currNum)==CB_ERR)</p><p> { m_currNum.AddString(curr.currNum);</p><p> m_currNum.SelectString(-1, curr.currNum);</p><p> UpdateData();}}<
78、/p><p> ifcourse.~ifstream();</p><p> OnSelchangeCurrnumCombo();}</p><p> void teacher::OnSelchangeStuidCombo(){</p><p> UpdateData();</p><p> CString st
79、uID;</p><p> int nSel = m_stuID.GetCurSel(); </p><p> if(nSel==CB_ERR )</p><p> {m_stuName=_T("");</p><p> UpdateData(false); return;}</p>&
80、lt;p> m_stuID.GetLBText(nSel, stuID); </p><p> CCurri curr;</p><p> ifstream m_ifile ("學(xué)生.txt", ios::in);</p><p> if (!m_ifile)return;</p><p> CS
81、tring usertemp, passtemp, nametemp;</p><p> float GPAtemp;</p><p> m_ifile.seekg(0);</p><p> while(m_ifile >>usertemp>>nametemp>>passtemp>>GPAtemp)</p&
82、gt;<p> {if ( usertemp==stuID)</p><p> {m_stuName=nametemp;</p><p> UpdateData(false); break;}}</p><p> m_ifile. ~ifstream();}</p><p> void teacher::OnSelc
83、hangeCurrnumCombo() </p><p> {ifstream ifgrade ("選課.txt", ios::in);</p><p> ifgrade.seekg(0);</p><p> CSignCourse sc;</p><p> CString sCurrID, sCurrNum;&
84、lt;/p><p> UpdateData();</p><p> int nSel=m_currNum.GetCurSel(); </p><p> m_currNum.GetLBText(nSel, sCurrNum);</p><p> int iSel=m_currID.GetCurSel();</p>&l
85、t;p> m_currID.GetLBText(iSel, sCurrID);</p><p> int i,m=m_stuID.GetCount();;</p><p> for(i=1; i<=m;i++)</p><p> {m_stuID.DeleteString(m-i);}</p><p> while(
86、ifgrade>>sc)</p><p> {if (sc.currID==sCurrID && sc.currNum==sCurrNum</p><p> && m_stuID.FindStringExact(-1, sc.currNum)==CB_ERR)</p><p> {m_stuID.AddString(
87、sc.ID);</p><p> m_stuID.SelectString(-1, sc.ID);</p><p> UpdateData();}}</p><p> ifstream ifcourse("課程.txt", ios::in);</p><p> ifcourse.seekg(0);</p>
88、;<p> CCurri curr;</p><p> while(ifcourse>>curr)</p><p> {if (curr.currID==sCurrID && curr.currNum==sCurrNum)</p><p> {m_currName=curr.currName;</p>
89、<p> char credit[10];</p><p> itoa(curr.credit,credit,10);</p><p> CString scredit(credit);</p><p> m_credit=scredit;</p><p> UpdateData(false); break;}}<
90、/p><p> OnSelchangeStuidCombo();}</p><p> 四 程序的調(diào)試與運行結(jié)果說明</p><p><b> 功能測試</b></p><p><b> 圖4-1 學(xué)生登錄</b></p><p><b> 圖4-2學(xué)生選課&l
91、t;/b></p><p> 圖 4-3 教師打分</p><p> 圖4-4 學(xué)生查看課程</p><p> 圖4-5學(xué)生查看不及格課程</p><p><b> 五 課程設(shè)計總結(jié)</b></p><p> 為期兩個禮拜的 C++ 課程設(shè)計終于做完了,感覺在這段時間里收獲了很多東
92、西,由于這學(xué)期才學(xué)習(xí)的C++面向?qū)ο蟪绦蛟O(shè)計,所以做 C++ 課程設(shè)計感覺是對 C++ 的一次很好的復(fù)習(xí)。剛好課程設(shè)計之前,自己學(xué)習(xí)了一段時間 MFC ,所以在課程設(shè)計過程中對VC的使用不是很困難,即使遇到不懂的就在網(wǎng)上查詢資料或咨詢老師和同學(xué)都能夠順利的解決遇到的問題。</p><p> 在這次的課題設(shè)計中,我感覺到隨著學(xué)生成績管理類型的不斷增加和成績管理要求的不斷提高,管理方面的工作量將會越來越大,并且其工
93、作將是一件十分煩瑣和非常容易出錯的事情。在這樣的情況下有一個實用學(xué)生成績管理系統(tǒng)是有其必然性的,如果能做出一個完善的學(xué)生成績管理系統(tǒng)就使管理方面的工作量減少很多。在這次的課設(shè)雖然僅僅對學(xué)生成績管理系統(tǒng)進(jìn)行建模和畫流程圖,功能實現(xiàn)簡單,但我從中學(xué)會了很多,也感到自身知識的貧乏,希望在日后的努力中能實現(xiàn)該系統(tǒng),爭取做出一個完善的系統(tǒng)。</p><p> 程序課程設(shè)計,我覺得對自己提高很大: 通過本次 C++ 程序課
94、程設(shè)計,我覺得對自己提高很大:克服了偷懶的毛病。這在我以后的學(xué)習(xí)和工作中的心理定位與調(diào)節(jié)有很大的幫助。這次的課程設(shè)計讓我又一次感受到了編程是一項非常煩瑣周密的活動,它不但需要一個人周密的思考問題的能力,處理問題的能力,還需要但需要一個人周密的思考問題的能力,處理問題的能力, 有足夠的耐心和嚴(yán)謹(jǐn)治學(xué)的作風(fēng),來不得半點馬虎. 有足夠的耐心和嚴(yán)謹(jǐn)治學(xué)的作風(fēng),來不得半點馬虎。通過本次課程設(shè)計,我開始去規(guī)范自己的編程習(xí)慣方法,學(xué)習(xí)課程設(shè)計和程序設(shè)
95、計的基本方法,學(xué)會了怎樣去借鑒別人的方法和經(jīng)驗,知道如何去查找資料和整合、處理這些資料的能力。這為以后的大學(xué)畢業(yè)設(shè)計論文打下了一個初步的基礎(chǔ)使我收益最大的是享受到了一種成功的喜悅。語言程序最重要的是進(jìn)行編譯,這個環(huán)節(jié)是一個非常痛苦和艱難的,常常會因為一小點的錯誤而在編譯失敗與再次修改的漫漫循環(huán)之路中,但失敗的越多,對人的考驗就越多,在編譯運行成功之后的享受成功的喜悅也就越多,另外在調(diào)試程序的過程中不斷的思考和運用已經(jīng)學(xué)到的知識,這對于自
96、己是有很大的提高的,同時也是對新學(xué)習(xí)的知識的大的提高。由于</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 譚浩強(qiáng),C程序設(shè)計題解與上機(jī)指導(dǎo)(第二版),北京,清華大學(xué)出版社,2000年9月。</p><p> [2] 侯俊杰,深入淺出MFC,武漢,華中科技大學(xué)出版社,2001年1月。</p><p
97、> [3] 丁有和,Visual C++實用教程,北京,電子工業(yè)出版社,2007 年1月。</p><p> [4] Thomas H.Cormen,算法導(dǎo)論,湖北,機(jī)械工業(yè)出版社,2006 年9月。</p><p> [5] 《編程之美》小組,編程之美,北京,電子工業(yè)出版社,2009 年3月。</p><p> [6] 孫鑫,VC++深入詳解,北京
98、,電子工業(yè)出版社,2000年9月。</p><p> [7] 陳維興,C++面向?qū)ο蟪绦蛟O(shè)計教程,北京,清華大學(xué)出版社,2009年6月。</p><p> [8] 杰夫瑞,Windows 核心編程,北京,清華大學(xué)出版社,2008年9月。</p><p> [9] Jeff Prosise ,MFC Windows程序設(shè)計,北京,清華大學(xué)出版社,2007 年5
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)c++課程設(shè)計
- c++課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計——學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理
- c++課程設(shè)計--- 學(xué)生成績管理系統(tǒng)設(shè)計
- c++課程設(shè)計--學(xué)生成績管理
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++課程設(shè)計報告--學(xué)生成績管理系統(tǒng)
- c&c++課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)設(shè)計與管理
- c++程序課程設(shè)計報告—學(xué)生成績管理系統(tǒng)
- c++程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論