ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:22.40KB ,
资源ID:27739694      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27739694.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《VBNet程序设计》概要.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《VBNet程序设计》概要.docx

1、VBNet程序设计概要VB.Net程序设计实训指导书 班 级:06级计算机网络技术 指导教师:丁巨澜一、实训目的目的是通过本综合实训,使学生加强对系统功能设计、系统模块设计、数据库设计和系统详细设计等方面的了解和运用。二、实训内容1. 制作图书管理信息系统1) 首先设计数据库必须包含学生的基本信息(字段可根据需要自己设计)2) 程序运行必须有用户登录界面用户名和密码正确才能进入系统3) 图书管理模块包含图书基本信息添加、查询和修改功能2. 制作员工信息管理系统3. 制作学生成绩管理系统三、评分标准序号实训报告内容分值1用户登录介绍20分2信息添加功能介绍20分3信息查询功能介绍20分4信息修改

2、功能介绍20分5实训总结20分四、成绩评定总成绩=实训报告*50%+上机测试*50%五、时间安排计划时间内容12-29选题、需求分析12-30设计数据库、界面、流程图1-5程序代码编写1-6调试1-7总结报告六、案例设计(学生成绩管理)描述(一)程序功能:1基本功能:1) 根据教务处分配的教师ID和密码进行身份验证登录。2) 根据课程参数文件、学生名册文件输入成绩。3) 设定平时成绩、期中成绩、期末成绩等比例分配,计算出学期成绩。4) 生成成绩统计文件,其中包括各分数段的人数统计。5) 显示成绩统计文件内容。2扩展功能:1) 打印成绩统计文件内容。2) 能根据根据设定的分数段,计算等级,学分绩

3、点。3) 能根据选定字段进行排序。4) 生成成绩统计文件具有一定的容错和防止篡改的功能。(二)操作说明:a) 将Grade.exe可执行程序和Access数据库bolide.mdb放在同一工作路径下.b) 选择一个教师ID,输入教务处分配的密码,进行身份验证和登录(注:所有的教师ID所对应的密码均为:99001166)。c) 如密码正确则进入界面,在班级下拉列表框中选择您所教的班级,在课程下拉列表框中选择你所教的课程。之后会在表格中出现这个班的学生的相关信息。d) 点击相表格的字段表头,可以对表格的内容进行按相应字段进行排序,方便了查看与设置。e) 在查看控制的控件中有四个按钮:首项按钮,前一

4、项按钮,下一项按钮,末项按钮。点击首项按钮可以查看第一项记录,点击前一项按钮可以查看当前选择记录的前一项记录(pre),点击下一项按钮可以查看当前记录的下一项记录(next)。点击末项按钮可以查看表格中的最一项记录。操作小技巧:当要读取下一个记录时,按快捷键:Alt +D,当要读取前一个记录时,按快捷键Alt +A或者按键进行选择f) 在查看控件的下面是一些编辑控件:如姓名,学号,平时成绩,期中成绩,期末成绩,备注,学期成绩。其中姓名,学号,学期成绩是不可编辑的因为这些信息是教务处给定的,不可更改。而其中的平时成绩,期中成绩,期末成绩是可更改的。是给老师用于输入学生成绩的。g) 当要对学生成绩

5、信息进行录入和修改的时候,直接在这四个编辑框中输入信息,便按回车键。h) 当到了学期结束的时候,可以选择平时成绩比例下拉列表里的比例,和期中成绩比例列表框里的比例后,点击“统计学期成绩”对学期成绩进行成绩统计。i) 当统计完学期成绩,可以单击“打印按钮”。其打印结果与显示一致。(三)程序结构描述:此软件是用visual 2003 .net 平台,结合微软Access数据库开发的。用Access 新建一个数据库bolide.mdb,在数据库中新建三个基本表:Tec、T_C、Student。其结构如下:数据库 Bolide.mdb(Tec、T_C、Student)基本表Tec(Num、Tec_ID

6、、Tec_Passwor、d)T_C(ClassID、Tec_ID、Course)Student(班级、课程、学号、姓名、平时成绩、期中成绩、期末成绩、学期成绩、备注)(四)主要算法和源程序说明:教师登录: void CGradeDlg:OnBnClickedLogin()/ TODO: 在此添加控件通知处理程序代码UpdateData();CString sPath;CDaoRecordset RecSet(&db);/读取数据库的记录集CString strName; COleVariant var;CString teacher;long Tec_num;long i=List_Tec.

7、GetCurSel();GetCurrentDirectory(MAX_PATH,sPath.GetBuffer(MAX_PATH);/得到当前路径sPath.ReleaseBuffer ();CString lpszFile = sPath bolide.mdb;/得到文件的精确路径CFileFind fFind;BOOL bSuccess;bSuccess=fFind.FindFile(lpszFile);/判断是否找到数据库的文件fFind.Close ();if(bSuccess)/db.Open(lpszFile);/*db.Open(lpszFile,0,0,;PWD=990011

8、66);/数据库密码/*RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM Tec,NULL);/打开记录集while(!RecSet.IsEOF() / 有没有到表结尾RecSet.GetFieldValue(Tec_Password,var);strName = (LPCSTR)var.pbstrVal;RecSet.GetFieldValue(num,var);Tec_num= (long)var.plVal;if(strName=Tec_Password & i=Tec_num)List_Tec.GetLBText( i,teacher

9、);InfoDlg modlg;modlg.ChildTeacher=teacher;EndDialog(FALSE);/关闭登登录对话框modlg.DoModal();/显示编辑对话框break;RecSet.MoveNext();/记录下移if(RecSet.IsEOF()/如果找到记录尾,也没有找到符合条件的记录,则弹出对话框,提示用户ID或密码不正确。AfxMessageBox(用户ID或密码不正确,无法登录.);/关闭记录集及库RecSet.Close();/关闭记录集db.Close();/关闭数据库 点击列标对相关字段进行排序: void InfoDlg:OnColumnclic

10、kList1(NMHDR *pNMHDR, LRESULT *pResult) if(Stu_ListCtrl.GetItemCount() iSubItem ) case 0:RecSet-GetFieldInfo(0, m_fieldinfo);LoadSortList( CString ( m_fieldinfo.m_strName ) );/得到第一个标头的字段名break;case 1:RecSet-GetFieldInfo(1, m_fieldinfo);LoadSortList( CString ( m_fieldinfo.m_strName ) ); /得到第二个标头的字段名b

11、reak;case 2:RecSet-GetFieldInfo(2, m_fieldinfo);LoadSortList( CString ( m_fieldinfo.m_strName ) ); /得到第三个标头的字段名break;case 3:RecSet-GetFieldInfo(3, m_fieldinfo);LoadSortList ( CString (m_fieldinfo.m_strName ) ); /得到第四个标头的字段名break;case 4:RecSet-GetFieldInfo(4, m_fieldinfo);LoadSortList ( CString (m_fi

12、eldinfo.m_strName ) ); /得到第五个标头的字段名break;case 5:RecSet-GetFieldInfo(5, m_fieldinfo);LoadSortList ( CString (m_fieldinfo.m_strName ) ); /得到第六个标头的字段名break;case 6:RecSet-GetFieldInfo(6, m_fieldinfo);LoadSortList ( CString (m_fieldinfo.m_strName ) ); /得到第七个标头的字段名break;default:LoadSortList ( CString ( )

13、); / default: no sort.break;/*pResult = 0; 对CListCtrl控件中的内容进行打印:void InfoDlg:OnPrint() / TODO: 在此添加控件通知处理程序代码if(Stu_ListCtrl.GetItemCount()m_hWnd;/设置打印句柄PrnInfo.IsPrint = FALSE;/是否打印PrnInfo.nCurPage = 1;/当前页PrnInfo.nMaxLine = Stu_ListCtrl.GetItemCount();/最大行数CPreParent DlgPreView;/定义一个CpreParent 对象D

14、lgPreView.SetCallBackFun(DrawInfo, PrnInfo);/设置打印视图的信息DlgPreView.DoModal();/执行打印对话框void InfoDlg:DrawInfo(CDC &memDC, PRNINFO PrnInfo)if(memDC.m_hDC = NULL)return;int nCurPage = PrnInfo.nCurPage; /当前页BOOL IsPrint = PrnInfo.IsPrint; /是否打印int nMaxPage = PrnInfo.nCountPage; /最大页码HWND hWnd = PrnInfo.hWnd

15、;HWND hList = PrnInfo.hListView;CString csLFinality, csRFinality;CTime time;time=CTime:GetCurrentTime();/获得当前的日期csLFinality = time.Format(报表日期:%Y-%m-%d);csRFinality.Format(第 %i 页/共 %i 页, nCurPage, nMaxPage);CString szTitle=str_class;/设置打印的标题,即打印的第一页的最上面的标题CRect rc, rt1, rt2, rt3, rt4, rt5, rt6,rt7;/

16、为打印的七列设置矩形区域CPen *hPenOld;/定义画笔CPen cPen; /定义画笔CFont TitleFont, DetailFont, *oldfont;/定义字体/标题字体TitleFont.CreateFont(-MulDiv(14,memDC.GetDeviceCaps(LOGPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,VARIABLE_PITCH|FF_SWISS,_T(黑体);/细节字体DetailFont.Cr

17、eateFont(-MulDiv(10,memDC.GetDeviceCaps(LOGPIXELSY),72),0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,VARIABLE_PITCH|FF_SWISS,_T(宋体);/粗笔cPen.CreatePen(PS_SOLID, 2, RGB(0, 0, 0);int xP = GetDeviceCaps(memDC.m_hDC, LOGPIXELSX); /x方向每英寸像素点数int yP = GetDeviceCap

18、s(memDC.m_hDC, LOGPIXELSY); /y方向每英寸像素点数DOUBLE xPix = (DOUBLE)xP*10/254; /每 mm 宽度的像素DOUBLE yPix = (DOUBLE)yP*10/254; /每 mm 高度的像素DOUBLE fAdd = 7*yPix; /每格递增量DOUBLE nTop = 25*yPix; /第一页最上线int iStart = 0; /从第几行开始读取DOUBLE nBottom = nTop B5_ONELINE*fAdd;if(nCurPage != 1)nTop = 25*yPix-fAdd; /非第一页最上线if(nCu

19、rPage = 2)iStart = B5_ONELINE;if(nCurPage2)iStart = B5_ONELINE (nCurPage - 2)*B5_OTHERLINE;DOUBLE nLeft = 15*xPix; /最左线DOUBLE nRight = xPix*(B5_W-15); /最右线DOUBLE nTextAdd = 1.5*xPix;if(IsPrint)/真正打印部分static DOCINFO di = sizeof (DOCINFO), szTitle ;/设置文档的信息/开始文档打印if(memDC.StartDoc(&di)0):MessageBox(hW

20、nd, 连接到打印机化败!, 错误, MB_ICONSTOP);elseiStart = 0;nTop = 25*yPix; /第一页最上线for(int iTotalPages = 1; iTotalPages2)iStart = B5_ONELINE (nCurPage - 2)*B5_OTHERLINE;/开始页if(memDC.StartPage() 0):MessageBox(hWnd, _T(打印失败!), 错误, MB_ICONSTOP);memDC.AbortDoc();return;else/打印/标题oldfont = memDC.SelectObject(&TitleFo

21、nt);int nItem = B5_OTHERLINE;if(nCurPage = 1)nItem = B5_ONELINE;rc.SetRect(0, yPix*8, B5_W*xPix, yPix*17);memDC.DrawText(szTitle, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);memDC.SelectObject(&DetailFont);rc.SetRect(15*xPix, yPix*19, B5_W*xPix, yPix*22);memDC.DrawText(课程名称: str_course 教师姓名: str_te

22、acher csLFinality, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);/细节memDC.SelectObject(&DetailFont);rc.SetRect(nLeft, nTop, nRight, nTop fAdd);/上横线memDC.MoveTo(rc.left, rc.top);memDC.LineTo(rc.right, rc.top);rt1.SetRect(nLeft, nTop, nLeft 25*xPix, nTop fAdd); /学号rt2.SetRect(rt1.right, rt1.top, rt1.ri

23、ght 21*xPix, rt1.bottom); /姓名rt3.SetRect(rt2.right, rt1.top, rt2.right 21*xPix, rt1.bottom); /平时成绩rt4.SetRect(rt3.right, rt1.top, rt3.right 21*xPix, rt1.bottom); /期中成绩rt5.SetRect(rt4.right, rt1.top, rt4.right 21*xPix, rt1.bottom); /期末成绩rt6.SetRect(rt5.right, rt1.top, rt5.right 21*xPix, rt1.bottom);

24、/学期成绩rt7.SetRect(rt6.right, rt1.top, rc.right, rt1.bottom); /学分memDC.DrawText(学 号, &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);/打印字段学号memDC.DrawText(姓 名, &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);打印字段姓名memDC.DrawText(平时成绩, &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);打印字段平时成绩memDC.DrawText(期中

25、成绩, &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);打印字段期中成绩memDC.DrawText(期末成绩, &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);打印字段期末成绩memDC.DrawText(学期成绩, &rt6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);打印字段学期成绩memDC.DrawText(备 注, &rt7, DT_CENTER | DT_VCENTER | DT_SINGLELINE);打印字段备注memDC.MoveTo(rt1.rig

26、ht, rt1.top);/画线memDC.LineTo(rt1.right, rt1.bottom); /画线memDC.MoveTo(rt2.right, rt1.top); /画线memDC.LineTo(rt2.right, rt1.bottom); /画线memDC.MoveTo(rt3.right, rt1.top); /画线memDC.LineTo(rt3.right, rt1.bottom); /画线memDC.MoveTo(rt4.right, rt1.top); /画线memDC.LineTo(rt4.right, rt1.bottom); /画线memDC.MoveTo(

27、rt5.right, rt1.top); /画线memDC.LineTo(rt5.right, rt1.bottom); /画线memDC.MoveTo(rt6.right, rt1.top); /画线memDC.LineTo(rt6.right, rt1.bottom); /画线memDC.MoveTo(rc.left, rt1.bottom); /画线memDC.LineTo(rc.right, rt1.bottom); /画线TCHAR szID32=0, szName32=0, score_normal32=0, score_middle32=0, score_final32=0, s

28、core_term32=0,score_credit32=0;/为要打印的各字段设置变量rc.SetRect(nLeft, nTop fAdd, nRight, nTop 2*fAdd);rt1.SetRect(nLeft nTextAdd, rc.top, nLeft 25*xPix, rc.bottom); /学号rt2.SetRect(rt1.right nTextAdd, rt1.top, rt1.right 21*xPix, rt1.bottom); /姓名rt3.SetRect(rt2.right nTextAdd, rt1.top, rt2.right 21*xPix, rt1.bottom); /平时成绩rt4.SetRect(rt3.right nTextAdd, rt1.top, rt3.right

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1