班级档案管理系统(源代码)

合集下载

最详细的学生档案管理系统

最详细的学生档案管理系统

VB高级程序开发学生档案管理系统学生档案管理系统目录一、标准模块(公共部分) (1)1:PublicVar (1)2:OPeratDataBase (1)二、窗体 (3)1:A院设置 (3)2:A系设置 (8)3:A班级设置 (14)4:B基本信息 (21)5:B家庭基本成员信息 (27)6:B学籍报告 (33)7:B学籍异动 (37)8:B学期注册 (42)9:B学生查询 (45)10:C 课程查询 (48)11:C课程分配 (51)12:C 新增课程 (55)13:D成绩单生成 (62)14:D成绩录入 (66)15:D成绩评审 (70)16:E奖惩查询 (74)17:E奖惩单生成 (77)18:E奖惩录入 (79)19:F数据库连接 (84)20:G登录 (85)21:G密码维护 (87)22:G用户管理 (89)23:学生档案管理 (94)一、标准模块(公共部分)1:PublicVarPublic MenuIndex As Integer '保存用户选择的菜单Public LoginSucceeded As Boolean '用户登录标志Public UserID As String '用户IDPublic ConnectionString As String '数据库连接字符串2:OPeratDataBasePublic Function GetConnStr() As String'得到数据库连接字符串,用户可以在此处设置连接字符串'User ID 是数据库用户ID,Password是登陆密码'Initial Catalog是数据库名,Data Source是服务器名称GetConnStr = ConnectionStringEnd FunctionPublic Function OpenConn(ByRef Conn As ADODB.Connection) As Boolean '打开数据库连接,连接成功返回true,出错时返回falseSet Conn = New ADODB.Connection'出错处理On Error GoTo ErrorHandleConn.Open GetConnStrOpenConn = TrueExit FunctionErrorHandle:MsgBox "连接数据库失败!请重新连接!"OpenConn = FalseExit FunctionEnd FunctionPublic Sub ExecuteSQL(ByVal SQL As String, ByRef msg As String)'执行SQL语句Dim Conn As ADODB.ConnectionDim sTokens() As String'出错处理On Error GoTo ErrorHandle'判断SQL语句sTokens = Split(SQL)If InStr("INSERT,DELETE,UPDA TE", UCase((sTokens(0)))) Then '打开数据库连接If OpenConn(Conn) ThenConn.Execute SQLmsg = sTokens(0) & "操作执行成功!"End IfElsemsg = "SQL语句有误:" & SQLEnd IfFinally_Exit:Set rst = NothingSet Conn = NothingExit SubErrorHandle:msg = "执行错误: " & Err.DescriptionResume Finally_ExitEnd SubPublic Function SelectSQL(ByVal SQL _As String, ByRef msg As String) As ADODB.Recordset'执行SQL语句,返回ADODB.RecordsetDim Conn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As String'出错处理On Error GoTo ErrorHandle'判断SQL语句sTokens = Split(SQL)If InStr("SELECT", UCase((sTokens(0)))) Then'打开数据库连接If OpenConn(Conn) ThenSet rst = New ADODB.Recordsetrst.CursorLocation = adUseClientrst.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimisticSet SelectSQL = rstmsg = "查询到" & rst.RecordCount & " 条记录! "End IfElsemsg = "SQL语句有误:" & SQLEnd IfFinally_Exit:Set rst = NothingSet Conn = NothingExit FunctionErrorHandle:MsgString = "查询错误: " & _Err.DescriptionResume Finally_ExitEnd FunctionPublic Function BatchSelectSQL(ByVal SQL _As String, ByRef msg As String) As ADODB.Recordset'执行SQL语句,返回批处理的ADODB.RecordsetDim Conn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As String'出错处理On Error GoTo ErrorHandle'判断SQL语句sTokens = Split(SQL)If InStr("SELECT", UCase((sTokens(0)))) Then'打开数据库连接If OpenConn(Conn) ThenSet rst = New ADODB.Recordsetrst.CursorLocation = adUseClientrst.Open Trim$(SQL), Conn, adOpenDynamic, adLockBatchOptimisticSet BatchSelectSQL = rstmsg = "查询到" & rst.RecordCount & " 条记录! "End IfElsemsg = "SQL语句有误:" & SQLEnd IfFinally_Exit:Set rst = NothingSet Conn = NothingExit FunctionErrorHandle:MsgString = "批查询错误: " & _Err.DescriptionResume Finally_ExitEnd Function二、窗体1:A院设置(1)界面(2)代码Dim rs As ADODB.RecordsetDim SQL As StringDim msg As StringDim Index As IntegerDim flag As String '判断是新增记录还是修改记录Private Sub Form_Load()Call LoadData '装载数据If rs.RecordCount > 0 ThenCall ShowData '显示数据ElseFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'控件可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd SubPrivate Function CheckData() As Boolean'检查数据的合法性Dim rst As ADODB.RecordsetDim msgt As Stringmsgt = ""'检查数据非空If Trim(txtItem(0).Text) = "" Thenmsgt = "院代码为空;"ElseIf Not Len(Trim(txtItem(0).Text)) = 2 Thenmsgt = "院代码不是2位;"End IfIf Trim(txtItem(1).Text) = "" Thenmsgt = msgt & " 院名称为空;"End IfIf Not msgt = "" ThenMsgBox (msgt)CheckData = FalseExit FunctionEnd If'检查唯一性SQL = " select * from 院信息表where 院代码='" & Trim(txtItem(0).Text) & "'"Set rst = SelectSQL(SQL, msg)If flag = "Add" And rst.RecordCount > 0 ThenMsgBox ("该院的信息已经存在,重复添加!")rst.CloseCheckData = FalseExit FunctionEnd IfCheckData = True '合法End FunctionPrivate Sub ShowData()'在文本框中显示数据If rs.RecordCount <> 0 And rs.EOF = False ThenFor Index = 0 To 6If rs.Fields(Index) <> "" ThentxtItem(Index).Text = rs.Fields(Index)ElsetxtItem(Index).Text = ""End IftxtItem(Index).Enabled = FalseNext IndexIf IsDate(Trim(txtItem(4).Text)) ThenMe.DTPicker1.Value = Trim(txtItem(4).Text) '时间控件End IfEnd IfEnd SubPrivate Sub LoadData()'装载数据Set rs = NothingSQL = " select * from 院信息表order by 院代码"Set rs = SelectSQL(SQL, msg)Set Me.DataGrid1.DataSource = rsDataGrid1.RefreshEnd SubPrivate Sub CmdMove_Click(Index As Integer) '移动记录Select Case IndexCase Is = 0 '移到第一条记录If Not rs.BOF Then rs.MoveFirstCase Is = 1 '移到上一条记录If rs.RecordCount <> 0 ThenIf rs.BOF = False Then rs.MovePreviousIf rs.BOF = True Then rs.MoveFirstEnd IfCase Is = 2 '移到下一条记录If rs.RecordCount <> 0 ThenIf rs.EOF = False Then rs.MoveNextIf rs.EOF = True Then rs.MoveLastEnd IfCase Is = 3 '移到最后一条记录If rs.RecordCount <> 0 ThenIf Not rs.EOF = True Then rs.MoveLastEnd IfEnd SelectIf rs.RecordCount <> 0 ThenCall ShowData '在文本框中显示数据'按钮可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = TrueCmdCancel.Enabled = False: CmdSave.Enabled = FalseElse'按钮可用性CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = FalseCmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd IfEnd SubPrivate Sub CmdAdd_Click()'清空文本框,文本框可用For Index = 0 To 6txtItem(Index).Text = ""txtItem(Index).Enabled = TrueNext Index'设置标志flagflag = "Add"'设置时间控件txtItem(4).Text = Me.DTPicker1.Value'所有移动按钮不可用For Index = 0 To 3CmdMove(Index).Enabled = FalseNext Index'添加、修改、删除按钮不可用,取消、保存按钮可用CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = FalseCmdCancel.Enabled = True: CmdSave.Enabled = TrueEnd SubPrivate Sub CmdModify_Click()'修改操作If rs.RecordCount > 0 Then'文本框可用,院代码不可以修改For Index = 1 To 6txtItem(Index).Enabled = TrueNext IndextxtItem(0).Enabled = False'设置标志flagflag = "Modify"'移动控件不可用For Index = 0 To 3CmdMove(Index).Enabled = FalseNext Index'添加、修改、删除按钮不可用,取消、保存按钮可用CmdCancel.Enabled = True: CmdSave.Enabled = TrueCmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False ElseMsgBox ("没有可以修改的数据!")End IfEnd SubPrivate Sub CmdDelete_Click()'删除操作On Error GoTo ErrMsgIf rs.RecordCount > 0 Thenmsg = MsgBox("删除该条记录吗?", vbYesNo)If msg = vbYes Thenrs.DeleteCall LoadData '重新装载数据'清空文本框、并不可用For Index = 0 To 6txtItem(Index).Text = ""txtItem(Index).Enabled = FalseNext Index'所有移动控件不可用If rs.RecordCount = 0 ThenFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'按钮可用性处理CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = TrueCmdSave.Enabled = False: CmdCancel.Enabled = FalseMsgBox ("成功删除的数据!")End IfElseMsgBox ("没有可删除的数据!")End IfExit SubErrMsg:MsgBox Err.Description, vbExclamation, "出错"End SubPrivate Sub cmdCancel_Click()'取消操作Call ShowData'所有移动控件可用For Index = 0 To 3CmdMove(Index).Enabled = TrueNext Index'修改、删除、添加按钮可用,保存和取消按钮不可用CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = TrueCmdSave.Enabled = False: CmdCancel.Enabled = FalseEnd SubPrivate Sub CmdSave_Click()On Error GoTo ErrMsgIf Not CheckData Then Exit Sub '如果数据不合法就退出If flag = "Modify" Then '如果是修改数据msg = MsgBox("您确实要修改这条数据吗?", vbYesNo)If msg = vbYes ThenFor Index = 0 To 6If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).TexttxtItem(Index).Enabled = FalseNext IndexElseExit SubEnd IfElseIf flag = "Add" Then '如果是添加新数据rs.AddNewFor Index = 0 To 6If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).Text Next IndexEnd If'更新数据rs.Update'移动控件可用For Index = 0 To 3CmdMove(Index).Enabled = TrueNext IndexCmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = FalseIf flag = "Add" ThenMsgBox ("成功添加数据!")ElseMsgBox ("成功更新数据!")End IfCall LoadData '重新装载数据'定位到添加或修改记录If rs.RecordCount <> 0 Thenrs.MoveFirstrs.Find ("院代码='" & Trim(txtItem(0).Text) & "'")If Not rs.EOF Then Call ShowData '重新装载数据End IfExit SubErrMsg:MsgBox Err.Description, vbExclamation, "出错"End SubPrivate Sub DTPicker1_CloseUp() '得到日期txtItem(4).Text = Me.DTPicker1.ValueEnd SubPrivate Sub CmdExit_Click()'退出操作学生档案管理.Enabled = Truers.CloseUnload MeEnd SubPrivate Sub Form_Unload(Cancel As Integer)'退出操作学生档案管理.Enabled = TrueUnload MeEnd Sub2:A系设置(1)界面(2)代码Dim rs As ADODB.RecordsetDim SQL As StringDim msg As StringDim Index As IntegerDim flag As String '判断是新增加记录还是修改记录Private Function CheckData() As Boolean'检查数据的合法性Dim rst As ADODB.RecordsetDim msgt As Stringmsgt = ""'检查数据非空性If Trim(txtItem(0).Text) = "" Thenmsgt = "系代码为空;"ElseIf Not Len(Trim(txtItem(0).Text)) = 4 Thenmsgt = "系代码不是4位;"ElseIf Not Left(Trim(txtItem(0).Text), 2) = Left(Trim(CboQuery.Text), 2) Then msgt = "系代码错误;"End IfIf Trim(txtItem(1).Text) = "" Thenmsgt = msgt & " 系名称为空;"End IfIf Not msgt = "" ThenMsgBox (msgt)CheckData = FalseExit FunctionEnd If'检查唯一性SQL = " select * from 系信息表where 系代码='" & Trim(txtItem(0).Text) & "'"Set rst = SelectSQL(SQL, msg)If flag = "Add" And rst.RecordCount > 0 ThenMsgBox ("该系的信息已经存在,重复添加!")rst.CloseCheckData = FalseExit FunctionEnd IfCheckData = True '合法End FunctionPrivate Sub ShowData()'在文本框中显示数据If rs.RecordCount <> 0 ThenFor Index = 0 To 7If rs.Fields(Index) <> "" ThentxtItem(Index).Text = rs.Fields(Index)ElsetxtItem(Index).Text = ""End IftxtItem(Index).Enabled = FalseNext IndexIf IsDate(Trim(txtItem(5).Text)) ThenDTPicker1.Value = Trim(txtItem(5).Text) '时间控件End IfEnd IfEnd SubPrivate Sub LoadData()'装载数据Dim strWhere As StringIf CboQuery.ListCount > 0 ThenstrWhere = " where 院代码='" & Left(Trim(CboQuery.Text), 2) & "'"Set rs = NothingSQL = " select * from 系信息表" & strWhere & " order by 系代码"Set rs = SelectSQL(SQL, msg)Set Me.DataGrid1.DataSource = rsMe.DataGrid1.RefreshFrame1(1).Enabled = TrueElseMsgBox ("请先创建上级单位!")Frame1(1).Enabled = FalseEnd IfEnd SubPrivate Sub CboQuery_Click()txtItem(4).Text = Left(Trim(CboQuery.Text), 2)End SubPrivate Sub CmdQuery_Click()Call LoadData '重新装载数据If rs.RecordCount > 0 ThenCall ShowData '显示信息ElseFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'控件可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = FalsePrivate Sub Form_Load()'初始化ComboBoxDim rst As ADODB.RecordsetDim strItem As StringSQL = " select 院代码,院名称from 院信息表order by 院代码"Set rst = SelectSQL(SQL, msg)If rst.RecordCount > 0 ThenDo While Not rst.EOFstrItem = rst.Fields(0) & " " & rst.Fields(1)CboQuery.AddItem (strItem)rst.MoveNextLooprst.CloseCboQuery.ListIndex = 0ElseMsgBox ("请先创建院信息!") '如果没有院信息不能使用Frame1(0).Enabled = FalseFrame1(1).Enabled = FalseExit SubEnd IfCall LoadData '重新装载数据If rs.RecordCount > 0 ThenCall ShowData '显示数据ElseFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'控件可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = TrueCmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd SubPrivate Sub CmdMove_Click(Index As Integer) '移动记录Select Case IndexCase Is = 0 '移到第一条记录If Not rs.BOF Then rs.MoveFirstCase Is = 1 '移到上一条记录If rs.RecordCount <> 0 ThenIf rs.BOF = False Then rs.MovePreviousIf rs.BOF = True Then rs.MoveFirstEnd IfCase Is = 2 '移到下一条记录If rs.RecordCount <> 0 ThenIf rs.EOF = False Then rs.MoveNextIf rs.EOF = True Then rs.MoveLastEnd IfCase Is = 3 '移到最后一条记录If rs.RecordCount <> 0 ThenIf Not rs.EOF = True Then rs.MoveLastEnd IfEnd SelectIf rs.RecordCount <> 0 ThenCall ShowData '在文本框中显示数据'按钮可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = TrueCmdCancel.Enabled = False: CmdSave.Enabled = False'按钮可用性CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = FalseCmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd IfEnd SubPrivate Sub CmdAdd_Click()'清空文本框,文本框可用For Index = 0 To 7txtItem(Index).Text = ""txtItem(Index).Enabled = TrueNext IndexCboQuery.Enabled = False 'ComboBox不可用'设置标志flagflag = "Add"txtItem(5).Text = Me.DTPicker1.Value '设置日期txtItem(0).Text = Left(Trim(CboQuery.Text), 2)txtItem(0).SetFocustxtItem(4).Text = Left(Trim(CboQuery.Text), 2)'所有移动按钮不可用For Index = 0 To 3CmdMove(Index).Enabled = FalseNext Index'添加、修改、删除按钮不可用,取消、保存按钮可用CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = FalseCmdCancel.Enabled = True: CmdSave.Enabled = TrueEnd SubPrivate Sub CmdModify_Click()'修改操作If rs.RecordCount > 0 Then'文本框可用,系代码不可以修改For Index = 1 To 7txtItem(Index).Enabled = TrueNext IndextxtItem(0).Enabled = FalseCboQuery.Enabled = False 'ComboBox 不可用'设置标志flagflag = "Modify"'移动控件不可用For Index = 0 To 3CmdMove(Index).Enabled = FalseNext Index'添加、修改、删除按钮不可用,取消、保存按钮可用CmdCancel.Enabled = True: CmdSave.Enabled = TrueCmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False ElseMsgBox ("没有可以修改的数据!")End IfEnd SubPrivate Sub CmdDelete_Click()'删除操作On Error GoTo ErrMsgIf rs.RecordCount > 0 Thenmsg = MsgBox("删除该条记录吗?", vbYesNo)If msg = vbYes Thenrs.DeleteCall LoadData '重新装载数据'清空文本框、并不可用For Index = 0 To 7txtItem(Index).Text = ""txtItem(Index).Enabled = FalseNext Index'所有移动控件不可用If rs.RecordCount = 0 ThenFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'按钮可用性处理CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = TrueCmdSave.Enabled = False: CmdCancel.Enabled = FalseMsgBox ("成功删除的数据!")End IfElseMsgBox ("没有可删除的数据!")End IfExit SubErrMsg:MsgBox 不能删除, vbExclamation, "出错"End SubPrivate Sub cmdCancel_Click()'取消操作Call ShowData'所有移动控件可用For Index = 0 To 3CmdMove(Index).Enabled = TrueNext IndexCboQuery.Enabled = True 'ComboBox可用'修改、删除、添加按钮可用,保存和取消按钮不可用CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = TrueCmdSave.Enabled = False: CmdCancel.Enabled = FalseEnd SubPrivate Sub CmdSave_Click()On Error GoTo ErrMsgIf Not CheckData Then Exit Sub '如果数据不合法退出If flag = "Modify" Then '如果是修改数据msg = MsgBox("您确实要修改这条数据吗?", vbYesNo)If msg = vbYes ThenFor Index = 0 To 7If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).Text Next IndexElseExit SubEnd IfElseIf flag = "Add" Then '如果是添加新数据rs.AddNewFor Index = 0 To 7If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).Text Next IndexEnd If'更新数据rs.Update'移动控件可用For Index = 0 To 3CmdMove(Index).Enabled = TrueNext IndexFor Index = 0 To 7txtItem(Index).Enabled = FalseNext IndexCboQuery.Enabled = True 'ComboBox可用CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = FalseIf flag = "Add" ThenMsgBox ("成功添加数据!")ElseMsgBox ("成功更新数据!")End IfCall LoadData '重新装载数据'定位到添加或修改记录If rs.RecordCount <> 0 Thenrs.MoveFirstrs.Find ("系代码='" & Trim(txtItem(0).Text) & "'")If Not rs.EOF Then Call ShowData '重新显示数据End IfExit SubErrMsg:MsgBox Err.Description, vbExclamation, "出错"End SubPrivate Sub DTPicker1_CloseUp() '得到日期txtItem(5).Text = Me.DTPicker1.ValueEnd SubPrivate Sub CmdExit_Click()'退出操作学生档案管理.Enabled = Truers.CloseUnload MeEnd SubPrivate Sub Form_Unload(Cancel As Integer)'退出操作学生档案管理.Enabled = TrueUnload MeEnd Sub3:A班级设置(1)界面(2)代码Dim rs As ADODB.RecordsetDim SQL As StringDim msg As StringDim Index As IntegerDim flag As String '判断是新增记录还是修改记录Private Sub SelectData()'初始化系ComboBoxDim rst As ADODB.RecordsetDim strItem As StringSQL = " select 系代码,系名称from 系信息表where 院代码='"SQL = SQL & Left(Trim(CboQuery(0).Text), 2) & "' order by 系代码"Set rst = SelectSQL(SQL, msg)CboQuery(1).ClearIf rst.RecordCount > 0 ThenDo While Not rst.EOFstrItem = rst.Fields(0) & " " & rst.Fields(1)CboQuery(1).AddItem (strItem)rst.MoveNextLooprst.CloseCboQuery(1).ListIndex = 0ElseFrame1(1).Enabled = FalseExit SubEnd IfEnd SubPrivate Function CheckData() As Boolean'检查数据的合法性Dim rst As ADODB.RecordsetDim msgt As Stringmsgt = ""'检查数据非空If Trim(txtItem(0).Text) = "" Thenmsgt = "班号为空;"ElseIf Not Len(Trim(txtItem(0).Text)) = 6 Thenmsgt = "班号不是6位;"ElseIf Not Left(Trim(txtItem(0).Text), 4) = Left(Trim(CboQuery(1).Text), 4) Then msgt = "班号错误;"End IfIf Trim(txtItem(1).Text) = "" Thenmsgt = msgt & " 班级名称为空;"End IfIf Not msgt = "" ThenMsgBox (msgt)CheckData = FalseExit FunctionEnd If'检查唯一性SQL = " select * from 班级信息表where 班号='" & Trim(txtItem(0).Text) & "'"Set rst = SelectSQL(SQL, msg)If flag = "Add" And rst.RecordCount > 0 ThenMsgBox ("该班级的信息已经存在,重复添加!")rst.CloseCheckData = FalseExit FunctionEnd IfCheckData = True '合法End FunctionPrivate Sub ShowData()'在文本框中显示数据If rs.RecordCount <> 0 ThenFor Index = 0 To 8If rs.Fields(Index) <> "" ThentxtItem(Index).Text = rs.Fields(Index)ElsetxtItem(Index).Text = ""End IftxtItem(Index).Enabled = FalseNext IndexIf IsDate(Trim(txtItem(3).Text)) ThenDTPicker1.Value = Trim(txtItem(3).Text) '时间控件End IfEnd IfEnd SubPrivate Sub LoadData()'装载数据Dim strWhere As StringIf CboQuery(0).ListCount > 0 And CboQuery(1).ListCount > 0 ThenstrWhere = " where 系代码='" & Left(Trim(CboQuery(1).Text), 4) & "'"Set rs = NothingSQL = " select * from 班级信息表" & strWhere & " order by 班号"Set rs = SelectSQL(SQL, msg)Set Me.DataGrid1.DataSource = rsMe.DataGrid1.RefreshFrame1(1).Enabled = TrueElseMsgBox ("请先创建上级单位!")Frame1(1).Enabled = FalseEnd IfEnd SubPrivate Sub CboQuery_Click(Index As Integer)If Index = 0 ThenCall SelectData '得到系列表ElseIf Index = 1 ThenIf CboQuery(1).ListCount > 0 ThentxtItem(2).Text = Left(Trim(CboQuery(1).Text), 4)Label4.Caption = "系代码:" & Left(Trim(CboQuery(1).Text), 4) End IfEnd IfEnd SubPrivate Sub CmdQuery_Click()Call LoadData '重新装载数据If rs.RecordCount > 0 ThenCall ShowData '显示数据ElseFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'控件可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd SubPrivate Sub Form_Load()'初始化ComboBoxDim rst As ADODB.RecordsetDim strItem As StringSQL = " select 院代码,院名称from 院信息表order by 院代码"Set rst = SelectSQL(SQL, msg)If rst.RecordCount > 0 ThenDo While Not rst.EOFstrItem = rst.Fields(0) & " " & rst.Fields(1)CboQuery(0).AddItem (strItem)rst.MoveNextLooprst.CloseCboQuery(0).ListIndex = 0ElseMsgBox ("请先创建院信息!") '如果没有院信息不能使用Frame1(0).Enabled = FalseFrame1(1).Enabled = FalseFrame2.Enabled = FalseExit SubEnd IfCall SelectData '得到系列表Call LoadData '重新装载数据If Not Frame1(1).Enabled Then Exit SubIf rs.RecordCount > 0 ThenCall ShowData '显示数据ElseFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'控件可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = TrueCmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd SubPrivate Sub CmdMove_Click(Index As Integer)'移动记录Select Case IndexCase Is = 0 '移到第一条记录If Not rs.BOF Then rs.MoveFirstCase Is = 1 '移到上一条记录If rs.RecordCount <> 0 ThenIf rs.BOF = False Then rs.MovePreviousIf rs.BOF = True Then rs.MoveFirstEnd IfCase Is = 2 '移到下一条记录If rs.RecordCount <> 0 ThenIf rs.EOF = False Then rs.MoveNextIf rs.EOF = True Then rs.MoveLastEnd IfCase Is = 3 '移到最后一条记录If rs.RecordCount <> 0 ThenIf Not rs.EOF = True Then rs.MoveLastEnd IfEnd SelectIf rs.RecordCount <> 0 ThenCall ShowData '在文本框中显示数据'按钮可用性CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = TrueCmdCancel.Enabled = False: CmdSave.Enabled = FalseElse'按钮可用性CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = FalseCmdCancel.Enabled = False: CmdSave.Enabled = FalseEnd IfEnd SubPrivate Sub CmdAdd_Click()'清空文本框,文本框可用For Index = 0 To 8txtItem(Index).Text = ""txtItem(Index).Enabled = TrueNext IndexCboQuery(0).Enabled = False 'ComboBox不可用CboQuery(1).Enabled = False 'ComboBox不可用'设置标志flagflag = "Add"txtItem(3).Text = Me.DTPicker1.Value '设置日期txtItem(0).Text = Left(Trim(CboQuery(1).Text), 4)txtItem(0).SetFocustxtItem(2).Text = Left(Trim(CboQuery(1).Text), 4)'所有移动按钮不可用For Index = 0 To 3CmdMove(Index).Enabled = FalseNext Index'添加、修改、删除按钮不可用,取消、保存按钮可用CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = FalseCmdCancel.Enabled = True: CmdSave.Enabled = TrueEnd SubPrivate Sub CmdModify_Click()'修改操作If rs.RecordCount > 0 Then'文本框可用,班号不可以修改For Index = 1 To 8txtItem(Index).Enabled = TrueNext IndextxtItem(0).Enabled = FalseCboQuery(0).Enabled = False 'ComboBox 不可用CboQuery(1).Enabled = False 'ComboBox 不可用'设置标志flagflag = "Modify"'移动控件不可用For Index = 0 To 3CmdMove(Index).Enabled = FalseNext Index'添加、修改、删除按钮不可用,取消、保存按钮可用CmdCancel.Enabled = True: CmdSave.Enabled = TrueCmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False ElseMsgBox ("没有可以修改的数据!")End IfEnd SubPrivate Sub CmdDelete_Click()'删除操作On Error GoTo ErrMsgIf rs.RecordCount > 0 Thenmsg = MsgBox("删除该条记录吗?", vbYesNo)If msg = vbYes Thenrs.DeleteCall LoadData '重新装载数据'清空文本框、并不可用For Index = 0 To 8txtItem(Index).Text = ""txtItem(Index).Enabled = FalseNext Index'所有移动控件不可用If rs.RecordCount = 0 ThenFor Index = 0 To 3CmdMove(Index).Enabled = FalseNext IndexEnd If'按钮可用性处理CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = TrueCmdSave.Enabled = False: CmdCancel.Enabled = FalseMsgBox ("成功删除的数据!")End IfElseMsgBox ("没有可删除的数据!")End IfExit SubErrMsg:MsgBox Err.Description, vbExclamation, "出错"End SubPrivate Sub cmdCancel_Click()'取消操作Call ShowData'所有移动控件可用For Index = 0 To 3CmdMove(Index).Enabled = TrueNext IndexCboQuery(0).Enabled = True 'ComboBox可用CboQuery(1).Enabled = True 'ComboBox可用'修改、删除、添加按钮可用,保存和取消按钮不可用CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = FalseEnd SubPrivate Sub CmdSave_Click()On Error GoTo ErrMsg '出错处理If Not CheckData Then Exit Sub '如果数据不合法退出If flag = "Modify" Then '如果是修改数据msg = MsgBox("您确实要修改这条数据吗?", vbYesNo)If msg = vbYes ThenFor Index = 0 To 8If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).TextNext IndexElseExit SubEnd IfElseIf flag = "Add" Then '如果是添加新数据rs.AddNewFor Index = 0 To 8If txtItem(Index).Text <> "" Then rs.Fields(Index) = txtItem(Index).Text Next IndexEnd If'更新数据rs.Update'移动控件可用For Index = 0 To 3CmdMove(Index).Enabled = TrueNext IndexFor Index = 0 To 8txtItem(Index).Enabled = FalseNext IndexCboQuery(0).Enabled = True 'ComboBox可用CboQuery(1).Enabled = True 'ComboBox可用CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = FalseIf flag = "Add" ThenMsgBox ("成功添加数据!")ElseMsgBox ("成功更新数据!")End IfCall LoadData '重新装载数据'定位到添加或修改记录If rs.RecordCount <> 0 Thenrs.MoveFirstrs.Find ("班号='" & Trim(txtItem(0).Text) & "'")If Not rs.EOF Then Call ShowData '重新显示数据End IfExit SubErrMsg:MsgBox Err.Description, vbExclamation, "出错"End Sub。

教学管理系统java源代码_教学管理系统java源代码.doc

教学管理系统java源代码_教学管理系统java源代码.doc

教学管理系统java源代码_教学管理系统java源代码.doc 教学管理系统java源代码教学管理系统java源代码篇⼀:java学⽣管理系统源代码import java.io.Serializable;public class Course implements Serializable{private String courseName;private int courseGrade;Course(){courseName=null;courseGrade=0;}public void setCourseNameValue(String ss){this.courseName=ss;}public void setCourseGradeValue(int dd){this.courseGrade=dd;}public String getCourseNameValue(){return this.courseName;}public int getCourseGradeValue(){return this.courseGrade;}public boolean equals(Object o) {if (o == null){ return false;}else {if (o instanceof Course) {Course rec = (Course) o;if (this.courseName.equals(rec.getCourseNameValue())) {return true;}}return false;}---------------------------------------------------------------------------------------------------------------import java.io.Serializable;import java.util.Arrays;import java.util.LinkedList;import java.util.List;public class Student implements Serializable, Comparable{private String studentName;private int studentId;//private int studentCourseAmount=4;private LinkedList courseList;Student(){studentName=null;studentId=0;courseList=new LinkedList();}public void setStudentNameValue(String name){//确定学⽣名称this.studentName=name;}public void setStudentIdValue(int id){//确定学⽣学号this.studentId=id;}public void setStudentCourseList(LinkedList list){//传⼊课程链listthis.courseList=list;// System.out.println(例:0916 张磊 语⽂98 数学67); }public void setCourseGrade(Object o){//将与学科o同名的学科的成绩改为o的成绩for(int i=0;ithis.courseList.size();i++){ Course obj=new Course();obj=(Course) this.courseList.get(i);if(obj.equals(o)){Course res=(Course) o;obj.setCourseGradeValue(res.getCourseGradeValue());}public String getStudentNameValue(){//取得学⽣姓名return this.studentName;}public int getStudentId(){//取得学⽣学号return this.studentId;}public LinkedList getstudentCourseList(){//得到成绩链的⾸地址return this.courseList;}public long。

学生信息管理系统完整源代码+mysql文件

学生信息管理系统完整源代码+mysql文件

数据库所用的数据自己导入MYSQL5.5,Navicat8就可以用了。

下面是具体的数据资料/*MySQL Data TransferSource Host: localhostSource Database: simsTarget Host: localhostTarget Database: simsDate: 2013-6-25 9:24:26*/SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for manager-- ----------------------------DROP TABLE IF EXISTS `manager`;CREATE TABLE `manager` (`id` varchar(10) NOT NULL,`name` varchar(30) NOT NULL,`Mima` varchar(20) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Table structure for studentinfo-- ----------------------------DROP TABLE IF EXISTS `studentinfo`;CREATE TABLE `studentinfo` (`Sname` varchar(30) NOT NULL,`Ssex` varchar(10) NOTNULL,`Snumber` varchar(10) NOT NULL,`Sprofession` varchar(30) NOT NULL,`Sclass`varchar(20) NOT NULL,`Sdate` varchar(30) character set utf8 collate utf8_unicode_ciNOT NULL,PRIMARY KEY (`Snumber`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='InnoDBfree: 4096 kB';-- ------------------------------ Table structure for userinfo-- ----------------------------DROP TABLE IF EXISTS `userinfo`;CREATE TABLE `userinfo` (`id` varchar(10) NOT NULL,`name` varchar(30) NOT NULL,`Mima` varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL, PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records-- ----------------------------INSERT INTO `manager` VALUES ('1', '1', '2');INSERT INTO `manager` VALUES ('2', '恩恩', '123456');INSERT INTO `manager` VALUES ('3', '大大', '123456');INSERT INTO `manager` VALUES ('4', '啊啊', '123456');INSERT INTO `manager` VALUES ('5', '5', '5');INSERT INTO `manager` VALUES ('6', '孙霞', '123456');INSERT INTO `studentinfo` V ALUES ('张三', '男', '2010303755', '数学', '2', '2010-02- 12');INSERT INTO `studentinfo` V ALUES ('李四', '男', '2010303760', '物理', '1', '1995.9.6'); INSERT INTO `studentinfo` V ALUES ('王二', '女', '2010303761', '应数', '2','1990.9.11');INSERT INTO `studentinfo` V ALUES ('麻子', '女', '2010303762', '信计', '1','1999.9.10');INSERT INTO `userinfo` V ALUES ('1', '1', '1');INSERT INTO `userinfo` V ALUES ('13', '13', '1');INSERT INTO `userinfo` V ALUES ('2', '2', '2');INSERT INTO `userinfo` V ALUES ('3', '3', '3');INSERT INTO `userinfo` V ALUES ('6', '6', '6');INSERT INTO `userinfo` V ALUES ('7', '7', '6');下面是相应的程序:package MS;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class Add implements ActionListener {JFrame f1;Container ct;JPanel jp,jp1,jp2,jp3;JButton btn1,btn2;JLabel label;JTextField tf1,tf2,tf3,tf4,tf5,tf6;Add(){f1=new JFrame();ct=f1.getContentPane();//初始化面板jp=new JPanel();jp1=new JPanel(new GridLayout(6,1));jp2=new JPanel(new GridLayout(6,1));jp3=new JPanel();btn1=new JButton("确定");btn2=new JButton("取消");label=new JLabel("<html><font color=#CC00FF size='4'>添加学生信息</font>",SwingConstants.CENTER);label.setForeground(Color.gray);tf1=new JTextField(20);tf2=new JTextField(20);tf3=new JTextField(20);tf4=new JTextField(20);tf5=new JTextField(20);tf6=new JTextField(20);tf6.setText("例:2000-02-02");//文本框加入提示语tf6.addFocusListener(new FocusListener(){public void focusGained(FocusEvent e) {tf6.setText("");}public void focusLost(FocusEvent e) {}});jp.add(label);ct.add(jp,"North");jp1.add(new JLabel("姓名",SwingConstants.CENTER));jp2.add(tf1);jp1.add(new JLabel("性别",SwingConstants.CENTER));jp2.add(tf2);jp1.add(new JLabel("学号",SwingConstants.CENTER));jp2.add(tf3);jp1.add(new JLabel("专业",SwingConstants.CENTER));jp2.add(tf4);jp1.add(new JLabel("班级",SwingConstants.CENTER));jp2.add(tf5);jp1.add(new JLabel("入学时间",SwingConstants.CENTER));jp2.add(tf6);jp3.add(btn1);jp3.add(btn2);ct.add(jp1,"West");ct.add(jp2,"East");ct.add(jp3,"South");Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;int y=screen.height;f1.setSize(350,330);int xcenter=(x-350)/2;int ycenter=(y-330)/2;f1.setLocation(xcenter, ycenter);f1.setVisible(true);//f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn1.addActionListener(this);btn2.addActionListener(this);}public void insert(){if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals("")){JOptionPane.showMessageDialog(f1,"请填写完整信息");return;}try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:mysql://localhost:3306/sims";try{Connectioncon=DriverManager.getConnection(conURL,"root","123456");Statement st=con.createStatement();String s="insert into studentinfo values('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";String query="select * from studentinfo where Snumber='"+tf3.getText().trim()+"'";ResultSet res=st.executeQuery(query);if(res.next()){JOptionPane.showMessageDialog(f1,"学号信息已经存在!");con.close();tf3.setText("");}else if(tf6.getText().length()!=10){JOptionPane.showMessageDialog(f1,"入学时间格式有误!");con.close();tf6.setText("");}int insert=st.executeUpdate(s);if(insert==1){JOptionPane.showMessageDialog(f1,"录入信息成功!");tf1.setText("");tf2.setText("");tf3.setText("");tf4.setText("");tf5.setText("");tf6.setText("");}}catch(SQLException e){System.out.println("错误代码:"+e.getErrorCode());System.out.println("错误信息:"+e.getMessage());}}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("确定")){insert();}else if(cmd.equals("取消")){f1.hide();}}public Container getCt(){return ct;}public void setCt(Container ct){this.ct = ct;}}package MS;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.SwingConstants;public class Delete implements ActionListener {JFrame f2;Container ct;JPanel jp1,jp2,jp3,jp4;JLabel label;JTextField text;JTable table;//接收数据库中返回的信息JButton btn1,btn2,btn3;Object columnName[]={"姓名","性别","学号","专业","班级","入学时间"};Object ar[][]=new Object[80][6];Delete(){f2=new JFrame();ct=f2.getContentPane();jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();label=new JLabel();text=new JTextField();btn1=new JButton("查询");btn2=new JButton("删除");btn3=new JButton("取消");label=new JLabel("<html><font color=#CC00FF size='4'>请输入要删除的学生姓名:</font>",SwingConstants.CENTER);label.setBackground(Color.blue);table=new JTable(ar,columnName);JScrollPane scroll=new JScrollPane(table);text=new JTextField(20);jp2.add(btn1);jp2.add(btn2);jp2.add(btn3);jp1.add(label);jp1.add(text);ct.add(jp1,"North");jp3.setLayout(new BorderLayout());jp3.add(new JLabel("学生信息如下"));jp3.add(scroll);ct.add(jp2,"South");ct.add(jp3,"Center");Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;int y=screen.height;f2.setSize(450, 400);int xcenter=(x-450)/2;int ycenter=(y-400)/2;f2.setLocation(xcenter, ycenter);f2.setVisible(true);//f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn1.addActionListener(this);btn2.addActionListener(this);btn3.addActionListener(this);}int i=0;public void show(String s){while(i>=0){ar[i][0]="";ar[i][1]="";ar[i][2]="";ar[i][3]="";ar[i][4]="";ar[i][5]="";i--;}i=0;try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:mysql://localhost:3306/sims";try{Connection con=DriverManager.getConnection(conURL,"root","123456");Statement st=con.createStatement();String sql="select * from studentinfo where Sname='"+s+"'";ResultSet res=st.executeQuery(sql);/*if(!(res.next())){JOptionPane.showMessageDialog(f,"所要查询的信息不存在");} */while(res.next()){String sName=res.getString(1);String sSex=res.getString(2);String sNumber=res.getString(3);String sProfession=res.getString(4);String sClass=res.getString(5);String sDate=res.getString(6);ar[i][0]=sName;ar[i][1]=sSex;ar[i][2]=sNumber;ar[i][3]=sProfession;ar[i][4]=sClass;ar[i][5]=sDate;i++;}f2.repaint();con.close();}catch(SQLException e){System.out.println("错误代码:"+e.getErrorCode());System.out.println("错误信息:"+e.getMessage());}}public void delete(int line){try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:mysql://localhost:3306/sims";try{Connection con=DriverManager.getConnection(conURL,"root","123456");Statement st=con.createStatement();String name=(String)(ar[line][2]);String sql="delete from studentinfo where Snumber ='"+name+"'";int del=st.executeUpdate(sql);if(del==1){ar[line][0]="";ar[line][1]="";ar[line][2]="";ar[line][3]="";ar[line][4]="";ar[line][5]="";JOptionPane.showMessageDialog(null,"删除成功!","信息", JOptionPane.YES_NO_OPTION);}con.close();f2.repaint();}catch(SQLException e){System.out.println("错误代码:"+e.getErrorCode());System.out.println("错误信息:"+e.getMessage());}}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("查询")){String qu=text.getText().trim();show(qu);}if(cmd.equals("删除")){int de=table.getSelectedRow();if(de==-1){JOptionPane.showMessageDialog(null,"请选定要删除的行","错误信息", JOptionPane.YES_NO_OPTION);}else{delete(de);}}if(cmd.equals("取消")){f2.hide();}}}package MS;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.SwingConstants;public class Liulan implements ActionListener {JFrame f4;Container ct;JPanel jp1,jp2,jp3,jp4;JLabel label;JButton btn1,btn2;JTable table;Object[][] ar=new Object[80][6];Object[] columnName={"姓名","性别","学号","专业","班级","入学时间"};Liulan(){f4=new JFrame();ct=f4.getContentPane();jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();btn1=new JButton("点击浏览");btn2=new JButton(" 取消");label=new JLabel("<html><font color=#00FF22 size='4'>学生信息浏览<font>",SwingConstants.CENTER);label.setBackground(Color.blue);table=new JTable(ar, columnName);JScrollPane scroll=new JScrollPane(table);jp1.add(label);jp2.add(btn1);jp2.add(btn2);jp3.add(scroll);ct.add(jp1,"North");ct.add(jp3,"Center");ct.add(jp2,"South");Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;int y=screen.height;f4.setSize(500,530);int xcen=(x-500)/2;int ycen=(y-530)/2;f4.setLocation(xcen,ycen);f4.setVisible(true);btn1.addActionListener(this);btn2.addActionListener(this);}int i=0;public void select(){while(i>=0){ar[i][0]="";ar[i][1]="";ar[i][2]="";ar[i][3]="";ar[i][4]="";ar[i][5]="";i--;}i=0;try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:mysql://localhost:3306/sims";try{Connection con=DriverManager.getConnection(conURL,"root","123456");Statement st=con.createStatement();String s="select * from studentinfo";ResultSet res=st.executeQuery(s);while(res.next()){String sName=res.getString(1);String sSex=res.getString(2);String sNumber=res.getString(3);String sProfession=res.getString(4);String sClass=res.getString(5);String sDate=res.getString(6);ar[i][0]=sName;ar[i][1]=sSex;ar[i][2]=sNumber;ar[i][3]=sProfession;ar[i][4]=sClass;ar[i][5]=sDate;i++;}f4.repaint();con.close();}catch(SQLException e){System.out.println("错误代码:"+e.getErrorCode());System.out.println("错误信息:"+e.getMessage());}}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){// TODO Auto-generated method stubString cmd=e.getActionCommand();if(cmd.equals("点击浏览")){select();}else if(cmd.equals(" 取消")){f4.hide();}}}package MS;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.sql.Connection;import java.sql.DriverManager;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JRadioButton;import javax.swing.JTextField;import javax.swing.SwingConstants;@SuppressWarnings("serial")public class Login extends JFrame implements ActionListener {Container cp=null;JFrame f=null;JButton button1,button2,button3;JTextField t1;JPasswordField t2;JLabel jlable1,jlable2;JRadioButton rabtn1,rabtn2;Color c;JPanel jp1,jp2,jp3;String table=null;Login(){f=new JFrame("学生信息管理系统");button1=new JButton("确定");button2=new JButton("取消");button3=new JButton("注册");//button3.setOpaque(false);button3.setBorder(null);button3.setBackground(Color.getColor("#292421"));rabtn1=new JRadioButton("普通用户");rabtn1.setBackground(Color.getColor("#292421"));rabtn2=new JRadioButton("管理员");rabtn2.setBackground(Color.getColor("#292421"));ButtonGroup group=new ButtonGroup();group.add(rabtn1);group.add(rabtn2);cp=f.getContentPane();jlable1=new JLabel("输入用户号");jlable2=new JLabel("输入密码");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();t1=new JTextField(20);t2=new JPasswordField(20);//jp3.add(group);jp1.add(jlable1);jp1.add(t1);jp1.add(jlable2);jp1.add(t2);jp1.add(rabtn1);jp1.add(rabtn2);jp1.add(button3);JLabel JL=new JLabel("<html><font color=#292421 size='7'><i>欢迎登陆" + "</i></font>",SwingConstants.CENTER);cp.add(JL,"North");jp2.add(button1);jp2.add(button2);cp.add(jp1,"Center");cp.add("South",jp2);cp.setBackground(new Color(127, 255, 212 ));jp2.setBackground(new Color(127, 255, 212 ));jp1.setBackground(new Color(127, 255, 212 ));Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;int y=screen.height;f.setSize(250,300);int xcenter=(x-300)/2;int ycenter=(y-300)/2;f.setLocation(xcenter,ycenter);/*显示在窗口中央*/f.setVisible(true);//f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//------------------------------------------------------------///*监听事件*/button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);rabtn1.addItemListener(new ItemListener(){public void itemStateChanged(ItemEvent e){JRadioButton jop=(JRadioButton) e.getSource();if (jop.isSelected())table="userinfo";}});rabtn2.addItemListener(new ItemListener(){public void itemStateChanged(ItemEvent e){JRadioButton jop=(JRadioButton) e.getSource();if (jop.isSelected())table="manager";}});f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}@SuppressWarnings("deprecation")public void confirm(String tableName){try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundException e){System.out.print("加载驱动程序失败");}String conURL="jdbc:mysql://localhost:3306/sims";try{Connection con=DriverManager.getConnection(conURL,"root","123456");Statement st=con.createStatement();String id=t1.getText().trim();String Mima=t2.getText().trim();String queryMima="select * from "+tableName+" where id='"+id+"' and mima='"+Mima+"'";ResultSet res=st.executeQuery(queryMima);if(res.next()){if(tableName.equals("manager"))new Mstudent(id);else if(tableName.equals("userinfo"))new Ustudent(id);f.hide();con.close();}else{JOptionPane.showMessageDialog(null,"密码错误请重输!!!","提示!",JOptionPane.YES_NO_OPTION);}t1.setText("");t2.setText("");}catch(SQLException g){System.out.println("错误代码:"+g.getErrorCode());System.out.println("错误内容:"+g.getMessage());}}ItemListener listen=new ItemListener(){public void itemStateChanged(ItemEvent e) {// TODO Auto-generated method stub}};public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("确定")){if(table==null){JOptionPane.showMessageDialog(f,"请选择用户类型");}confirm(table);}else if(cmd.equals("取消")){f.dispose();}else if(cmd.equals("注册")){new Regist();}}public static void main(String []arg){new Login();}}package MS;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenuBar;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.SwingConstants;import javax.swing.border.TitledBorder;@SuppressWarnings("serial")public class Mstudent extends JFrame implements ActionListener {JButton Query = new JButton("查询信息");JButton add = new JButton("添加信息");JButton delete = new JButton("删除信息");JButton xiugai = new JButton("浏览全部信息");JButton liulan = new JButton("修改密码");JMenuBar mb = new JMenuBar();// 菜单栏JPanel jp = new JPanel();Container cp = getContentPane();String userName;Mstudent(){}Mstudent(String userName){erName = userName;mb.add(Query);mb.add(add);mb.add(delete);mb.add(xiugai);mb.add(liulan);JPanel j=new JPanel();j.add(mb,"Center");cp.add(j, "North");// 设置边框jp.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue, 2), null, TitledBorder.CENTER,TitledBorder.TOP));jp.setLayout(new BorderLayout());JLabel label1 = new JLabel("欢迎使用学生信息管理系统",SwingConstants.CENTER);jp.add(label1);JScrollPane scrollpane = new JScrollPane(jp);cp.add(scrollpane,"Center");setTitle("欢迎登陆" + "--" + "你好:" + userName);Toolkit kit = Toolkit.getDefaultToolkit();Dimension screen = kit.getScreenSize();int x = screen.width; /* 取得显示器窗口的宽度*/int y = screen.height; /* 取得显示器窗口的高度*/setSize(600, 600);int xcenter = (x - 600) / 2;int ycenter = (y - 600) / 2;setLocation(xcenter, ycenter);/* 显示在窗口中央*/setVisible(true);//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 注册临听器Query.addActionListener(this);add.addActionListener(this);delete.addActionListener(this);xiugai.addActionListener(this);liulan.addActionListener(this);}public void actionPerformed(ActionEvent e){String cmd = e.getActionCommand();if (cmd.equals("查询信息")){new QueryWays();}if (cmd.equals("添加信息")){new Add();}if (cmd.equals("删除信息")){new Delete();}if (cmd.equals("浏览全部信息")){new Liulan();}if (cmd.equals("修改密码")){new UpdateCode();}}public static void main(String[] args){new Mstudent("");}}package MS;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;public class Query implements ActionListener {String sql =null;int a;String info;JFrame f3;// Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpwest;JButton btn1,btn2;//确定,取消JLabel label,label2;//标签,请输入姓名(label)JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6;//文本框Query(int a){this.a=a;f3=new JFrame();Container cp=f3.getContentPane();//初始化面板,按钮,标签,文本框jp=new JPanel();jp1=new JPanel();jp2=new JPanel(new GridLayout(6,1));jp3=new JPanel();jp4=new JPanel(new GridLayout(6,1));jpwest=new JPanel();btn1=new JButton("确定");btn2=new JButton("取消");label=new JLabel("<html><font color=#CC00FF size='4'>请输入姓名:" + "</font>",SwingConstants.CENTER);label2=new JLabel("<html><font color=#CC00FF size='4'>请输入学号:" + "</font>",SwingConstants.CENTER);label.setForeground(Color.gray);tf=new JTextField(20);//------------------------------------------------tf1=new JTextField(20);tf2=new JTextField(20);tf3=new JTextField(20);tf4=new JTextField(20);tf5=new JTextField(20);tf6=new JTextField(20);//布局,添加控件if(a==0){jp.add(label);jp.add(tf);}else if(a==1){jp.add(label2);jp.add(tf);}cp.add(jp,"North");jp4.add(new JLabel("姓名",SwingConstants.CENTER));jp2.add(tf1);jp4.add(new JLabel("性别",SwingConstants.CENTER));jp2.add(tf2);jp4.add(new JLabel("学号",SwingConstants.CENTER));jp2.add(tf3);jp4.add(new JLabel("专业",SwingConstants.CENTER));jp2.add(tf4);jp4.add(new JLabel("班级",SwingConstants.CENTER));jp2.add(tf5);jp4.add(new JLabel("入学时间",SwingConstants.CENTER));jp2.add(tf6);jp3.add(btn1);jp3.add(btn2);cp.add(jp4,"West");cp.add(jp2,"East");cp.add(jp3,"South");cp.add(jp1);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width; //显示窗口宽度int y=screen.height;//窗口高度f3.setSize(350,330);int xcenter=(x-350)/2;int ycenter=(y-330)/2;f3.setLocation(xcenter,ycenter);f3.setVisible(true);//f3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);btn1.addActionListener(this);btn2.addActionListener(this);/*f3.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});*/。

C语言学籍管理系统(内含源代码)

C语言学籍管理系统(内含源代码)

学籍管理系统一、系统简介设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录入,修改,删除,查询和输出等基本操作二、需求分析学籍管理系统应该实现以下功能:1、能录入学生的基本信息,包括学号,姓名,专业,年级,性别和出生日期信息,保存到结构体数组中。

2、能根据输入的学号查询学生,进行信息的修改。

3、能根据输入的学号从结构体数组中删除学生的记录。

4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。

5、能在屏幕上以列表的方式输出所有学生的信息。

三、概要设计1、系统功能根据项目的开发要求,本系统划分成六个主要功能模块:录入学生信息模块、修改学生信息模块、删除学生信息模块、查询学生信息模块、输出模块和推出模块。

系统功能机构图如下:2、重要数据的数据结构设计学生学籍的记录项用结构体Stu message表示,包括6个属性,stuno,name、spec、grade、sex、birthday 分另U代表学生的学号、专业、年级、性另U和出生日期,其中birthday 类型为自定义的结构体类型Date.Struct stumessage {Char stuno[11]: // 学号Char name[9]: // 姓名Char spec[2]: // 专业Char grade: // 年级Char sex : // 性别Stuct date birthday: // 出生日期};日期类型date包括三个属性,分别代表年、月、日Struct date{int year : // 年Int month: //Int day: // H};3、函数设计学籍管理系统程序采用了结构化程序设计的思想,由1个.h 头文件和3个C源文件组成。

程序中除了主函数外,共设计了以下14个函数,分别包含在3个.c源文件中。

以下是这些函数原型及功能设计。

(1) void sysinfo(void)函数功能:在屏幕上输入系统及信息并等待用户响应。

php学生信息管理系统源代码

php学生信息管理系统源代码

php学生信息管理系统源代码PHP学生信息管理系统源代码是一种基于Web技术的信息管理系统,可以帮助学校或教育机构管理学生信息,包括个人基本信息、课程成绩、考勤记录等。

该系统使用PHP语言编写,采用MySQL 数据库作为数据存储,具有良好的可扩展性和易用性。

该系统的主要功能包括:学生信息管理、课程信息管理、成绩管理、考勤管理、教师管理、班级管理、权限管理等。

下面对这些功能进行详细介绍。

一、学生信息管理学生信息管理是该系统的核心功能之一,它包括对学生基本信息的添加、修改、删除、查询和导出等操作。

管理员可以通过该功能完成对学生信息的全面管理,包括学生的姓名、性别、出生日期、联系方式等基本信息,以及学生的班级、专业、入学时间等详细信息。

同时,管理员还可以为每个学生上传照片,方便识别和管理。

二、课程信息管理课程信息管理是该系统的另一个重要功能,它包括对课程的添加、修改、删除、查询和导出等操作。

管理员可以通过该功能完成对课程信息的管理,包括课程名称、课程编号、授课教师、学分、学时等详细信息。

同时,管理员还可以为每个课程设置课程目标、教学大纲、教学计划等内容,方便学生和教师了解课程的内容和要求。

三、成绩管理成绩管理是该系统的重要功能之一,它包括对学生成绩的录入、修改、查询和导出等操作。

管理员和教师可以通过该功能完成对学生成绩的管理,包括成绩的录入、审核、统计和分析等。

同时,系统还支持成绩的按课程、按学生、按班级等多种方式进行查询和分析,方便学校或教育机构对学生的学习情况进行全面监测和评估。

四、考勤管理考勤管理是该系统的另一个重要功能,它包括对学生考勤记录的添加、修改、查询和导出等操作。

管理员和教师可以通过该功能完成对学生考勤记录的管理,包括考勤的录入、审核、统计和分析等。

同时,系统还支持考勤的按日期、按课程、按学生、按班级等多种方式进行查询和分析,方便学校或教育机构对学生的出勤情况进行全面监测和评估。

五、教师管理教师管理是该系统的重要功能之一,它包括对教师信息的添加、修改、删除、查询和导出等操作。

学生信息管理系统源代码

学生信息管理系统源代码

#include<stdio.h>#include <stdlib.h>#include <string.h>typedef struct{long class_1; //班级long number; //学号char name[20]; //姓名float math; //数学float c_program; //C语言float physics; //大学物理float english; //大学英语float polity; //政治float sport; //体育float summary; //总分float average; //平均分}Student;Student stud[100]; //定义结构体数组变量的大小int i=0; //i用于记录输入的学生的个数int menu() //菜单函数{int a;printf("***********************学生信息管理系统*************************\n");//菜单选择printf("\t\t【1】输入学生信息\n");printf("\t\t【2】显示所有学生的信息\n");printf("\t\t【3】按平均分升降排序\n");printf("\t\t【4】根据学生的学号查找学生的信息\n");printf("\t\t【5】插入学生的信息\n");printf("\t\t【6】删除学生的信息\n");printf("\t\t【7】修改学生的信息\n");printf("\t\t【8】从文件中读入数据\n");printf("\t\t【9】将所有记录写入文件\n");printf("\t\t【0】退出本系统\n");printf("***********************学生信息管理系统*************************\n");printf("请选择你要的操作【0-9】:");scanf("%d",&a); //读入一个数while(a<0 || a>9){printf("输入错误!请重新输入。

教务管理系统源代码

教务管理系统源代码
printf("\n********************张伟出品****************\n\n");
printf("\n用户名:zhang\n密码:wei\n\n");
printf("\n******************************************************\n\n\n");
{
Login();
return 0;
}
/*---------------------------------------------------输入学生成绩并计算-----------------------------------------------------*/
{
printf("\n=====>提示:文件还不存在,是否创建?(y/n)\n");
scanf("%c",&choose);
if(choose=='y'||choose=='Y')
{
fp=fopen("E:\\student_score","wb");
printf("文件已创建,请按回车键关闭,然后重新打开软件\n");getchar();getchar();exit(0);
void Save(LinkList L)
{
FILE *fp;
LinkList p1;
char choose;
if(L ->next == NULL)
{printf("没有可以保存的信息!\n");

学生成绩管理系统源代码

学生成绩管理系统源代码

学生成绩管理系统源代码#include<stdio.h>#include<stdlib.h>int main(){typedef struct LNode{char name[6];int no;int yw;int sx;int yy;struct LNode *next;}LinkList;struct NameNo{int no;int yw;int sx;int total;char name[6];}st[10];FILE *fp,*fp1;char ch,sname[6];int x,i,j;NameNo tmp;LinkList *p,*s;printf("\n");printf("-------------------------------");printf("学生成绩管理系统");printf("--------------------------------");printf("\n\n");printf("在您的C盘根目录下是否有cj1.txt和cj2.txt文件?如果有请输入,1");printf("否则输入0;如果没有,那么程序将终止!1 or 0?");scanf("%d",&i);if(i==0) return 0;printf("\n\n");printf("对cj1.txt和cj2.txt进行合成请按‘1’");scanf("%d",&i);if(i!=1) return 0;printf("正在把cj1.txt和cj2.txt中的数据进行合并\n");printf("......\n.....\n....\n...\n..\n.\n");if((fp=fopen("c:\\cj1.txt","rt"))==NULL){printf("无cj1.txt文本文件,程序结束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//**************************************************************************** //**** 说明:密码所在的文件位于c盘,文件名为1.txt。

//**** 学生基本信息最好保存在C盘,文件名为student.txt。

//**************************************************************************** #include <stdio.h>#include <stdlib.h>#include <string.h>#define N 3struct student{char name[10];char no[10];char sex;int age;char bnote[100];};void print(bool menu)//打印基本信息{if (!menu){printf("学生基本信息录入,press 1\n");}else{printf("学生基本信息显示,press 2\n");printf("学生基本信息保存,press 3\n");printf("学生基本信息删除,press 4\n");printf("学生基本信息修改,press 5\n");printf("学生基本信息查询,press 6\n");}printf("退出学生信息系统,press 7\n");}bool Check(char pas[6])//密码验证{FILE *fp;char ch;char a[7]={" "};int i = 0;if ((fp=fopen("c:\\1.txt","r"))==NULL){printf("打开文件失败!\n");exit(0);ch=fgetc(fp);while (ch!=EOF&&i<6){a[i] = ch;ch=fgetc(fp);i++;}a[6] = '\0';if (!strcmp(pas,a)){return true;}else{printf("密码错误\n");return false;}fclose(fp);}void GetInfo(struct student *arr,int n)//学生基本信息录入{for (int i = 0;i<n;i++){printf("输入学生的基本信息:name no sex age bnote\n");scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);}}void Display(struct student* arr,int n)//学生基本信息显示{printf("学生信息: Name NO Sex age Note\n");for (int i = 0;i<n;i++){printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote); }}void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt{FILE * fp;fp= fopen("c:\\student.txt","w+");if (fp == NULL)printf("文件不存在!\n");exit(0);}fwrite(arr,sizeof(struct student)*n,n,fp);fclose(fp);}void Modfiy(struct student* arr,int n)//学生基本信息修改{char number[10];bool flag=false;char pass[6];printf("请输入密码:\n");scanf("%s",pass);if (Check(pass)){printf("修改学生信息:\n");printf("请输入学号:\n");scanf("%s",number);for (int i =0;i<n;i++){if (!strcmp(number,arr[i].no)){printf("infor: name no sex age note\n");printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);printf("please input information:\n");scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);Save(arr,n);flag = true;}}if (flag == false){printf("该学生不存在!:\n");}}}void Delete(struct student* arr,int n)//学生基本信息删除{char number[10];bool flag=false;printf("Delete information:\n");printf("please input the no:\n");scanf("%s",number);for (int i =0;i<n;i++){if (!strcmp(number,arr[i].no)){strcpy(arr[i].name," ");strcpy(arr[i].no," ");strcpy(arr[i].bnote," ");arr[i].sex = ' ';arr[i].age = 0;Save(arr,n);flag = true;}}if (flag == true){printf("该学生不存在!:\n");}}void Search(struct student* arr,int n)//学生基本信息查询{int temp,i;bool flag=false;printf("---------------通过学号查询,press 1-------------\n");printf("---------------通过姓名查询,press 2-----------\n");printf("---------------通过性别查询,press 3------------\n");printf("---------------通过年龄查询,press 4------------\n");printf("---------------退出,press 5 ------------\n");scanf("%d",&temp);switch (temp){case 1://按照学号查询{char num[10];printf("请输入学号:\n");scanf("%s",num);for ( i =0;i<n;i++){if (!strcmp(num,arr[i].no)){printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 2://按照名字查询{char num[10];printf("please input name:\n");scanf("%s",num);for ( i =0;i<n;i++){if (!strcmp(num,arr[i].name)){printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;case 3://按照性别查询{char ch;printf("请输入性别:\n");//scanf("%c",&ch);ch = getchar();for ( i =0;i<n;i++){if (ch == arr[i].sex){printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("t该学生不存在.\n");}}break;case 4://按照年龄查询{char num_age;printf("请输入年龄:\n");scanf("%d",&num_age);for ( i =0;i<n;i++){if (num_age == arr[i].age){printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag = true;}}if (!flag){printf("该学生不存在.\n");}}break;default:break;}}void main(){struct student arr[N];char ps[6];bool flag =false;printf("请输入密码:\n");scanf("%s",ps);flag = Check(ps);if (flag){int select;print(false);scanf("%d",&select);while (0<select && select <7 ) {switch (select){case 1:GetInfo(arr,N);print(true);break;case 2:Display(arr,N);print(true);break;case 3:Save(arr,N);print(true);break;case 4:Delete(arr,N);print(true);break;case 5:Modfiy(arr,N);print(true);break;case 6:Search(arr,N);print(true);break;default:break;}printf("请选择:\n");scanf("%d",&select);}}}。

相关文档
最新文档