已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
吉林工程技术师范学院vb课程设计设计题目: 学生档案管理 专 业: 信息管理与信息系统 班 级: 0841 学 号: 12 学生姓名: 指导教师: 2010年7月信息工程学院34目 录摘 要1第一章 系统分析3第二章 系统实现6第三章 系统调试11第四章 使用说明14总 结16附 录1、源代码182、参考资料33 摘 要经过一个学期对vb程序设计的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。学生档案管理在学校成立时就已经被定义和应用,早期的学生档案管理是人工的管理。人工管理档案既浪费时间又浪费人力及物力。不仅如此,人工管理也会造成数据的冗余和流失。为了更好的管理学生档案,科学家们编制了计算机学生档案管理系统,解决了很多问题。也为学校管理学生档案带来方便。我所编制的学生管理程序只是简单的实现了学生档案管理的部分功能,可以让读者初步理解什么是现代化的学生档案管理。本程序是建立在windows操作系统下,vb.net可是话的大型编程语言环境之下的学生档案管理程序。该程序是用来供管理员管理学生档案的程序,实现学生档案的修改、添加、保存、查询、删除等功能。关键字:学生档案管理 人工档案管理 计算机 第一章 系统分析一、题目要求设计一个学生档案管理程序要求:1、 设计一个欢迎界面2、 实现不同用户登录功能3、 建立学生档案界面(1)实现学生档案的保存功能(2)实现学生档案的修改功能(3)实现学生档案的添加功能(4)实现学生档案的查询功能(5)实现学生档案的删除功能4、 实现三个窗体的连接二、系统分析1、欢迎界面设计为了程序的美观和vb部分功能的应用,编者设计了欢迎界面,主要是为了体现vb.net中计时器的部分功能。也为了调动读者的好奇心和新鲜感。2、用户登录功能系统登录身份验证时绝大多数管理系统具有的功能之一,它可以保证只有经过系统管理员授权的用户才能使用系统,从而保证系统数据的安全性能。(1)验证登录信息的合法性,即检验用户名是系统用户,用户口令是否正确。(2)实现支持不同口令的登录模式(3)在用户选择退出时,结束(退出)应用程序。3、学生档案管理(1) 实现了保存学生的基本档案和照片路径(2) 实现了修改学生的基本档案和照片路径(3) 实现了添加学生的基本档案和照片路径(4) 实现了查找学生的基本档案和照片路径(5) 实现了删除学生的基本档案和照片路径4、 三个窗体的连接功能 本程序通过第一个窗体的隐藏(hide)和第二个窗体的展现 (show) 来完成窗体的连接功能。三、系统模块设计添加档案欢迎界面删除档案用户登录修改档案查询档案保存档案第二章 系统实现一、窗体 本程序涉及到三个窗体,这三个窗体是并列的。他们分别是欢迎窗体、用户登录窗体、学生档案管理窗体。二、窗体涉及的常用属性(1) backgroundimage:背景图像,取值为图片的路径。(2) font:显示文字的格式,包括字体、大小、颜色、风格。(3) name:名称,系统默认值为form+数值。(4) size: 大小,具有width和height两个属性值。(5) text:标题,默认值为form+数值。三、窗体所涉及的控件及功能1、form1窗体的控件控件功能label1欢迎语 label2设计者button1进入form2button2退出程序timer实现label1的闪动表一 form1窗体的控件2、form2窗体的控件控件功能label1提示label2提示button1进入form3button2取消输入button3退出程序textbox1输入用户名textbox2输入密码表二 form2窗体的控件2、 form3窗体的控件控件功能控件功能label1提示textbox1输入姓名label2提示textbox2输入民族label3提示textbox4输入政治面貌label4提示textbox5输入入学年份label5提示textbox6输入学制label6提示textbox7输入学号label7提示textbox8输入身份证号label8提示textbox9输入家庭住址label9提示textbox10输入本人电话label10提示textbox11输入学生照片地址label11提示lable12提示button1保存button7查找button2修改button8选择照片button3确认修改button9退出button4添加textbox3输入籍贯button5确认添加combobox1选择学生性别button6删除listbox1列出所有学生档案的学生姓名 表三 form3窗体的控件四、控件的常用属性1、left 控件的左端距离 2、height 控件的顶端距离3、backcolor 控件的背景色4、forecolor 控件的前景色5、readonly 控件的只读属性6、enabled 控件的可操作属性五、窗体所涉及的其它隐藏控件1、 openfiledialog控件openfiledialog控件,顾名思义就是用于打开文件的对话框。(1) 属性设置 defaultext属性:该属性用于设置openfiledialog打开文件的默认拓展名。比如您希望打开文件对话框的默认文件类型是文本文件,则需将此属性设为txt。filename属性:该属性用于返回openfiledialog所选文件的文件名(包含路径)。我们才使用openfiledialog对话框的时候,通过该属性获取用户的文件名,从而实现对用户指定文件的操作。filter属性:该属性用于设置openfiledialog可打开文件的拓展名,各拓展名及其说明字段用“|”分隔开。一个典型的设置如下:“text files(*.txt)|*.txt|all files (*.*)|*.*这个openfiledialog可以打开文本文件(*.txt)和所有文件(*.*)。(2)事件与方法fileok事件当用户单击“确定”按钮的时候会激发这个事件。用户可以在这里写一些相应这个事件的代码。在实际应用中,一般是通过showdialog方法的返回值得判断来编写事件的响应代码。例如在记事本程序中,我们就是通过下面的方法来编写响应代码的:if openfiledialog1.showdialog() = dialogresult.ok thenrtcontent.loadfile(openfiledialog1.filename,richtextboxstreamtype.plaintext)end if 这里我们利用showdialog方法打开openfiledialog窗口,然后判断它的返回值。如果返回值为dialogresult.ok,则将用户指定的文本导入到rtcontent中。从而实现了打开文件的功能。showdialog方法该方法用于打开openfiledialog窗口。它的返回值所在的名称空间为system.windows.forms.dialogresult。用户单击“确定”按钮时返回值为dialogresult.ok,单击“取消”按钮时返回值为dialogresult.cancel。reset方法该方法用于对openfiledialog窗口进行重置,将对话框的各项设置恢复到默认值。2、 savefiledialog控件savefiledialog控件是用于保存文件的对话框。所涉及的属性、事件、方法与openfiledialog控件所涉及的属性、事件、方法基本相同。第三章 系统调试如果输入错误点击查找后输入错误姓名点击选择图片按钮第四章 使用说明用户需要在进入界面后,点击“进入”按钮以进入用户登录界面。点击“退出”按钮则退出程序。进入用户登录界面后,用户需要输入用户名字及用户密码。用户名字设置为“teacher”后接任何字符均可。密码被定义为与用户名相同。如果输入正确,则会进入学生档案管理界面。如果用户输入用户名活密码错误,会弹出对话框提示输入错误。用户需点击“取消”按钮,清空文本框中的信息。用户直接点击“退出”按钮会退出程序。 进入学生档案管理界面,用户需要点击“添加”按钮,添加学生信息。添加完成后,需点击“确认添加”以在列表框中形成记录。添加完成后点击保存。若用户输入学生档案需要更改,点击“修改”按钮,修改完成后,用户需要点击“确认修改”按钮,以完成列表框的修改。用户只需点击列表框中学生的名字,点击“删除”按钮,以删除失效的学生档案。用户每次进行完操作后,点击“保存”按钮,以保存修改。学生照片的保存只需点击“选择图片”按钮,找出本学生的图片。图片框下方会自动生成照片路径,添加完成后点击保存。用户想退出程序,需要点击“退出”按钮。总 结三周的vb.net课程设计已经结束了,在这三周的时间里,我学会了很多,懂得了很多。首先,我充分了解和领悟了编程实践和实际应用,使自己进一步熟悉和巩固visual basic.net知识。另外,在visual basic.net编程的过程中我养成良好的编程习惯和思维方式,培养了冷静思考分析问题的能力。我也通过一定的文档要求,培养良好的程序设计风格和软件开发报告的书写能力 ,文档写作和程序开发同步,也就是说:应该先完成程序设计目的分析和功能模块分析后,再进行编码和程序调试、测试工作。可以先将程序中涉及的相关类设计完成后,然后录入计算机编写程序并调试。在经过定性、定量分析后,对所要进行的设计进行书面简单设计。在编程时代码规范、使用注释,养成良好的编程风格。 围绕课题教学中的目标和重点、难点进行复习。 通过回顾,理解vb.net编程方法和逻辑思考过程,理解如何将实际问题转化成计算机语言表达的模型。通过课程设计将要用到的知识做到心中有数,并能够在此基础上进行知识的扩充。通过自己对这个程序的编码,我对vb.net有了更深的了解。我体会到做任何工作都不是简单的事情,在工作的时候要谨慎,认真,切忌急躁。 在以后的学习生活中,我会丰富自己的技能,加强自己在实践中的能力,以完善自身的知识水平和实践水平。 附 录1、源代码public class form1 private sub form1_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load me.text = 学生档案管理系统 me.width = 800 me.height = 600 label1.backcolor = color.transparent label2.backcolor = color.transparent me.backgroundimage = new bitmap(e:课设图片9263490a25700f1cb0351dca.jpg) button1.backcolor = color.aliceblue button2.backcolor = color.aliceblue label2.autosize = true label1.autosize = true label1.text = 欢迎使用vb.net应用程序 label1.left = me.width / 7 label1.top = me.height / 4 label1.forecolor = color.red label1.font = new font(隶书, 30, fontstyle.bold) label2.font = new font(宋体, 10, fontstyle.italic) label2.text = 设计者:兰海涛 label2.top = me.height * 4 / 5 label2.left = me.width / 7 label2.forecolor = color.deeppink timer1.enabled = true button1.text = 进入 button1.forecolor = color.blueviolet button1.top = me.height * 1 / 2 button1.left = me.width / 5 button1.width = 120 button1.height = 50 button2.text = 退出 button2.forecolor = color.blueviolet button2.top = me.height / 2 button2.left = me.width * 3 / 5 button2.width = 120 button2.height = 50 end sub private sub timer1_tick(byval sender as object, byval e as system.eventargs) handles timer1.tick label1.forecolor = color.fromargb(rnd() * 255, rnd() * 255, rnd() * 255) end sub private sub button1_click(byval sender as object, byval e as system.eventargs) handles button1.click form2.show() me.hide() end sub private sub button2_click(byval sender as object, byval e as system.eventargs) handles button2.click dim a as integer a = msgbox(真的退出吗?, 4 + 32, 提示) if a = 6 then end end if end subend classpublic class form2 private sub form2_load(byval sender as object, byval e as system.eventargs) handles me.load me.backgroundimage = new bitmap(e:课设图片f2cf844501b9f807cffca359.jpg) me.text = 档案管理登录 me.width = 400 me.height = 300 label1.autosize = true label1.text = 用户名 label2.text = 密 码 label1.font = new font(黑体, 10, fontstyle.bold) label2.font = new font(黑体, 10, fontstyle.bold) label1.left = me.width / 10 label1.top = me.height / 5 label2.left = me.width / 10 label2.top = me.height * 0.4 textbox1.left = me.width / 2 textbox1.top = me.height / 5 textbox2.left = me.width / 2 textbox2.top = me.height * 0.4 textbox1.text = textbox2.text = textbox2.passwordchar = * label1.backcolor = color.transparent label2.backcolor = color.transparent button1.text = 确定 button2.text = 取消 button3.text = 退出 button1.backcolor = color.pink button2.backcolor = color.pink button3.backcolor = color.pink button1.forecolor = color.yellow button1.top = me.height * 3 / 5 button1.left = me.width / 5 button1.width = 50 button1.height = 30 button2.forecolor = color.blue button2.top = me.height * 3 / 5 button2.left = me.width * 2 / 5 button2.width = 50 button2.height = 30 button3.width = 50 button3.height = 30 button3.top = me.height * 3 / 5 button3.left = me.width * 3 / 5 end sub private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click if textbox1.text like # + * and textbox2.text = textbox1.text then form3.show() me.hide() else msgbox(输入错误!) end if end sub private sub button2_click(byval sender as object, byval e as system.eventargs) handles button2.click textbox1.text = textbox2.text = end sub private sub button3_click(byval sender as object, byval e as system.eventargs) handles button3.click end end subend classpublic class form3 inherits system.windows.forms.formpublic _students(1000) as student public intcount as integer public i as integer public structure student public name, minz, sex, jiguan, zhengzsf, ruxunf, xzhi, xhao, jiazhu, shenid, tel, photo end structure private sub clear1() textbox1.clear() textbox2.clear() textbox3.clear() textbox4.clear() textbox5.clear() textbox6.clear() textbox7.clear() textbox8.clear() textbox9.clear() textbox10.clear() textbox11.clear() combobox1.text = end sub public sub aa() dim sa1 as new openfiledialog sa1.initialdirectory = e:照片 sa1.filter = (*.jpg)|*.jpg sa1.showdialog() textbox11.text = sa1.filename picturebox1.image = image.fromfile(textbox11.text) end sub private sub lock() textbox1.readonly = true textbox2.readonly = true textbox3.readonly = true textbox4.readonly = true textbox5.readonly = true textbox6.readonly = true textbox7.readonly = true textbox8.readonly = true textbox9.readonly = true textbox10.readonly = true textbox11.readonly = true combobox1.enabled = false end sub private sub unlock() textbox1.readonly = false textbox2.readonly = false textbox3.readonly = false textbox4.readonly = false textbox5.readonly = false textbox6.readonly = false textbox7.readonly = false textbox8.readonly = false textbox9.readonly = false textbox10.readonly = false textbox11.readonly = false combobox1.enabled = true end sub public function addstudent(byval name as string, byval minz as string, byval sex as string, byval jiguan as string, byval zhengzsf as string, byval ruxunf as string, byval xzhi as string, byval xhao as string, byval jiazhu as string, byval shenid as string, byval tel as string, byval photo as string) _students(i).name = name _students(i).jiazhu = jiazhu _students(i).minz = minz _students(i).sex = sex _students(i).jiguan = jiguan _students(i).zhengzsf = zhengzsf _students(i).ruxunf = ruxunf _students(i).xzhi = xzhi _students(i).shenid = shenid _students(i).tel = tel _students(i).xhao = xhao _students(i).photo = photo listbox1.items.add(_students(i).name) i = i + 1 end function public function showstudent(byval index as integer) textbox1.text = _students(index + 1).name textbox2.text = _students(index + 1).minz combobox1.text = _students(index + 1).sex textbox3.text = _students(index + 1).jiguan textbox4.text = _students(index + 1).zhengzsf textbox5.text = _students(index + 1).ruxunf textbox6.text = _students(index + 1).xzhi textbox7.text = _students(index + 1).xhao textbox8.text = _students(index + 1).jiazhu textbox9.text = _students(index + 1).shenid textbox10.text = _students(index + 1).tel textbox11.text = _students(index + 1).photo listbox1.selectedindex = index end function public function xiugaistudent(byval index as integer, byval name as string, byval minz as string, byval sex as string, byval jiguan as string, byval zhengzsf as string, byval ruxunf as string, byval xzhi as string, byval xhao as string, byval jiazhu as string, byval shenid as string, byval tel as string, byval photo as string) _students(index + 1).name = name _students(index + 1).jiazhu = jiazhu _students(index + 1).minz = minz _students(index + 1).sex = sex _students(index + 1).jiguan = jiguan _students(index + 1).zhengzsf = zhengzsf _students(index + 1).ruxunf = ruxunf _students(index + 1).xzhi = xzhi _students(index + 1).shenid = shenid _students(index + 1).tel = tel _students(index + 1).xhao = xhao _students(index + 1).photo = photo listbox1.items(index) = name end function private sub form3_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load me.width = 800 me.height = 600 me.text = 学生档案 me.backgroundimage = new bitmap(e:课设图片ebd8642c96def6ce8a13994b.jpg) combobox1.items.add(男) combobox1.items.add(女) label1.backcolor = color.transparent label2.backcolor = color.transparent label3.backcolor = color.transparent label4.backcolor = color.transparent label5.backcolor = color.transparent label6.backcolor = color.transparent label7.backcolor = color.transparent label8.backcolor = color.transparent label9.backcolor = color.transparent label10.backcolor = color.transparent label11.backcolor = color.transparent label12.backcolor = color.transparent label1.text = 姓名 label2.text = 民族 label3.text = 性别 label4.text = 籍贯 label5.text = 政治面貌 label6.text = 入学年份 label7.text = 学制 label8.text = 学号 label9.text = 家庭住址 label10.text = 身份证号 label11.text = 本人电话 label12.text = 已存学生档案 button1.text = 保存 button2.text = 修改 button3.text = 确认修改 button4.text = 添加 button5.text = 确认添加 button6.text = 删除 button7.text = 查找 button8.text = 选择照片 button9.text = 退出 label1.forecolor = color.purple label2.forecolor = color.purple label3.forecolor = color.purple label4.forecolor = color.purple label5.forecolor = color.purple label6.forecolor = color.purple label7.forecolor = color.purple label8.forecolor = color.purple label9.forecolor = color.purple label10.forecolor = color.purple label11.forecolor = color.purple label12.forecolor = color.purple button1.forecolor = color.purple button2.forecolor = color.purple button3.forecolor = color.purple button4.forecolor = color.purple button5.forecolor = color.purple button6.forecolor = color.purple button7.forecolor = color.purple button8.forecolor = color.purple button9.forecolor = color.purple button1.backcolor = color.white button2.backcolor = color.white button3.backcolor = color.white button4.backcolor = color.white button5.backcolor = color.white button6.backcolor = color.white button7.backcolor = color.white button8.backcolor = color.white button9.backcolor = color.white i = 1 me.show() fileopen(2, application.startuppath & 学生档案.txt, openmode.input) do while not eof(2) dim sl as string sl = lineinput(2) _students(i).name = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).minz = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).sex = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).jiguan = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).zhengzsf = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).ruxunf = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).xzhi = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).xhao = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).jiazhu = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).shenid = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).tel = mid(sl, 2, len(sl) - 2) sl = lineinput(2) _students(i).photo = mid(sl, 2, len(sl) - 2) i = i + 1 loop fileclose(2) dim j as integer for j =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水产苗种病害防治措施
- 消防安全演练操作规程
- 港口维护脚手架租赁协议
- 展厅装修合同模板
- 赔偿协议书范本自愿赔偿
- 商务酒店无障碍设施建设指南
- 教育培训管理创新策略
- 建筑工程加固新施工合同范本
- 冷冻食品库房虫害防治策略
- 旅游公司客户隐私保密规则
- 2024年2024年离婚协议书模板电子版
- DB23T 3834-2024 安全生产培训机构管理指南
- 2024-2025学年二年级上册语文第四单元测试卷(统编版)
- 2024春期国开电大本科《公共政策概论》在线形考(形考任务1至4)试题及答案
- (正式版)SHT 3551-2024 石油化工仪表工程施工及验收规范
- 粤教版科学四年级上册全册试卷(含答案)
- 个体诊所药品清单
- 求职个人简历表格【范本模板】
- syb游戏模块 基本企业周期
- 电除尘拆除施工方案
- 线材基础知识
评论
0/150
提交评论