vc++学籍管理系统报告.doc

上传人:文库蛋蛋多 文档编号:2385772 上传时间:2023-02-17 格式:DOC 页数:13 大小:488.50KB
返回 下载 相关 举报
vc++学籍管理系统报告.doc_第1页
第1页 / 共13页
vc++学籍管理系统报告.doc_第2页
第2页 / 共13页
vc++学籍管理系统报告.doc_第3页
第3页 / 共13页
vc++学籍管理系统报告.doc_第4页
第4页 / 共13页
vc++学籍管理系统报告.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《vc++学籍管理系统报告.doc》由会员分享,可在线阅读,更多相关《vc++学籍管理系统报告.doc(13页珍藏版)》请在三一办公上搜索。

1、1. 需求分析采用VC+设计一款学生学籍管理软件,采用视窗程序,能够对学生的信息,如:学号、姓名、性别、民族、出生年月、政治面貌、生源地、籍贯、班级、专业、系别等进行操作。操作包括从Excel导入、新增、并且能够将内容保存到Excel文件中去。1、数据结构设计记录所有的耗材信息,采用结构体如下所示:struct data0CString data11;datas255;int datanum;其中 datanum记录当前学生的数量结构体中每个项目data表示具体的内容,比如某个学生的姓名等情况。1、 测试情况:采用测试的excel文件,用户导入内容,显示如下:图 1 Excel文件内容2. 程

2、序设计1、 程序函数说明(1) 从外部excel文件载入信息void CMyDlg:OnLoad() /从excel载入信息(2) 整体函数的初始化void CMyDlg:initial()/初始化(3) 在列表框中显示所有的内容void CMyDlg:initial()/初始化(4) 点击显示详细内容的按钮,进行详细内容的显示void CMyDlg:Onshowdetail()/查看详细信息(5) 点击新增内容按钮,新增一个内容void CMyDlg:Onaddnew() /新增信息(6) 点击保存按钮,将当前内容保存到excel文件中void CMyDlg:OnSavedata() /保存

3、信息2、 程序流程图如下所示初始化从Excel导入显示显示所有的内容打开对话框显示详细内容新增内容显示保存按钮选择保存的excel保存图 2 程序流程图3. 调试分析1、 遇到问题主要遇到的问题包括如何打开excel文件。一般的文件读写方式,是直接读写,通过用户输入文件名进行读、写。但是当数据文件和程序文件不在一起的时候,就需要写入全部的地址,造成了整个程序友好性有限。通过学习发现了一个CFile的函数,可以方便的打开某个界面,选择某个文件,并且获取全部路径,方便了读写的操作,大大加强了使用的方便性。4. 使用说明1、 运行软件,显示如下图所示:图 3 程序初始界面2、点击载入信息按钮,弹出选

4、择excel文件对话框图 4 载入Excel内容3、载入后显示图 5 载入内容后显示2、 点击某个项目 图 6 显示详细内容点击按钮,显示详细信息图 7 显示详细内容3、 点击新增按钮,显示新增对话框图 8 显示详细信息4、 确定后,显示内容在列表框中图 9 新增后显示5、 保存信息到Excel文件中图 10 保存Excel图 11 保存成功则Excel文件中如下所示:图 12 保存在Excel中内容5. 测试结果测试结果中,外部excel文件如下图所示:图 13 Excel中内容导入后显示到程序中如下所示:图 14 载入后程序内容可见导入excel文件正常在程序内部输入如下所示:图 15 新

5、增内容成功导入如下所示:图 16 成功导入后内容新增内容运行正常。6. 心得体会通过此次程序的完成,基本掌握了VC+小型程序的制作方法,了解了如何完成一个数据库类型的软件的方法。并且通过独立的学习,克服了种种困难,这种经历是难得的,会为我以后的学习与工作打下良好的基础。 7. 附录1、 主函数 学籍管理软件Dlg.cpp内容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;/将数据存储到全局数组里面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()/显示所有内容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(专业);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、 新增内容 函数内容 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_

14、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(0,-1);m_11.ReplaceSel(words10); BOOL showdetails:OnInitDialog() CDialog:OnInitDialog();initial();return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号