vc++學籍管理系統(tǒng)報告_第1頁
vc++學籍管理系統(tǒng)報告_第2頁
vc++學籍管理系統(tǒng)報告_第3頁
vc++學籍管理系統(tǒng)報告_第4頁
vc++學籍管理系統(tǒng)報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 需求分析采用vc+設計一款學生學籍管理軟件,采用視窗程序,能夠?qū)W生的信息,如:學號、姓名、性別、民族、出生年月、政治面貌、生源地、籍貫、班級、專業(yè)、系別等進行操作。操作包括從excel導入、新增、并且能夠?qū)?nèi)容保存到excel文件中去。1、數(shù)據(jù)結(jié)構(gòu)設計記錄所有的耗材信息,采用結(jié)構(gòu)體如下所示:struct data0cstring data11;datas255;int datanum;其中 datanum記錄當前學生的數(shù)量結(jié)構(gòu)體中每個項目data表示具體的內(nèi)容,比如某個學生的姓名等情況。1、 測試情況:采用測試的excel文件,用戶導入內(nèi)容,顯示如下:圖 1 excel文件內(nèi)容2. 程

2、序設計1、 程序函數(shù)說明(1) 從外部excel文件載入信息void cmydlg:onload() /從excel載入信息(2) 整體函數(shù)的初始化void cmydlg:initial()/初始化(3) 在列表框中顯示所有的內(nèi)容void cmydlg:initial()/初始化(4) 點擊顯示詳細內(nèi)容的按鈕,進行詳細內(nèi)容的顯示void cmydlg:onshowdetail()/查看詳細信息(5) 點擊新增內(nèi)容按鈕,新增一個內(nèi)容void cmydlg:onaddnew() /新增信息(6) 點擊保存按鈕,將當前內(nèi)容保存到excel文件中void cmydlg:onsavedata() /保存

3、信息2、 程序流程圖如下所示初始化從excel導入顯示顯示所有的內(nèi)容打開對話框顯示詳細內(nèi)容新增內(nèi)容顯示保存按鈕選擇保存的excel保存圖 2 程序流程圖3. 調(diào)試分析1、 遇到問題主要遇到的問題包括如何打開excel文件。一般的文件讀寫方式,是直接讀寫,通過用戶輸入文件名進行讀、寫。但是當數(shù)據(jù)文件和程序文件不在一起的時候,就需要寫入全部的地址,造成了整個程序友好性有限。通過學習發(fā)現(xiàn)了一個cfile的函數(shù),可以方便的打開某個界面,選擇某個文件,并且獲取全部路徑,方便了讀寫的操作,大大加強了使用的方便性。4. 使用說明1、 運行軟件,顯示如下圖所示:圖 3 程序初始界面2、點擊載入信息按鈕,彈出選

4、擇excel文件對話框圖 4 載入excel內(nèi)容3、載入后顯示圖 5 載入內(nèi)容后顯示2、 點擊某個項目 圖 6 顯示詳細內(nèi)容點擊按鈕,顯示詳細信息圖 7 顯示詳細內(nèi)容3、 點擊新增按鈕,顯示新增對話框圖 8 顯示詳細信息4、 確定后,顯示內(nèi)容在列表框中圖 9 新增后顯示5、 保存信息到excel文件中圖 10 保存excel圖 11 保存成功則excel文件中如下所示:圖 12 保存在excel中內(nèi)容5. 測試結(jié)果測試結(jié)果中,外部excel文件如下圖所示:圖 13 excel中內(nèi)容導入后顯示到程序中如下所示:圖 14 載入后程序內(nèi)容可見導入excel文件正常在程序內(nèi)部輸入如下所示:圖 15 新

5、增內(nèi)容成功導入如下所示:圖 16 成功導入后內(nèi)容新增內(nèi)容運行正常。6. 心得體會通過此次程序的完成,基本掌握了vc+小型程序的制作方法,了解了如何完成一個數(shù)據(jù)庫類型的軟件的方法。并且通過獨立的學習,克服了種種困難,這種經(jīng)歷是難得的,會為我以后的學習與工作打下良好的基礎。 7. 附錄1、 主函數(shù) 學籍管理軟件dlg.cpp內(nèi)容void cmydlg:onload() /從excel載入信息cfiledialog dlg(true,xls,null,ofn_hidereadonly |ofn_overwriteprompt,rad file(*.xls)|*.xls|);/打開文件夾cstring

6、array rows, column;int i,j,num1;if(dlg.domodal()=idok)cspreadsheet ss(dlg.getpathname(), sheet1);cstringarray rows,column;/將數(shù)據(jù)存儲到全局數(shù)組里面num1=ss.gettotalrows()-1;datanum=num1;for (i = 0; i 0)for(j=0;j11;j+)datasi-1.dataj=rows.getat(j);datasi-1.data0=datasi-1.data0.left(10);showall();void cmydlg:initia

7、l()/初始化datanum=0;m_list.insertcolumn(0,學號,lvcfmt_left,100,0);m_list.insertcolumn(1,姓名,lvcfmt_left,70,0);m_list.setextendedstyle(lvs_ex_fullrowselect);void cmydlg:showall()/顯示所有內(nèi)容int i,j;m_list.deleteallitems();cstring str;for(i=0;idatanum;i+)m_list.insertitem(i,);m_list.setitemtext(i,0,datasi.data0)

8、;m_list.setitemtext(i,1,datasi.data1);void cmydlg:onshowdetail()/查看詳細信息 showdetails dlg;position pos;int num,i;pos=m_list.getfirstselecteditemposition();num=(int)m_list.getnextselecteditem(pos);for(i=0;i11;i+)dlg.wordsi=datasnum.datai;dlg.sin=1;dlg.domodal();void cmydlg:onaddnew() /新增信息showdetails d

9、lg;dlg.sin=0;dlg.domodal();if(dlg.sure=1)int i;for(i=0;i11;i+)datasdatanum.datai=dlg.wordsi;datanum+;showall();void cmydlg:onsavedata() /保存信息cfiledialog dlg(false,xls,null,ofn_hidereadonly |ofn_overwriteprompt,rad file(*.xls)|*.xls|);/打開文件夾cstringarray rows, column;int i,j,num1;if(dlg.domodal()=idok

10、)cspreadsheet ss(dlg.getpathname(), sheet1);cstringarray samplearray, testrow;samplearray.removeall();samplearray.add(學號);samplearray.add(姓名);samplearray.add(性別);samplearray.add(民族);samplearray.add(出生年月);samplearray.add(政治面貌);samplearray.add(生源地);samplearray.add(籍貫);samplearray.add(班級);samplearray.a

11、dd(專業(yè));samplearray.add(系別);ss.addheaders(samplearray);for(i=0;idatanum;i+)samplearray.removeall();for(j=0;j11;j+)samplearray.add(datasi.dataj);ss.addrow(samplearray);ss.commit();messagebox(保存成功);2、 新增內(nèi)容 函數(shù)內(nèi)容 showdetail.cppvoid showdetails:onok() sure=1;m_1.getwindowtext(words0);m_2.getwindowtext(wor

12、ds1);m_3.getwindowtext(words2);m_4.getwindowtext(words3);m_5.getwindowtext(words4);m_6.getwindowtext(words5);m_7.getwindowtext(words6);m_8.getwindowtext(words7);m_9.getwindowtext(words8);m_10.getwindowtext(words9);m_11.getwindowtext(words10);oncancel();void showdetails:oncan() sure=0;oncancel();void

13、 showdetails:initial()/初始化if(sin=1)m_1.setsel(0,-1);m_1.replacesel(words0); m_2.setsel(0,-1);m_2.replacesel(words1); m_3.setsel(0,-1);m_3.replacesel(words2); m_4.setsel(0,-1);m_4.replacesel(words3); m_5.setsel(0,-1);m_5.replacesel(words4); m_6.setsel(0,-1);m_6.replacesel(words5); m_7.setsel(0,-1);m_7.replacesel(words6); m_8.setsel(0,-1);m_8.replacesel(words7); m_9.setsel(0,-1);m_9.replacesel(words8); m_10.setsel(0,-1);m_10.replacesel(words9); m_11.setsel(

溫馨提示

  • 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

提交評論