VB学生成绩管理系统代码
学生信息管理系统VB

河北联合大学《软件设计基础(VB)》课程设计报告设计名称:学生信息管理系统姓名:学号:专业班级:学院:设计时间:设计地点:学校机房目录1.课程设计目的 ···············································································2.课程设计任务与要求 ······································································3.课程设计说明书 ············································································4.课程设计成果 ···············································································5.程序调试过程 ···············································································6.设计问题的不足和改进方案 ·····························································7.课程设计心得 ···············································································8.附录 ···························································································9.参考文献 ·····················································································4.课程设计成果运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页)图1图2图3图41.登陆界面有账号和密码保护功能如图12.学生信息管理界面如图23.保存界面如图34.学生信息查询界面如图4。
VB课程设计-学生成绩处理系统

长江大学Yangtze universityVB课程设计实习报告专业班级﹕储运11001学生学号﹕201007078学生姓名﹕彭壮班级序号﹕16指导老师﹕冯翠丽完成时间﹕2011-12—22一.设计题目学生成绩管理系统二.设计思路从文本中读取文件数据,利用VB的顺序结构,选择结构,循环结构编写程序代码,最终将各代码写入界面设计中的各菜单下.三.程序实现的目标本程序将实现从文本中读取数据,赋值数据,运算数据,实现对学生的加权平均值,名次,全班每门课的分数段,不及格同学名单,优等生名单等运算,并写入文件。
四.程序设计框图五。
运行结果原始成绩课程学分原始成绩和原始课程学分文件读取原始课程文件加权平均分成绩排名每门课程的班级平均分加权平均分分布每门课程及分布成绩条优等生名单不及格学生名单成绩查询系统按姓名查找示例﹕按学号查找示例﹕按名次查找示例﹕六.源程序模块代码:Type xscjbxh As Stringxm As Stringcj(1 To5)AsIntegeraver As SinglemcAs IntegerEndTypeType kechen编号AsInteger课程名As String学分As SingleEnd TypePublic stu() As xscjbPublic ke() AskechenPublicN%, M%,Zxf%Public str As String窗体代码:①Form1:Public Function space1(ByVal sssAs String)Dimx%x =InStr(sss, "")DoWhilex> 0sss=Replace(sss,”", ”")x = InStr(sss," ”)Loopspace1 = sssEndFunctionPrivate Sub ajqfspm_Click()Dim t!, k As SingleForm1.ClsForm1.FontSize= 12Form1。
vb教程编程实例详解

vb教程编程实例详解VB教程编程实例详解VB(Visual Basic)是一种面向对象的编程语言,它可以用于开发Windows应用程序。
在这里,我们将详细解释一些VB 编程实例,以帮助初学者更好地理解和掌握这门语言。
编程实例1:计算器首先,让我们创建一个计算器的VB程序。
我们将使用VB的窗体和按钮来实现这个功能。
首先,我们需要在窗体上添加一些按钮,如"1"、"2"、"+"、"="等。
然后,我们需要用一个文本框来显示计算结果。
在窗体上双击"+"按钮并添加以下代码:```Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.ClickDim num1 As IntegerDim num2 As IntegerDim result As Integernum1 = Integer.Parse(TextBoxNum1.Text)num2 = Integer.Parse(TextBoxNum2.Text)result = num1 + num2TextBoxResult.Text = result.ToString()End Sub```在这个代码中,我们首先定义了三个变量:num1、num2和result,用于存储计算结果。
然后,我们使用Integer.Parse方法将文本框中输入的文本转换为整数类型,并将其赋值给num1和num2。
接下来,我们将num1和num2相加,将结果赋值给result,并使用result.ToString()方法将结果转换为字符串类型并显示在结果文本框中。
编程实例2:学生成绩管理系统接下来,让我们创建一个学生成绩管理系统的VB程序。
基于VB的学生成绩管理系统设计

S LSre 在数据挖掘和分析 服务领域 的应用。 Q e r v
V B使用 了可 以简单建立应用程序 的 G I U 系统 ,但是又可 以开发相 当复杂 的程序 。V B的程序是一种基 于窗体 的可视化 组件 安排 的联合 ,并且 增加代 码来 指定 组建 的属性 和方 法 。 因为 默认的属性 和方法 已经 有一部分 定义在 了组件 内 ,所 以 程序 员不用写 多少 代码就可 以完成一个 简单 的程序 。窗体控 件 的增 加和改 变可以用拖放 技术实现 。一个排 列满控 件 的工
Ab t a t h s p p rd v lp t d n c iv me tma a e n y t m,t c i v h t d n n g me ts se t , sr c :T i a e e e o s a su e ta h e e n n g me t s s e o a h e e t e su e tma a e n y t ma i c sa d r iai n a d a t mai n. sma n f n t n i e u e o o ue sfrsu e t c iv me t n g me t t n a dz t n uo t o o I i c i st s fc mp t r t d n h e e n t u o h o a ma a e n . Ke r s t d n c iv me t; n o main ma a e n S se d sg y wo d :S u e ta h e e n If r t n g me t; y t m e in o
种 面向对象 的开发工具 ,尤 其是数据 窗 口这一 能方便 而简 洁 操纵 数据库 的智能化对象 ,首先在短 时间 内建 立 系统 应用原
成绩系统框图、界面

VB 课程设计题目:学 生 成 绩 管 理 系 统设计一个简单的学生成绩程序管理系统,使用随机文件存储学生信息,该程序具有数据添加、修改、删除及学生信息顺序查询功能。
程序的运行界面如下图所示。
一、系统结构框图如下:查询(下一个)子 模 块删除 子模 块修 改 子模 块查询(上一个)子 模 块添 加 子模 块密 码 子模 块登陆模块管理模块系统总体结构框图二、密码程序界面及主要控件属性设置1.程序界面:2. 主要控件属性设置:对象属性(属性值)属性(属性值)说明窗体1 Name (Form1) Caption(“登陆成绩管理系统”)窗体2 Name (Form2) Caption(“学生成绩管理系统”)文本框1 Name ( Text1) Text (“”)PassWordChar(*) 指定显示在文本框中的替代符命令按钮1 Name(CmdIn) Caption(“进入”)标签1 Name(Label1) Caption(“请输入密码:”)AutoSize(True) 返回或设置一个值,以决定控件是否自动改变大小显示其全部内容命令按钮2 Name(CmdExit) Caption(“退出”)三 、成绩管理程序界面及主要控件属性设置1. 程序界面:2. 主要控件属性设置:四、系统程序对象 属性(属性值) 属性(属性值)说明窗体 Name (form1) Caption(“学生成绩管理”) 文本框1 Name (TxtID ) Text(“”) 输入和显示学号 文本框2 Name (TxtName ) Text(“”) 输入和显示姓名 文本框3 Name(TxtClass ) Text(“”) 输入和显示班级 文本框4Name(TxtSubject ) Text(“”) 输入和显示专业 文本框控件数组5 Name (TxtMark ) Index(1—3) 输入和显示三门课程成绩文本框6 Name(TxtTotal ) Text(“”) 显示总成绩 命令按钮1 Name (CmdAdd ) Caption(“添加”) 向文件中追加记录 命令按钮2 Name(CmdChange ) Caption(“修改”)修改当前记录 命令按钮3 Name(CmdDelete ) Caption(“删除”) 删除当前记录 命令按钮4 Name(CmdBefore ) Caption(“上一个”) 显示上一个记录 命令按钮5Name(CmdNext )Caption(“下一个”)显示上一个记录一、密码程序:(form1)Private Sub Form_Load()者‘装入窗体事件过程Form2.HideEnd SubPrivate Sub CmdIn_Click() ‘进入密码事件过程Static nn = n + 1If n = 3 Then: MsgBox "对来起!密码三次错误退出!": End pass$ = Text1.Text '为Text1开始获得焦点设其tabindex=0 If pass$ = "666666" ThenForm1.HideForm2.ShowElseLabel1.Caption = "请重新输入密码:"Text1.Text = "" '使文本框清空Text1.SetFocusEnd IfEnd Sub'(密码输入后)按回车键将触发KeyPress事件(替代鼠标单击‘进入’)Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCmdIn_ClickEnd IfEnd SubPrivate Sub CmdExit_Click() ‘退出密码事件过程EndEnd Sub二、成绩管理系统程序:1. 标准模块代码:(Module1)Type student ‘定义学生信息记录类型id As String * 8name As String * 10class As String * 10subject As String * 20mark(1 To 3) As IntegerEnd TypePublic stu As student ‘定义student类型变量存放当前记录内容Public filename As String ‘定义变量存放学生信息文件名Public rec_no As Integer ‘定义变量存放当前记录号Public rec_total As Integer ‘定义变量存放总记录数Public rec_long As Integer ‘定义变量存放记录长度—————————————————————————2. 成绩管理代码:(form2)Private Sub cmdadd_Click() ’添加记录事件过程Dim i As Integer, nmsg As IntegerFor i = 1 To rec_totalGet #1, i, stuIf Trim(stu.id) = Trim(txtid.Text) Thennmsg = MsgBox("文件中已有该同学的记录,要显示修改此记录吗?", vbYesNo)If nmsg = vbYes Thenrec_no = iCall displayEnd IfExit SubEnd IfNext iCall getdatarec_total = rec_total + 1rec_no = rec_totalPut #1, rec_no, stuEnd SubPrivate Sub cmdbefore_Click() ‘显示上一条记录事件过程If rec_no > 1 Thenrec_no = rec_no - 1ElseMsgBox "现在已是首记录!"Exit SubEnd IfGet #1, rec_no, stuCall displayEnd SubPrivate Sub cmdchange_Click() ‘修改当前记录事件过程Call getdata ’将修改的数据保存到记录变量中Put #1, rec_no, stu ’修改记录Call displayEnd SubPrivate Sub cmddelete_Click() ‘删除当前记录事件过程Dim i As IntegerDim dempno As Integertempno = rec_noOpen filename & ".temp" For Random As #2 Len = rec_long For i = 1 To rec_totalIf i <> tempno ThenGet #1, i, stuPut #2, , stuEnd IfNext iCloseKill filenameName filename & ".temp" As filenameCall fileopenEnd SubPrivate Sub cmdnext_Click() ‘显示下一条记录事件过程Dim nmsg As IntegerIf rec_no < rec_total Then ‘未到打开记录尾时执行该程序rec_no = rec_no + 1Call display ‘显示当前记录Elsenmsg = MsgBox("已到最后一记录了!要回到首记录吗?", vbYesNo)If nmsg = vbYes Thenrec_no = 1 ‘回到首记录Call displayEnd IfEnd IfEnd SubPrivate Sub txtclear() ‘清除各文本框中的内容子过程Dim i As IntegerWith stutxtid = "": txtname = ""txtclass = "": txtsubject = ""For i = 1 To 3txtmark(i) = ""Next itxttotal = ""End WithEnd SubPrivate Sub display() ‘显示当前记录子过程Dim i As IntegerGet #1, rec_no, stuWith stutxtid = .id: txtname = .nametxtclass = .class: txtsubject = .subjectFor i = 1 To 3txtmark(i) = .mark(i)Next itxttotal = .mark(1) + .mark(2) + .mark(3)End WithEnd SubPrivate Sub getdata() ‘将在文本框输入的数据存入到记录变量中Dim i As Integerstu.id = txtid.Text: = txtname.Textstu.class = txtclass.Text: stu.subject = txtsubject.TextFor i = 1 To 3stu.mark(i) = Val(txtmark(i).Text)Next iEnd SubPrivate Sub txtmark_lostfocus(index As Integer)If index = 3 Then ‘当输入完最后一门课程,则计算并显示总成绩txttotal = Val(txtmark(1)) + Val(txtmark(2)) +Val(txtmark(3))End IfEnd SubPrivate Sub Form_Load() ‘装入窗体事件过程filename = App.Path & "\studet.dat"‘App.Path意思就是应用程序所在的路径。
vb练习题及答案

vb练习题及答案VB练习题及答案VB(Visual Basic)是一种广泛应用于Windows操作系统的编程语言,它以其简单易学的特点受到了许多初学者和专业开发者的青睐。
为了帮助大家更好地掌握VB编程,下面将提供一些VB练习题及其答案,希望能对大家有所帮助。
练习题一:计算器程序编写一个VB程序,实现一个简单的计算器功能。
要求用户输入两个数字和一个操作符(+、-、*、/),然后根据操作符进行相应的计算,并输出结果。
解答:```vbPrivate Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.ClickDim num1 As Double = CDbl(txtNum1.Text)Dim num2 As Double = CDbl(txtNum2.Text)Dim operator As String = cmbOperator.SelectedItem.ToString()Dim result As DoubleSelect Case operatorCase "+"result = num1 + num2Case "-"result = num1 - num2Case "*"result = num1 * num2Case "/"result = num1 / num2End SelectlblResult.Text = "Result: " & result.ToString()End Sub```练习题二:学生成绩管理系统编写一个VB程序,实现一个简单的学生成绩管理系统。
要求用户输入学生的姓名和成绩,然后将其保存到数组中。
用户可以通过输入姓名来查询学生的成绩。
解答:```vbPrivate Structure StudentPublic Name As StringPublic Score As DoubleEnd StructurePrivate students() As StudentPrivate Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.ClickDim newStudent As Student = txtName.TextnewStudent.Score = CDbl(txtScore.Text)ReDim Preserve students(students.Length)students(students.Length - 1) = newStudenttxtName.Text = ""txtScore.Text = ""End SubPrivate Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.ClickDim searchName As String = txtSearchName.TextDim found As Boolean = FalseFor Each student As Student In studentsIf = searchName ThenlblSearchResult.Text = "Score: " & student.Score.ToString()found = TrueExit ForEnd IfNextIf Not found ThenlblSearchResult.Text = "Student not found."End IfEnd Sub```练习题三:简单的文本编辑器编写一个VB程序,实现一个简单的文本编辑器功能。
vb学生成绩管理系统{完整版}

目录摘要 (3)关键字: (3)引言 (3)一、系统的理论与技术基础 (4)1.1管理信息系统基础 (4)1.2 软件工程理论的概述 (4)1.3 软件工程理论对本系统的指导 (4)二、系统的需求分析 (5)2.1项目开发的背景分析 (5)2.2 项目开发的目标 (5)2.3项目提出的意义 (6)2.4 国内外研究现状 (6)三、系统的开发工具及编程环境 (9)3.1 开发工具的选择 (9)3.3编程环境的选择 (10)3.5 Visual Basic 系统实现菜单选项 (12)3.5 Visual Basic 系统实现菜单选项 (12)四、系统数据库的使用 (13)4.1 系统数据库的选择 (13)4.2 数据的保存和读取 (13)4.3 数据库文件的易用性 (13)4.4 数据库文件格式 (14)4.5教师管理界面编码设计 (16)五、系统代码及开发过程 (18)5.1系统的开发 (18)5.2功能需求描述 (18)5.3代码及图示 (18)5.3.2.主窗口: (18)5.3.3.管理系统: (19)5.3.4.属性: (20)5.3.5.打开系统显示的界面 (20)5.3.6.窗体的尺寸 (21)结论 (22)致谢 (23)参考文献 (24)学生成绩管理系统摘要学生信息管理系统是典型的信息管理系统,经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:数据库,智能化,面向对象ABSTRACT:The abstract student information management system is the typical information management system, the process analysis, We use MICROSOFT Corporation VISUAL the BASIC development kit, uses each kind of object-oriented development kit which it provides, especially first in a short time establishes the system application prototype, then, carries on the demand iteration to the initial prototype system, revises and the improvement unceasingly, until forms user satisfaction the feasible system.Key words:Database,intelligence,object-oriented引言随着学校规模的不断扩大,学生数量急剧增加,有关学生的各科成绩信息量也成倍增长。
用VB开发学生成绩管理系统

、
系统功 能 设 计
( 1 ) 系统 主 要 功 能描 述 。① 用 户 管理 : 用来 管理 系 统 用 户 , 可 数 , 如果 超 出 指定 的次数 , 则 自动 关 闭程 序 。
以添加用户名 、 修改用户密码。 ②学生信息管理: 学生基本情况汇 总与管理 , 主要包括对学生 成绩 的添加 、 修改 、 删除和查 询等操 括对学生成绩的添加 、 修改 、 删除 、 查询和统计等操作 。④课 程管
表 2学生信 息表结构
字 段 名 数 据 类 型 S N o 文 本 S n a me 文 本 S s e x 文 本 S a g a 数 字
S p l a c e 文 本
字 段 大 小 7 1 2 2 整 型
3 2
说 明 学号 , 主键 , 必填 字 段 姓名, 必 填 字段 性别 , 必填 字段 年龄 , 必 填 字 段
子 模 块 的设 计 , 最后 再将 制 作 好 的代 码 打 包为 安 装程 序 等 , 详 细描 述 学生成 绩 管 理 系统 的 开 发过 程 。 关键词: Ⅶ 语言 ; A c c e s s 数据库; 成绩管理; 模块 设 计
在中职学校, 对于学生基本信息和成绩 的管理是学校的一项基
一
不匹配 , 则根据具体情况 弹出相应的警告对话框。为了使系统更
加 安全 , 加 人 一个 窗 口级公 共 对 象 , 用 来 记 录密 码 输 入错 误 的 次 ( 2 ) MDI 窗1 3 r 菜单 栏 设计 。在 系统 中添加 MD I 窗 口作 为系 统 主窗 口 , 为 其 加 入菜 单 栏 。根 据系 统 设 计 中 的各 功 能 模 块 设 计 菜 C l i c k事件 过 程 。当选 择 菜 单命 令 时 , 显 示 相应 的功 能 窗 口或 实 现
一种基于VB的成绩管理系统开发

一
种基 于
VB
的 成 绩 管 理 系统 开 发
。
一
龙雄辉
( 1 广 东工 业 大 学
.
,
李克 天
。
,
广 东广 州
5 10 0 0 6
;
2
.
广 州铁 路 职 业 技 术 学院
,
广 东广 州
5 10 4 3 0
)
一
以来
,
言 篡
;
巢 ?
浏 览 器 /服 务 器
:
绩 管理 系统
给 出 了总 体 设 计 方 案
信息 。
多 次 调 试 后 ,程 序 中使 用 了 两种 方法 解 决 该 问 题 :
1 把 所 有 需 在 D tgi 件 中 显 示 的 数 据 先 用 S L ) aar d控 Q
。
这 些 优 点 能够 极 大 地 提 高学 生 成
一
绩管理 的效率
有必要
,
因此
,
开发
套 学 生 成绩 管理 系 统 软件 很
同 时 要 求 它 能 够 为 用 户 提 供 充 足 的信 息 和 方 便 的
。
操作方式
以 下 是 结 合本校 管 理 模 式 开 发 学 生 成绩管 理 系统 的过
程
,
介 绍 了 开 发 中遇 到 的 数 据 库 选 用
之 改 变 。将 D t r a gi 件 放 置 在 窗 体 中之 后 ,把 D t r a d控 aa ,使 D tg d控 件 与 要 处 理 的 数 D D aar i 据 库 之 间建 立 联 系 。 在 D tgi 修 改 数 据 后 ,更 新 多 个 a r a d中 数 据 表 时 会 出 现 “n uf i t k y c l nom t n f I sf c n e ou i e mn i r ai o f o r
vb6.0开发实例 -回复

vb6.0开发实例-回复VB6.0开发实例:创建一个简单的学生信息管理系统一、引言学生信息管理系统是一个常见而重要的应用系统,它可以方便地记录和管理学生的个人信息、成绩、课程表等内容。
通过本文,我们将一步一步介绍如何在VB6.0中创建一个简单的学生信息管理系统,并让您了解一些基本的开发技巧和原则。
二、环境准备在开始之前,我们需要进行一些准备工作。
首先,您需要安装VB6.0开发环境,并确保其正常运行。
其次,我们需要创建一个新的VB项目,并设置相应的窗体和控件。
三、界面设计为了方便用户使用,良好的界面设计是至关重要的。
在我们的学生信息管理系统中,我们将使用一些常见的控件,如标签、文本框、按钮等。
1. 首先,我们需要创建一个用于显示学生信息的主窗体。
在主窗体中,我们可以设置一些菜单选项,以便用户可以执行一些常用的操作,如添加、修改、删除学生信息等。
2. 其次,我们可以在主窗体上添加一些子窗体,以便用户可以查看和编辑学生的详细信息。
例如,我们可以创建一个用于显示学生列表的子窗体,以及一个用于编辑学生详细信息的子窗体。
3. 最后,我们可以在子窗体中添加一些控件,以便用户可以输入和保存学生信息。
例如,我们可以在学生详细信息编辑窗体中添加一些文本框和按钮,以便用户可以输入和保存学生的姓名、性别、年龄等信息。
四、数据处理在学生信息管理系统中,数据处理是一个非常重要的环节。
我们需要设计一个合适的数据库结构,并编写一些函数和过程来处理数据。
1. 首先,我们可以使用VB6.0自带的数据库引擎,如Access、SQL Server 等,来创建一个用于存储学生信息的数据库。
2. 其次,我们可以使用VB6.0提供的ADO对象来连接和操作数据库。
例如,我们可以编写一个函数来查询学生信息,以便在学生列表窗体中显示学生列表。
3. 最后,我们可以通过编写相应的添加、修改、删除学生信息的函数来实现对学生信息的操作。
例如,当用户点击添加按钮时,我们可以调用一个函数来插入新的学生信息。
学生成绩管理系统的设计与实现代码

学生成绩管理系统的设计与实现代码本系统有增加学生记录、修改学生记录、删除学生记录、按姓名查询学生记录、按C语言成绩对学生进行排序、退出系统6大功能。
能够对学生的姓名,学号,c语言成绩做相应的操作。
在检测到输入成绩大于55时,会自动加上5。
该管理系统设计功能模块图:下面是源代码:#include "stdio.h"#include "string.h"/*定义学生结构体*/struct Student{char ID[20]; //学号char Name[20]; //姓名float C_Mark; //C语言成绩};/*声明学生数组及学生数量*/struct Student students[1000];int num=0;/*通过学号返回数组下标*/int Student_SearchByIndex(char id[]) {int i;for (i=0;i<num;i++){if (strcmp(students[i].ID,id)==0) {return i;}}return -1;}/*通过姓名返回数组下标*/int Student_SearchByName(char name[]) {int i;for (i=0;i<num;i++){if (strcmp(students[i].Name,name)==0){return i;}}return -1;}/*显示单条学生记录*/void Student_DisplaySingle(int index){printf("%10s%10s%8s\n","学号","姓名","C语言成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%8.2f\n",students[index].ID,students[index] .Name,students[index].C_Mark);}/****1、增加学生记录*****/void Student_Insert(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);getchar();printf("请输入姓名:");scanf("%s",&students[num].Name);getchar();printf("请输入C语言成绩:");scanf("%f",&students[num].C_Mark);getchar();if (54<students[num].C_Mark && students[num].C_Mark< 60) //把55~59分之间的成绩都加上5分{students[num].C_Mark += 5;}num++;printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/******2、修改学生信息**********/void Student_Modify(){while(1){char id[20];int index;printf("请输入要修改的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("该学生不存在!\n");}else{printf("你要修改的学生信息为:\n");Student_DisplaySingle(index);printf("-- 请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入C语言成绩:");scanf("%f",&students[index].C_Mark);getchar();}printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/****3、删除学生信息****/void Student_Delete(){int i;while(1){char id[20];int index;printf("请输入要删除的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("学生不存在!\n");}else{printf("你要删除的学生信息为:\n");Student_DisplaySingle(index);printf("是否真的要删除?(Y/N)");if (getchar()=='Y'){for (i=index;i<num-1;i++){students[i]=students[i+1];//把后边的对象都向前移动}num--;}getchar();printf("已删除\n");}printf("是否继续删除?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/****4、按姓名查询******/void Student_Select(){while(1){char name[20];int index;printf("请输入要查询的学生的姓名:");scanf("%s",&name);getchar();index=Student_SearchByName(name);if (index==-1){printf("学生不存在!\n");}else{printf("你要查询的学生信息为:\n");Student_DisplaySingle(index);}printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/******5、按C语言成绩排序*******/void Student_SortByAverage(){int i,j;struct Student tmp;for (i=0;i<num;i++){for (j=1;j<num-i;j++){if (students[j-1].C_Mark<students[j].C_Mark){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}/*显示学生信息*/void Student_Display(){int i;printf("%10s%10s%8s\n","学号","姓名","成绩");printf("-------------------------------------------------------------\n");for (i=0;i<num;i++){printf("%10s%10s%8.2f\n",students[i].ID,students[i].Name ,students[i].C_Mark);}}/*将学生信息从文件(Database.txt)中读出*/void IO_ReadInfo(){FILE *fp;int i;if ((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if (fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i<num;i++){fread(&students[i],sizeof(struct Student),1,fp);}}fclose(fp);}/*将学生信息写入文件(Database.txt)*/void IO_WriteInfo(){FILE *fp;int i;if ((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if (fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for (i=0;i<num;i++){if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);}/***********主程序*********/void main(){int choice;IO_ReadInfo(); //读取文件while(1){/*主菜单*/printf("\n------ 学生成绩管理系统------\n");printf("1. 增加学生记录\n");printf("2. 修改学生记录\n");printf("3. 删除学生记录\n");printf("4. 按姓名查询学生记录\n");printf("5. 按C语言成绩排序\n");printf("6. 退出\n");printf("请选择(1-6):");scanf("%d",&choice);getchar();switch(choice){case 1:Student_Insert();break;case 2:Student_Modify();break;case 3:Student_Delete();break;case 4:Student_Select();break;case 5:Student_SortByAverage();Student_Display();break;case 6:exit(0);break;}IO_WriteInfo();}}1234567891011121415161718192021222324252627282930313233343637383940414243444546474849505152535455565859606162636465666768697071727374757677788081828384858687888990919293949596979899 100102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320322323324325326327328329330331332333334335336337338运行结果:测试第一个功能,输入四个学生的成绩:测试第二个功能,修改学生记录:测试第三个功能,删除学生记录:测试第四个功能,按姓名查询学生记录:测试第五个功能,显示所有学生的成绩,按照C语言成绩由高到底排序:我们可以看到,各项功能的实现,在第2个步骤中,将赵的成绩改为80,而第3个步骤删除了李的成绩。
vb6.0开发实例

vb6.0开发实例Visual Basic 6.0(VB6.0)是一款经典的集成开发环境(IDE),用于Windows平台的软件开发。
本文将通过一个简单的实例来演示如何使用VB6.0创建一个学生成绩管理系统,旨在帮助初学者了解VB6.0的基本开发过程。
一、新建项目:打开VB6.0,选择“标准EXE”模板,创建一个新项目。
接下来,设计一个简单的窗体,包括学生姓名、学号、数学成绩和英语成绩等基本信息的输入框。
二、设计数据库:在VB6.0中,我们可以使用Access数据库作为后台数据库。
创建一个名为"StudentDB.mdb"的Access数据库,其中包含一个名为"StudentTable"的表,用于存储学生信息(姓名、学号、数学成绩、英语成绩)。
三、连接数据库:在VB6.0的窗体上添加ADO控件,用于与数据库进行交互。
通过ADO控件建立与"StudentDB.mdb"数据库的连接,并在代码中编写SQL语句,实现数据的插入、更新、删除和查询等操作。
' 连接数据库Private Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Dat a Source="& App.Path & "\StudentDB.mdb;Persist Security Info=Fal se"Adodc1.RefreshEnd Sub四、添加按钮和事件处理:在窗体上添加按钮,如“添加记录”、“更新记录”、“删除记录”、“查询记录”等。
通过按钮的Click事件处理程序,调用相应的SQL语句实现对数据库的操作。
' 添加记录Private Sub cmdAdd_Click()Adodc1.Recordset.AddNewAdodc1.Recordset("Name") = txtName.TextAdodc1.Recordset("StudentID") = txtStudentID.TextAdodc1.Recordset("MathScore") = txtMathScore.TextAdodc1.Recordset("EnglishScore") = txtEnglishScore.TextAdodc1.Recordset.UpdateEnd Sub' 查询记录Private Sub cmdSearch_Click()Adodc1.RecordSource = "SELECT * FROM StudentTable WHERE StudentID = '"& txtSearchStudentID.Text & "'"Adodc1.RefreshEnd Sub' 更新记录Private Sub cmdUpdate_Click()Adodc1.Recordset("MathScore") = txtMathScore.TextAdodc1.Recordset("EnglishScore") = txtEnglishScore.TextAdodc1.Recordset.UpdateEnd Sub' 删除记录Private Sub cmdDelete_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.UpdateEnd Sub五、界面美化:通过VB6.0提供的控件属性设置,对窗体和控件进行美化,使其更符合用户界面设计的要求。
学生成绩管理系统设计与代码实现完整版

学生成绩管理系统案例描述案例要求模拟开发一个学生成绩管理系统,此系统具有以下功能:(1)添加学生信息,包括学号、姓名、语文、数学成绩;(2)显示学生信息,将所有学生信息打印输出;(3)修改学生信息,可以根据姓名查找到学生,然后可以修改学生姓名、成绩项;(4)删除学生信息,根据学号查找到学生,将其信息删除;(5)查找学生信息,根据学生姓名,将其信息打印输出;(6)按学生总成绩进行从高到低排序。
请通过编程完成此系统的开发。
案例分析因为学生信息包括学号、姓名和成绩等不同数据类型的属性,所以需要定义一个学生类型的结构体。
在存储学生信息时,可选用数组或链表,考虑到学生要根据总成绩来排序,为方便排序,我们选用数组来存储学生信息。
案例实现功能模块1500558349275功能函数实现添加记录—add()函数;显示记录—showAll()函数;修改记录—modify()函数;删除记录—del()函数;查找记录—search()函数;排序—sort()函数。
案例代码Student.h#ifndef STUDENT //先测试STUDENT是否被宏定义过,避免重新使用#define STUDENT //定义STUDENT#include <stdio.h>#include <string.h>#include <stdlib.h>#define HH printf("%-10s%-10s%-10s%-10s%-10s\n","学号", "姓名", "语文成绩", "数学成绩", "总分")struct student //学生记录{int id; //学号char n ame[8]; //姓名int chinese; //语文成绩int math; //数学成绩int sum; //总分};static int n; //记录学生信息条数void menu();void add(struct student stu[]); //函数声明void show(struct student stu[], int i);void showAll(struct student stu[]);void modify(struct student stu[]);void del(struct student stu[]);void search(struct student stu[]);void sort(struct student stu[]); //函数声明#endif //结束条件编译Student.c#define _CRT_SECURE_NO_WARNINGS#include "Student.h"void menu(){system("cls");//清空屏幕printf("\n");printf("\t\t --------------学生成绩管理系统--------------\n");printf("\t\t︱\t\t 1 添加记录︱\n");printf("\t\t︱\t\t 2 显示记录︱\n");printf("\t\t︱\t\t 3 修改记录︱\n");printf("\t\t︱\t\t 4 删除记录︱\n");printf("\t\t︱\t\t 5 查找记录︱\n");printf("\t\t︱\t\t 6 排序记录︱\n");printf("\t\t︱\t\t 0 退出系统︱\n");printf("\t\t --------------------------------------------\n");printf("\t\t请选择(0-6):");}void add(struct student stu[]){int i, id = 0; //i作为循环变量,id用来保存新学号char quit; //保存是否退出的选择do{printf("学号:");scanf("%d", &id);for (i = 0; i < n; i++){if (id == stu[i].id) //假如新学号等于数组中某生的学号{printf("此学号存在!\n");return;}}stu[i].id = id;printf("姓名:");scanf("%s", &stu[i].name);printf("语文成绩:");scanf("%d", &stu[i].chinese);printf("数学成绩:");scanf("%d", &stu[i].math);stu[i].sum = stu[i].chinese + stu[i].math; //计算出总成绩n++; //记录条数加1printf("是否继续添加?(Y/N)");scanf("\t%c", &quit);} while (quit != 'N');}void show(struct student stu[], int i){printf("%-10d", stu[i].id);printf("%-10s", stu[i].name);printf("%-10d", stu[i].chinese);printf("%-10d", stu[i].math);printf("%-10d\n", stu[i].sum);}void showAll(struct student stu[]){int i;HH;for (i = 0; i < n; i++){show(stu, i);}}void modify(struct student stu[]){char name[8], ch; //name用来保存姓名,ch用来保存是否退出的选择int i;printf("修改学生的记录。
VB+SQL学生信息管理系统

计算机网络数据库设计题目: 学生信息管理系统学号xx姓名xx专业xxxx日期2006年12月8日随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
本系统主要包括学生信息查询、教务信息维护和学生选课三部分。
其功能主要有:⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。
⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。
⒊学生信息的修改。
⒋班级管理信息的输入,包括输入班级设置、年级信息等。
⒌班级管理信息的查询。
⒍班级管理信息的修改。
⒎学生课程的设置和修改。
学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。
该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。
通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。
通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。
本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。
第12章 用VB+SQL Server 2005开发学生成绩管理系统

成绩表(T_CJB) 初始记录
成绩 80 69 78 89 54 67 66 87 97 91 69
16
3.实验步骤 (1)打开SQL Server Management Studio管理 控制台(企业管理器),在对象资源管理器的树形 目录中找到xscjglxt数据库并展开它,选择数据库 对象“表”,右击“表”对象,则弹出其快捷菜单, 如图12-6所示。 (2)从弹出的快捷菜单中选择“新建表”命令, 则在对象资源管理器窗口的右面弹出“表结构设 计”(表设计器)面板,如图12-7所示。该设计器的 上半部分是一个表格,在这个表格中输入“学号”、 “姓名”、“性别”、“出生日期”、“院系”等 列的属性,表格的每一行对应一个列定义,其含义 如下:
26
图12-11 “关系图”快捷菜单
27
(2)在弹出的快捷菜单中选择“新建 数据库关系图”命令,则弹出“添加表” 对话框,在这个“对话框”内可以选择要 建立关系图的相关表,如图12-12所示。在 这个对话框中选择表T_XSB、T_KCB和T_CJB, 并单击“添加”按钮进行表添加操作,然 后关闭“添加表”对话框。 (3)在SQL Server Management Studio管理控制台(企业管理器)中关闭 “对象资源管理器”和“属性”面板,会 完整出现“关系图”窗口,如图12-13所示。
17
图12-6 “表”快捷菜单
18
图12-7 表结构设计窗口
19
①列名:合法的列名称,如“学号”、 “姓名”等。 ② 数据类型:数据类型是一个下拉列表 框,包括了所有的系统数据类型和用户自定 义的数据类型,可从中选择需要定义的数据 类型。数据类型后括号内数值表示该字段选 择数据类型需要占用内存的字节数。 ③ 允许空:单击可以切换是否允许该列 数值为空值的状态,勾选说明允许为空值, 空白表示不允许为空值,默认状态表示允许 为空值。
VB学生成绩管理系统

VB学生成绩管理系统1.VB操作数据库简介本章节主要介绍VB中操作数据库的一般方法,有ADO Data控件的连接、ADODB 对象的使用,当然在可视化的开发系统中用控件是的方法是比较简单的,但不是很灵活,相比较ADODB对象的方法比较灵活,但使用相对麻烦;这里读者会问,那这两个又是怎么去访问到数据库的呢?其实他们是通过一些接口去访问不同数据库的,而这些接口会屏蔽掉数据库访问协议和各个数据库之间的差别,这里最常用的有两种接口,一种就是ODBC、还有一种是OLE DB,下面我们介绍他们的结构:(a) 数据库访问接口:(1) ODBC:ODBC其实是开放式数据库互连(Open Database Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通讯的方法标准,是一个接口标准。
所以它实际上是一种标准,符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只能针对关系数据库进行操作(如SQL Server,Oracle,Access,Excel等),目前所有的关系数据库都符合该标准。
ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句,他的结构图如下图1:图1.1在具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。
这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。
(2) OLE DB:OLE DB:数据库链接和嵌入对象(Object Linking and EmbeddingDataBase)。
OLE DB是微软提出的基于COM思想且面向对象的一种技术标准,目的是提供一种统一的数据访问接口访问各种数据源,这里所说的"数据"除了标准的关系型数据库中的数据之外,还包括邮件数据、Web上的文本或图形、目录服务(Directory Services)、以及主机系统中的文件和地理数据以及自定义业务对象等。
学生成绩管理系统代码c语言编写

C程序学生管理系统/* Note:Your choice is C IDE */#include"stdio.h"#include"stdlib.h"#include"string.h"typedef struct student//定义学生{char name[10];int number;char sex[2];int math;int eglish;int clanguge;int average;}student;typedef struct unit//定义接点{student date;struct unit *next;}unit;unit* build()//建立链表并返回指针{unit *p;if((p=(unit*)malloc(sizeof(unit)))==NULL) { printf("=>初始化失败!");return 0;}else{p->next=NULL;p->date.number=0;//头结点存放学生人数 printf("初始化成功!\n");return p;}}void add(unit *head)//增加学生{unit *p,*q;int m,n=0;q=head->next;p=(unit*)malloc(sizeof(unit));printf("=>请输入新生姓名!\n");gets(p->);fflush(stdin);printf("=>请输入学号!\n");while(n==0){scanf("%d",&m);fflush(stdin);if(q==NULL) n=1;while(q){if(q->date.number==m){printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n");q=head->next;break;}else{q=q->next;if(q==NULL) n=1;}}}p->date.number=m;printf("=>请输入性别!\n");gets(p->date.sex);fflush(stdin);printf("=>请输入数学成绩\n");scanf("%d",&m);fflush(stdin);p->date.math=m;printf("=>请输入英语成绩\n");scanf("%d",&m);fflush(stdin);p->date.eglish=m;printf("=>请输入c语言成绩\n");scanf("%d",&m);fflush(stdin);p->date.clanguge=m;p->date.average=(p->date.math+p->date.eglish+p->date.clanguge);q=head->next;head->next=p;p->next=q;head->date.number++;}void deletion(unit *head)//删除一名学生{unit *p=head->next,*q=head;char N[10];printf("=>请输入你想删除的学生姓名!\n");gets(N);fflush(stdin);if(p==NULL)printf("=>系统无学生可删除!\n");while(p){if(strcmp(p->,N)==0){q->next=p->next;head->date.number--;printf("=>删除%s成功!\n",p->);free(p);break;}else{p=p->next;q=q->next;if(p==NULL)printf("=>你要删除的学生不存在,删除失败!\n");}}}int display(unit *head)//显示学生信息{unit *p=head->next;int m,n=0;char N[10];if(p==NULL){printf("=>系统无学生!\n");return 0;}while(n==0){printf("********************************************************* *********************\n");printf("=>请选择你的操作!\n");printf("=>\t\t\t1.显示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n");scanf("%d",&m);fflush(stdin);switch(m){case 1:printf("\n=>该系统拥有%d名学生!\n\n",head->date.number);p=head->next;printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n\n");while(p){printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->date.numb er,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p->date.average);p=p->next;}break;case 2:printf("=>请输入查找姓名!\n");gets(N);fflush(stdin);p=head->next;while(p){if(strcmp(p->,N)==0){printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n");printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->date.numb er,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p->date.average);break;}else{p=p->next;if(p==NULL)printf("=>你要查的学生不存在!");}}break;case 3: printf("=>请输入查找学号!\n");scanf("%d",&m);fflush(stdin);p=head->next;while(p){if(p->date.number==m){printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n");printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->date.numb er,p->date.sex,p->date.math,p->date.eglish,p->date.clanguge,p->date.average);break;}else{p=p->next;if(p==NULL)printf("=>你要查的学生不存在!\n");}}break;case 4:n=1;break;}}return 1;}int range(unit *head)//排序{unit *p=head,*q=head->next;int n,i,m=head->date.number;printf("********************************************************* **********************\n");printf("\t\t\t1.按学号\t2.按成绩\n\n");printf("=>请选择操作!\n》");scanf("%d",&n);fflush(stdin);if(q==NULL){ printf("=>无学生可排序!\n");return 0;}switch(n){case 2:for(i=0;i<m;i++)//按总分排序{p=head;q=head->next;while(q->next){if((q->date.average)<(q->next->date.average)){p->next=q->next;p=p->next;q->next=p->next;p->next=q;}else{p=p->next;q=q->next;}}}break;case 1:for(i=0;i<=m;i++)//按学号排序{p=head;q=head->next;while(q->next){if((q->date.number)>(q->next->date.number)){p->next=q->next;p=p->next;q->next=p->next;p->next=q;}else{p=p->next;q=q->next;}}}break;}printf("=>排序成功!\n");return 1;}void menu(){printf("\n********************************* 主菜单***************************************\n");printf("\t\t\t1.新建系统\t2.添加学生\n\t\t\t3.删除学生\t4.查看信息\n\t\t\t5.排列顺序\t6.读取信息\n\t\t\t7.保存信息\t8.退出系统\n");printf("=>请选择你的操作!\n");}int save(unit *head)//保存{FILE *fp;unit *p;p=head;if((fp=fopen("d:\\学生","wb+"))==NULL){printf("=>保存失败!");return 0;}while(p){fwrite(&(p->date),sizeof(student),1,fp);p=p->next;}printf("=>保存成功!");fclose(fp);return 1;}unit* read()//读入系统学生信息{int i;unit *p,*q,*head;FILE *fp;if((head=(unit*)malloc(sizeof(unit)))==NULL) { printf("=>开辟空间失败!");exit(1);}else{head->next=NULL;head->date.number=0;//头结点存放学生人数}q=head;if((fp=fopen("d:\\学生","rb"))==NULL){printf("=>系统无学生!\n");return 0;}fread(&(q->date),sizeof(student),1,fp);for(i=0;i<head->date.number;i++){if((p=(unit*)malloc(sizeof(unit)))==NULL){ printf("=>读值失败!");exit(1);}fread(&(p->date),sizeof(student),1,fp);p->next=q->next;q->next=p;}fclose(fp);return head;}void main(){int m=0,n, i;unit *head;printf("************************************************************* *******************\n\n");printf("\t\t\t* 欢迎使用学生成绩管理系统 * \n");printf("\n\t\t\t\t\t\t\t\t编译员:岳英明\n\n");printf("=>正在读取系统信息......\n");if((head=read())==0){printf("=>是否新建?\n");printf("\t\t\t是(1)\t\t否(2)\n");scanf("%d",&i);fflush(stdin);if(i==1)head=build();else if(i==2)exit(1);}elseprintf("=>信息导入成功!");while(m==0){menu();scanf("%d",&n);fflush(stdin);switch(n){case 1: head=build();break;case 2:add(head);break;case 3:deletion(head);break;case 4:display(head);break;case 5: range(head);break;case 6:head=read();if(head!=0) printf("=>读取存盘成功!\n");break;case 7:save(head);break;case 8:m=1;break;}}}。
VB制作学生成绩统计分析系统

用VB制作学生成绩统计分析系统一.程设计的目的和意义每个学校都要举行考试,有的班级更是经常考试。
为了掌握学生的学习情况,老师们不得不花费大量时间和精力对考试成绩进行统计分析,因此,开发一个统计分析软件,具有重要的意义。
为强化和巩固所学的知识,本文所采用的程序是建立在以教材《VB程序设计使用教程》所涉及内容为基础之上的。
二.系统功能设计在本系统中,将主要实现如下的一些功能:1.对各分数段的人数及所占比例进行统计2.对最高分、最低分、平均分进行查询3.对不及格人数及所占比例进行统计4.将成绩分布用直方图表示出来三.设计思路在对课程项目进行分析以后,认为系统应有如下几条要求:1.要有系统登录界面2.要有成绩录入框3.要有统计结果显示界面4.要能对成绩进行保存四.设计流程图五.设计界面、基本控件使用方法简介:1.按退出键,关闭界面,退出程序。
2.按进入键,进入成绩输入界面,如下图所示。
3.建议在1028*768显示分辨率下使用。
1.因文件写入和读出之间有“系统误差”,所以用逗号开头,以消除“误差”2.按确定键,系统自动将成绩保存在“d:\kcsj\cjb.txt”文件,并对文件数据进行读入和运算处理,将统计结果显示在显示界面。
3.按取消键,则返回登录界面。
1.本界面为统计结果显示界面。
2.按返回键,关闭本界面,返回上一界面,即成绩输入界面。
3.按退出键,关闭各界面,结束程序。
六.关键程序//后为该程序段解释Private Sub Form_load()Dim sg() As Single, im(9) As IntegerDim int1, int2, int3 As Integer: Dim x, y, sb, sg1 As SingleDim n, m, z As IntegerDim a, b, c As IntegerOpen "d:\kcsj\cjb.txt" For Input As #1 //打开文件im(0) = -1n = 0Do While Not EOF(1)n = n + 1ReDim Preserve sg(n)Input #1, sg(n)Loop //读入数据Close #1 //关闭文件m = 2Do While m <= nSelect Case sg(m)Case Is >= 90im(9) = im(9) + 1Case Is >= 80im(8) = im(8) + 1Case Is >= 70im(7) = im(7) + 1Case Is >= 60im(6) = im(6) + 1Case Is >= 50im(5) = im(5) + 1Case Is >= 40im(4) = im(4) + 1Case Is >= 30im(3) = im(3) + 1Case Is >= 20im(2) = im(2) + 1Case Is >= 10im(1) = im(1) + 1Case Is >= 0im(0) = im(0) + 1Case Elsea = 1End Selectm = m + 1Loop //将各成绩按分数段分类统计L15.Caption = n – 2 //显示班级人数int2 = 0Do Until int2 > 9L1(int2).Caption = im(int2) //显示各分数段人数sb = im(int2) * 100 / (n - 2)L1(int2 + 10).Caption = Format(sb, "0.0") //显示各分数段人数比例int2 = int2 + 1Loopa = 1:b = 0Dob = b + sg(a)a = a + 1Loop While a <= n - 1Lav.Caption = Format(b / (n - 2), "0.0") //显示平均分For int1 = 2 To n - 2For int2 = int1 + 1 To n - 1If sg(int1) > sg(int2) Thensg1 = sg(int1)sg(int1) = sg(int2)sg(int2) = sg1End IfNextNextLmax.Caption = sg(n - 1) //显示最高分Lmin.Caption = sg(2) //显示最低分z = im(0) + im(1) + im(2) + im(3) + im(4) + im(5)Lren.Caption = z //显示不及格人数Lbi.Caption = Format(z / n, "0") //显示不及格人数所占比例Shape1(0).Height = 0: Shape1(1).Height = 0: Shape1(2).Height = 0: Shape1(3).Height = 0 Shape1(4).Height = 0: Shape1(5).Height = 0: Shape1(6).Height = 0: Shape1(7).Height = 0 Shape1(8).Height = 0: Shape1(9).Height = 0int2 = 0Do Until int2 > 9sb = im(int2) / (n - 2)Shape1(int2).Height = sb * Label7.HeightShape1(int2).Top = Line23.Y1 - Shape1(int2).HeightIf Shape1(int2).Height = 0 ThenShape1(int2).V isible = FalseElse: Shape1(int2).FillStyle = 0End Ifint2 = int2 + 1Loop //显示直方图End Sub七.心得本系统在最简程度上实现了对学生成绩的统计分析,所涉及的也都是基础性的知识。
学生成绩管理系统VB+SQL

课程设计任务书题目学生成绩管理系统系 (部) 数理系专业班级学生学号12 月 21 日至 12 月 25 日共 1 周指导教师(签字)系主任(签字)年月日学生成绩管理系统通过完成从用户需求分析、概念结构设计,逻辑结构设计等一系列的数据库设计到上机编程、调试和应用等全过程,进一步理解和掌握教材中的相关容。
一.实验要求(1)先对选定的实验做简单的需求分析;(2)做出数据流图和数据字典;(3)在数据流图和字典的基础上做出E-R图(概念结构设计);(4)在E-R图基础上进行关系模式设计(至少满足3NF)(逻辑结构设计); (5)根据需求分析的各种数据请求得出各种视图以及各种约束、规则、触发器脚本描述;(6)根据第(5)的容在SQL-SERVER中设计中实例的数据库;(7)用自己熟悉的一门语言进行设计的功能的实现(8)整理前面几步的文档和程序源码,可执行程序,形成最终的实验报告。
(9)实验报告的最后写出本次实验完成中遇到的问题及解决方法二.需求分析1.功能需求本系统开发的目的,就是通过系统开发,实现课程管理有关工作的计算机化,提高关键环节的处理速度和规化,并对有关的工作进行集成和重组,通过网络系统实现集中管理、分散操作,提高选课管理工作的质量和效率。
通过对学校的选课及成绩管理工作进行实际调查,学生可以自由选择课程、选老师,学生注册的行政班和教学班是游离的,开发工作需要涉及任课教师、学生、管理员(教务工作人员)三种用户。
2.学生需求在学校规定的选课期间,学生通过任何一台连接因特网计算机的浏览器就能进行网上选课。
学生以用户名和密码进入选课系统。
选课系统会根据用户名和密码自动识别所在的系,然后显示出与学生有关的课程列表。
系统必须控制某一门课程在学期间只能选一次。
在学生选课时能自动进行有关逻辑判断,如:是否选课超过了规定的门数,是否选择了不符合预修条件的课程,是否选择的课程超过此课程最大选择人数,只有符合要求的选择才能选课成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Form2.Adodc1.Recordset.Fields("性别") = Text2
Form2.Adodc1.Recordset.Fields("课程号") = Text3
Form2.Adodc1.Recordset.Fields("课程名") = Text4
End Sub
Sub litizf()
Creat ‘调用create函数
Dim i%, x1 As Single, y1 As Single, x2 As Single, y2 As Single, x3 As Single
Form6.Line (-11, -7)-(-9, -6.5), vbRed, BF 绘制红色矩形
Form2.Adodc1.Recordset.Fields("成绩") = Text5
Form2.Adodc1.Recordset.Update
Form2.Adodc1.Recordset.MoveFirst
MsgBox "记录已成功添加。"
(3)删除信息
Private Sub Combo1_Click()
Form6.Line (-0.5, 4)-(1, -c1 + 4), vbBlue, BF
Form6.Line (1.5, 4)-(3, -d1 + 4), RGB(210, 0, 200), BF
Form6.Line (3.5, 4)-(5, -e1 + 4), RGB(170, 180, 0), BF
Form2.Adodc1.Recordset.MoveFirst
sty = Combo1.Text
Form2.Adodc1.Recordset.find "学号='" & sty & "'"
If Form2.Adodc1.Recordset.EOF Then 如果记录到达末尾则未查找到
Form2.Adodc1.RecordSource = "filename" 数据源为全部数据(filename)
Form2.Adodc1.Refresh
Form2.Adodc1.Recordset.MoveFirst 移动到第一条记录
Do While Not (Form2.Adodc1.Recordset.EOF)
Combo1.ListIndex = j
Text1 = Form2.Adodc1.Recordset.Fields("姓名") 显示姓名
Text2 = Form2.Adodc1.Recordset.Fields("学号") 显示学号
End Sub
Else
a = MsgBox("密码错误,你还有" & i & "次机会", , "提示")
End If
Else
Unload Form1
Form2.Show
End If
End Sub
(2)添加信息
mandType = adCmdUnknown 定义命令类型
End Sub
(6)绘制饼图
Sub bingtu()
Form6.Scale (-12, -8)-(8, 8)
Dim Xs As Single
Const Pi = 3.141593
Form6.Show
Form6.FillStyle = 0
If (Text2 <> "wwz314") Or (Text1 <> "wwz314") Then
i = i - 1
If i = 0 Then
a = MsgBox("不要再做无谓的尝试!再见!", , "提示")
End
Form2.Adodc1.Refresh
If Not Form2.Adodc1.Recordset.EOF Then
MsgBox "已存在"
Exit Sub
End If
Form2.Adodc1.Recordset.AddNew 新增一条空白记录
Form2.Adodc1.Recordset.Fields("学号") = Text0
Combo1.AddItem Form2.Adodc1.Recordset.Fields("学号") 列表框中添加全部学号
Form2.Adodc1.Recordset.MoveNext 记录下移一条
Loop
Form2.Adodc1.Recordset.MoveFirst
Form2.Adodc1.RecordSource = "select * from filename where 学号='" & Text0 & "' and 课程号='" & Text3 & "'" 从学号和课程号中查找
Form6.Line (-5, 4)-(8, 4), vbBlue
Form6.Line (-5, 4)-(-5, -5), vbRed
Form6.CurrentX = 2: Form6.CurrentY = -2
a1 = 12 * a / num
b1 = 12 * b / num
Form6.CurrentX = -8.9: Form6.CurrentY = -5.5: Form6.Print "60-69 分"
Form6.Line (-11, -5)-(-9, -4.5), RGB(170, 180, 0), BF 绘制草绿色矩形
Form6.CurrentX = -8.9: Form6.CurrentY = -5: Form6.Print "00-59 分"
Form6.CurrentX = -8.9: Form6.CurrentY = -7: Form6.Print "90-100分"
Form6.Line (-11, -6.5)-(-9, -6), vbGreen, BF 绘制绿色矩形
Form6.CurrentX = -8.9: Form6.CurrentY = -6.5: Form6.Print "80-89 分"
End If
End Sub
Private Sub Command1_Click()
j = Combo1.ListIndex
Combo1.RemoveItem j
j = j + 1
Form2.Adodc1.Recordset.Delete 删除记录
End Sub
绘图
Public a As Single, b As Single, c As Single, d As Single, e As Single, num As Single
(5)绘制直方图
Sub Creat()
Form6.Scale (-12, -8)-(8, 8) 'Form6.Scale (-6, 8)-(12, -2)
Private Sub Command2_Click()
i = MsgBox("继续?" & vocal & "—点击确定返回删除界面" & vocal & "—点击取消直接返回主界面", vbOKCancel, "思考中……")
If i = 2 Then Unload Me 关闭删除窗体
End Sub
Private Sub Command3_Click()
Unload Me 关闭删除窗体
End Sub
Private Sub Form_Load()
mandType = adCmdTable 指定命令类型为adCmdTable
Xs = 2 * Pi / num
If a > 0 Then
Form6.FillColor = vbRed
/view/ee1eb60a79563c1ec5da71a0.html
(1) 密码判断
Private Sub Form_Load()
i = 3
End Sub
Private Sub Command1_Click()
Form6.Line (-11, -6)-(-9, -5.5), vbBlue, BF 绘制蓝色矩形
Form6.CurrentX = -8.9: Form6.CurrentY = -6: Form6.Print "70-79 分"
Form6.Line (-11, -5.5)-(-9, -5), RGB(210, 0, 200), BF 绘制紫红色矩形
Form2.Adodc1.Recordset.Fields("性别") = Text3 修改性别
Form2.Adodc1.Recordset.Fields("课程号") = Text4 修改课程号
Form2.Adodc1.Recordset.Fields("课程名") = Text5 修改课程名
c1 = 12 * c / num