第一篇:学生管理系统学生链表
#include
typedef struct student { int num;char name[10];char passwd[6];int age;int class;int math;int clan;int chinese;int mingci;struct student *next;}STU,*pstu;
pstu stu_numsort(pstu head);pstu stu_sumsort(pstu head);pstu stu_mathsort(pstu head);pstu stu_chisort(pstu head);pstu stu_clansort(pstu head);pstu stu_searchbynum(pstu head,int num);pstu stu_searchbyname(pstu head,char name[]);pstu stu_searchbyclass(pstu head,int class);pstu stu_create(){
pstu head=NULL;pstu s=NULL;int num;char name[10];char passwd[6];int age;int class;int math;int clan;int chinese;int mingci;printf(“请输入任意一个数非0的数继续 :”);scanf(“%d”,&num);while(num!=0){
s=(pstu)malloc(sizeof(STU));
if(s==NULL)
{
printf(“nmalloc errorn”);
return NULL;
}
printf(“输入学生学号:”);
scanf(“%d”,&s->num);
printf(“请输入学生姓名:”);
scanf(“%s”,s->name);
printf(“请输入登陆密码:”);//学生权限(error)
scanf(“%s”,s->passwd);
printf(“请输入学生年龄:”);
scanf(“%d”,&s->age);
printf(“请输入学生班级:”);
scanf(“%d”,&s->class);
printf(“请输入数学成绩:”);
scanf(“%d”,&s->math);
printf(“请输入c语言成绩:”);
scanf(“%d”,&s->clan);
printf(“请输入语文成绩:”);
scanf(“%d”,&s->chinese);
printf(“enter next studentn”);
if(head==NULL)
{
s->next=NULL;
head=s;
}
else
{
s->next=NULL;
s->next=head;
head=s;
}
scanf(“%d”,&num);} return head;} //保存
void stu_write(pstu head){ int flag=0;FILE *fp=NULL;pstu p=head;fp=fopen(“num”,“w”);if(fp==NULL){
printf(“open errorn”);
return;} while(p!=NULL){
flag=fwrite(p,sizeof(STU),1,fp);
if(flag!=1)
{
printf(“write errorn”);
return;
}
p->next;} fclose(fp);} //读函数
pstu stu_read(){ FILE *fp=NULL;pstu head=NULL;pstu s=NULL;fp=fopen(“num”,“r”);s=(pstu)malloc(sizeof(STU));while(fread(s,sizeof(STU),1,fp)==1){
if(head==NULL)
{
s->next=NULL;
head=s;
}
else
{
s->next=NULL;
s->next=head;
head=s;
}
s=(pstu)malloc(sizeof(STU));} fclose(fp);return head;} //删除学生信息(学号)pstu stu_del(pstu head,int num){ pstu p=head;pstu q=NULL;printf(“输入删除的学号:”);scanf(“%d”,&num);if(head->num==num){
head=head->next;} else {
while(p->next!=NULL)
{
if(p->next->num==num)
{
q=p->next;
p->next=q->next;
free(q);
q=NULL;
break;
}
p=p->next;
} } return head;}
pstu stu_searchbynum();//按学号修改学生信息
void stu_changebynum(pstu head){ pstu p=head;int num;char name[10];char passwd[6];int age;int class;int math,chinese,clan;int n;printf(“请输入查找的学号:”);scanf(“%d”,&num);while(p!=NULL){
if(p->num==num)
{
printf(“学号t姓名t密码t年龄t班级t数学tc语言t语文t名次n”);
printf(“%dt%st%st%dt%dt%dt%dt%dt%dn”,p->num,p->name,p->passwd,p->age,p->class,p->math,p->clan,p->chinese,p->mingci);
break;
}
p=p->next;}
printf(“请选择需要修改的学生信息:n”);printf(“-------------------------n”);printf(“1:姓名n”);printf(“2:密码n”);printf(“3:年龄n”);printf(“4:班级n”);printf(“5:数学成绩n”);printf(“6:c成绩n”);printf(“7:语文成绩n”);printf(“0:退出”);printf(“---------------------------n”);printf(“请输入需要修改的信息:”);scanf(“%d”,&n);switch(n){
case 0:
return;
case 1:
printf(“请输入新的姓名:”);
scanf(“%s”,p->name);
break;
case 2:
printf(“请输入新的密码:”);
scanf(“%s”,p->passwd);
break;
case 3:
printf(“请输入新的年龄:”);
scanf(“%d”,&p->age);
break;
case 4:
printf(“请输入新的班级:”);
scanf(“%d”,&p->class);
break;
case 5:
printf(“请输入新的数学成绩:”);
scanf(“%d”,&p->math);
break;
case 6:
printf(“请输入新的c语言成绩:”);
scanf(“%d”,&p->clan);
break;
case 7:
printf(“请输入新的语文成绩:”);
scanf(“%d”,&p->chinese);
break;
default:
printf(“n无效选项n”);
break;} printf(“修改成功!n”);printf(“学号t姓名t密码t年龄t班级t数学tc语言t语文t名次n”);
printf(“%dt%st%st%dt%dt%dt%dt%dt%dn”,p->num,p->name,p->passwd,p->age,p->class,p->math,p->clan,p->chinese,p->mingci);} //按学生姓名修改
void stu_changebyname(pstu head){ pstu p=head;int num;char name[10];char passwd[6];int age;int class;int math,chinese,clan;int n;printf(“请输入查找的姓名:”);scanf(“%s”,name);while(p!=NULL){
if(strcmp(p->name,name)==0)
{
printf(“学号t姓名t密码t年龄t班级t数学tc语言t语文t名次n”);
printf(“%dt%st%st%dt%dt%dt%dt%dt%dn”,p->num,p->name,p->passwd,p->age,p->class,p->math,p->clan,p->chinese,p->mingci);
break;} p=p->next;} printf(“请选择需要修改的学生信息:n”);printf(“-------------------------n”);printf(“1:学号n”);printf(“2:密码n”);printf(“3:年龄n”);printf(“4:班级n”);printf(“5:数学成绩n”);printf(“6:c成绩n”);printf(“7:语文成绩n”);printf(“0:退出”);printf(“---------------------------n”);printf(“请输入需要修改的信息:”);scanf(“%d”,&n);switch(n){ case 0:
return;case 1:
printf(“请输入新的学号:”);
scanf(“%d”,&p->num);
break;case 2:
printf(“请输入新的密码:”);
scanf(“%s”,p->passwd);
break;case 3:
printf(“请输入新的年龄:”);
scanf(“%d”,&p->age);
break;case 4:
printf(“请输入新的班级:”);
scanf(“%d”,&p->class);
break;case 5:
printf(“请输入新的数学成绩:”);
scanf(“%d”,&p->math);
break;case 6:
printf(“请输入新的c语言成绩:”);
scanf(“%d”,&p->clan);
break;
case 7:
printf(“请输入新的语文成绩:”);
scanf(“%d”,&p->chinese);
break;
default:
printf(“n无效选项n”);
break;} printf(“修改成功!n”);printf(“学号t姓名t密码t年龄t班级t数学tc语言t语文t名次n”);
printf(“%dt%st%st%dt%dt%dt%dt%dt%dn”,p->num,p->name,p->passwd,p->age,p->class,p->math,p->clan,p->chinese,p->mingci);
} void change_printf(pstu head){ pstu p=head;int n;printf(“请选择修改学生信息的方式:n”);printf(“-------n”);printf(“1:按学生学号修改n”);printf(“2:按学生姓名修改n”);printf(“0:退出n”);printf(“---------n”);scanf(“%d”,&n);switch(n){
case 1:
stu_changebynum(head);
printf(“显示全部学生信息:”);
break;
case 2:
stu_changebyname(head);
printf(“显示全部学生信息:”);
break;
case 3:
return;} } //查找学生信息
void search_printf(pstu head){ pstu p=head;int n;int num;char name[10];int class;printf(“请选择查找学生信息的方式:n”);printf(“-------n”);printf(“1:按学生学号查找n”);printf(“2:按学生姓名查找n”);printf(“3:按班级群体查找n”);printf(“0:退出n”);printf(“---------n”);scanf(“%d”,&n);switch(n){
case 1:
stu_searchbynum(head,num);
break;
case 2:
stu_searchbyname(head,name);
break;
case 3:
stu_searchbyclass(head,class);
break;
case 0:
return;} } //1:学号查找
pstu stu_searchbynum(pstu head,int num){ pstu p=head;printf(“请输入查找的学号:”);scanf(“%d”,&num);while(p!=NULL){
if(p->num==num)
break;
p=p->next;} return p;} //2:按姓名查找 pstu stu_searchbyname(pstu head,char name[]){ pstu p=head;printf(“请输入要查找的姓名:”);scanf(“%s”,name);while(p!=NULL){
if(strcmp(name,p->name)==0)
break;
p=p->next;} return p;} //班级群体查找
pstu stu_searchbyclass(pstu head,int class){ pstu p=head;printf(“请输入要查找的班级:”);scanf(“%d”,&class);while(p!=NULL){
if(p->class==class)
break;
p=p->next;} return p;}
//显示所有学生信息列表
void sort_printf(pstu head){ pstu p=head;int n;printf(“请选择显示学生信息的方式:n”);printf(“-----n”);printf(“1:按学号顺序显示n”);printf(“2:按名次显示n”);printf(“3:按数学成绩显示n”);printf(“4:按c语言成绩显示n”);printf(“5:按语文成绩显示n”);printf(“--------n”);printf(“请输入你要选择的操作:”);scanf(“%d”,&n);switch(n){
case 1:
stu_numsort(head);
printf(“显示学生信息n”);
break;
case 2:
stu_sumsort(head);
printf(“显示学生信息n”);
break;
case 3:
stu_mathsort(head);
printf(“显示学生信息n”);
break;
case 4:
stu_clansort(head);
printf(“显示学生信息n”);
break;
case 5:
stu_chisort(head);
printf(“显示学生信息n”);
break;
case 6:
return;
default:
printf(“输入错误n”);
break;} }
int stu_len(pstu head){ pstu p=head;int len=0;while(p!=NULL){
len++;
p=p->next;} return len;} //1:按学号顺序显示
pstu getnummax(pstu head){ pstu pmax=head;if(head==NULL){
return NULL;} pstu p=head->next;while(p!=NULL){
if(pmax->num
num)
{
pmax=p;
}
p=p->next;} return pmax;} pstu removefromold(pstu head,pstu pmax){ pstu p=head;if(head==pmax){
head=head->next;} else {
while(p!=NULL)
{
if(p->next==pmax)
{
p->next=pmax->next;
break;
}
}
p=p->next;} return head;} pstu add(pstu pnew,pstu pmax){ pmax->next=pnew;pnew=pmax;return pnew;} pstu stu_numsort(pstu head){ pstu pold=head;pstu pmax=NULL;pstu pnew=NULL;while(pold!=NULL){
pmax=getnummax(pold);
pold=removefromold(pold,pmax);
pnew=add(pnew,pmax);} return pnew;} //按名次显示
pstu getsummin(pstu head){ pstu pmin=head;if(head==NULL){
return NULL;} pstu p=head->next;while(p!=NULL){
if(pmin->math+pmin->clan+pmin->chinese>p->math+p->clan+p->chinese)
{
pmin=p;
}
p=p->next;} return pmin;} pstu removefromtold(pstu head,pstu pmin){ pstu p=head;if(head==pmin){
head=head->next;} else {
while(p!=NULL)
{
if(p->next==pmin)
p->next=pmin->next;
break;
}
p=p->next;} return head;} pstu addt(pstu pnew,pstu pmin){ pmin->next=pnew;pnew=pmin;return pnew;} pstu stu_sumsort(pstu head){ pstu pold=head;pstu pmin=NULL;pstu pnew=NULL;int i=stu_len(head);while(pold!=NULL){
pmin=getsummin(pold);
pold=removefromtold(pold,pmin);
pnew=addt(pnew,pmin);
pnew->mingci=i--;} return pnew;} //按数学成绩显示
pstu getmathmin(pstu head){ pstu pmin=head;if(head==NULL){
return NULL;} pstu p=head->next;while(p!=NULL){
if(pmin->math>p->math)
{
pmin=p;
}
p=p->next;} return pmin;} pstu stu_mathsort(pstu head){ int i=stu_len(head);pstu pold=head;pstu pmin=NULL;pstu pnew=NULL;while(pold!=NULL){
pmin=getmathmin(pold);
pold=removefromold(pold,pmin);
pnew=add(pnew,pmin);
pnew->mingci=i--;} return pnew;} //按c语言成绩显示
pstu getclanmin(pstu head){ pstu pmin=head;if(head==NULL){
return NULL;} pstu p=head->next;while(p!=NULL){
if(pmin->clan>p->clan)
{
pmin=p;
}
p=p->next;} return pmin;} pstu stu_clansort(pstu head){ int i=stu_len(head);pstu pold=head;pstu pmin=NULL;pstu pnew=NULL;while(pold!=NULL){
pmin=getclanmin(pold);
pold=removefromtold(pold,pmin);
pnew=addt(pnew,pmin);
pnew->mingci=i--;} return pnew;} //按语文成绩显示
pstu getchimin(pstu head){ pstu pmin=head;if(head==NULL){
return NULL;} pstu p=head->next;while(p!=NULL){
if(pmin->chinese>p->chinese)
{
pmin=p;
}
p=p->next;} return pmin;} pstu stu_chisort(pstu head){ int i=stu_len(head);pstu pold=head;pstu pmin=NULL;pstu pnew=NULL;while(pold!=NULL){
pmin=getchimin(pold);
pold=removefromtold(pold,pmin);
pnew=addt(pnew,pmin);
pnew->mingci=i--;} return pnew;} void stu_printf(pstu head){ pstu tmp=head;printf(“学号t姓名t密码t年龄t班级t数学tc语言t语文t名次n”);while(tmp!=NULL){
printf(“%dt%st%st%dt%dt%dt%dt%dt%dn”,tmp->num,tmp->name,tmp->passwd,tmp->age,tmp->class,tmp->math,tmp->clan,tmp->chinese,tmp->mingci);
tmp=tmp->next;} printf(“n”);} void stun_printf(pstu head){ pstu tmp=head;printf(“学号t姓名t密码t年龄t班级t数学tc语言t语文t名次n”);while(tmp!=NULL){
printf(“%dt%st%st%dt%dt%dt%dt%dt%dn”,tmp->num,tmp->name,tmp->passwd,tmp->age,tmp->class,tmp->math,tmp->clan,tmp->chinese,tmp->mingci);
break;} printf(“n”);}
//2: int main(){ // int m;int num;int class;int len;char name[10];pstu head=stu_create();stu_printf(head);len=stu_len(head);// pstu p=stu_del(head, num);// stu_printf(p);/* pstu k=stu_searchbynum(head,num);if(k!=NULL)
stun_printf(k);else
printf(“no find”);
pstu l=stu_searchbyname(head,name);
// // // // // //
// // // // // //
} if(l!=NULL)stun_printf(l);else printf(“no find”);pstu h=stu_searchbyclass(head,class);if(h!=NULL)stun_printf(h);else printf(“no find”);*/ stu_changebynum(head);printf(“显示全部学生信息:”);stu_printf(head);stu_changebyname(head);printf(“显示全部学生信息:”);stu_printf(head);search_printf(head);stun_printf(head);change_printf(head);stu_printf(head);pstu p1=stu_numsort(head);stu_printf(p1);pstu p2=stu_sumsort(head);stu_printf(p2);pstu p3=stu_mathsort(head);stu_printf(p3);sort_printf(head);stu_printf(head);
第二篇:学生管理系统
import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;
public class Xsglxt extends JFrame implements ActionListener { JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1;
JScrollPane gd1;Xsxx xsxx2;
public static void main(String[] args)
{
Xsglxt xs=new Xsglxt();}
public Xsglxt(){
mb1=new JPanel();
bq1=new JLabel(“请输入姓名”);
wbk1=new JTextField(10);
an1=new JButton(“查询”);
an1.addActionListener(this);
an1.setActionCommand(“chaxun”);
mb1.add(bq1);mb1.add(wbk1);mb1.add(an1);
mb2=new JPanel();
an2=new JButton(“添加”);
an2.addActionListener(this);
an2.setActionCommand(“tianjia”);
an3=new JButton(“修改”);
an3.addActionListener(this);
an3.setActionCommand(“xiugai”);
an4=new JButton(“删除”);
an4.addActionListener(this);
an4.setActionCommand(“shanchu”);
mb2.add(an2);mb2.add(an3);mb2.add(an4);
xsxx2=new Xsxx();
bg1=new JTable(xsxx2);gd1=new JScrollPane(bg1);
this.add(gd1);this.add(mb1,“North”);this.add(mb2,“South”);
this.setTitle(“学生管理系统”);this.setSize(500,400);this.setLocation(201,181);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);
} public void actionPerformed(ActionEvent e){ if(e.getActionCommand().equals(“chaxun”)){
String xingming=this.wbk1.getText().trim();
String sql=“select * from xuesheng where xingming='”+xingming+“'”;
xsxx2=new Xsxx(sql);
bg1.setModel(xsxx2);} else if(e.getActionCommand().equals(“tianjia”)){
Tianjia tj=new Tianjia(this,“添加学生信息”,true);
xsxx2=new Xsxx();
bg1.setModel(xsxx2);
} else if(e.getActionCommand().equals(“xiugai”)){
int ii=this.bg1.getSelectedRow();
if(ii==-1)
{
JOptionPane.showMessageDialog(this,“请选中要修改的行”);
return;
}
new Xiugai(this,“修改学生信息”,true,xsxx2,ii);
xsxx2=new Xsxx();
bg1.setModel(xsxx2);}
else if(e.getActionCommand().equals(“shanchu”))
{
int ii=this.bg1.getSelectedRow();
if(ii==-1)
{
JOptionPane.showMessageDialog(this,“请选中要删除的行”);
return;
}
String st=(String)xsxx2.getValueAt(ii,0);
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
Statement sm=null;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
ct=DriverManager.getConnection(“jdbc:odbc:sql server”,“sa”,“ydyd4488321”);
ps=ct.prepareStatement(“delete from xuesheng where xuehao=?”);
ps.setString(1,st);
ps.executeUpdate();
} catch(Exception e2){}
finally
{
try {
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
} catch(Exception e3){}
}
xsxx2=new Xsxx();
bg1.setModel(xsxx2);
} } }
第三篇:学生管理系统论文
学生管理系统的设计
杨世坤 计算机科学与技术系 09级 0940141022
摘要:在 VB2008 环境下,通过连接 Access2000 数据库,建立了一个学生管理系统。在这个系统里,可以实现学生学生的学号,姓名,性别,民族,年级,出生年月,系别,家庭住址等各种信息的录入,精确查找,模糊查找,更新,删除等操作。从程序的界面设计到源代码,都做了详尽的说明,适合初学者快速掌握信息管理系统开发的步骤。关键词:VB;数据库;管理系统;access;查询
Abstract: It is designed for the establishment of student information managementsystem in vb6.0 by connecting Access2000 database.This system can realize Information Processing including data entry, query, update, delete and so on.The Information means the student's number,name,age, contact.From the interface design to the source code, it has shown a detailed description, which suitable for beginners tomaster the designing of system quickly.Key words: vb;database;system of management;access;query 1 引言
随着学校办学规模的扩大,学生数量急剧增加,有关学生各种信息的数量也在成倍增长。面对庞大的信息量,利用计算机信息管理系统对学生的学号,姓名,性别,民族,年级,出生年月,系别,家庭住址等综合信息进行管理经成为一种必然趋势。我根据学校特点,通过开发学生信息管理系统,可以做到信息的规范管理、科学统计和快速查询,从而解决大量繁琐的工作,实现学生信息管理的办公无纸化和高效化。功能需求分析
学生管理系统采用 Visual Basic 2008 作为开发工具,后台数据库采用 Assecc2000。系统开发的总体任务是实现学生信息管理的条理化,系统化。用户通过界面,完成对学生的学号,姓名,性别,民族,年级,出生年月,系别,家庭住址等信息的管理。可以对学生信息方便的实现输入,删除,修改,模糊查询,精确查询,在浏览记录时可以切换上一条,下一条,第一条和最后一条。还可对学生信息记录进行排序。数据库建立与连接
3.1 数据库建立
目前,可应用的数据库开发工作很多,Oracle是面向网络计算的数据库,适合开发大型网络应用软件;Access和Visual Foxpro系统适合开发小型数据库应用软件。Access数据库功能比较齐全,数据的备份、拷贝都很方便,且程序发布时不需要额外安装其他的数据库管理软件。本系统数据量较小,采用Access数据库就可满足要求。
3.2 数据库连接
VB 提供了多种与数据库连接的方式,这里使用数据控件(Data)。数据控件(Data)提供 了一种方便地访问数据库中数据的方法,使用数据控件无须编写代码就可以对 VB 所支持 的各种类型的数据库执行大部分数据访问操作。数据控件本身不能显示和直接修改记录,但是可以通过与数据控件相关联的数据约束控件中显示各个记录。用户界面设计 在 Visual Basic2008 环境中,建立一个标准的 exe 工程。学生的学号,姓名,性别,民族,年级,出生年月,系别,家庭住址用文本框控件来显示,名称分别为 text1,text2…text8, 他们分别与数据库中的相应字段绑定。
选择数据控件 data1,并设置它的属性,使得它与数据库连接。实现记录的第一条,上一条,下一条,最后一条的切换以及添加记录,删除记录和编辑记录的操作用按钮来控制实现,名称分别为 command1,command2…command7。对按不同的条件进行查询,这里使用了组合框 Combo1 和 Combo2,分别用来选择精确查找和模糊查找的条件。代码
程序的实现主要使用了 data 控件的常用方法。对于精确查找和模糊查找中的“查找第一个”与“查找下一个”按钮的事件中,它
们所使用的查找条件是一样的,所以需要先定义窗体变量。5.1 登陆界面
mystr = “Provider=Microsoft.Jet.OLEDB.4.0;Data source=student.mdb”
myconn.ConnectionString = mystr
myconn.Open()
Dim mycmd As New OleDbCommand
mycmd.Connection = myconn
mycmd.CommandText = “select * from admin”
Dim myreader As OleDbDataReader = mycmd.ExecuteReader
While myreader.Read()
If TextBox1.Text = myreader(“ID”).ToString And TextBox2.Text = myreader(“psw”)Then
MsgBox(“用户名密码正确!!”, MsgBoxStyle.Information, “提示”)
Module1.password = TextBox2.Text
Module1.username = TextBox1.Text
Module1.pright = myreader(“pright”)
Form1.Show()
Me.Hide()
Exit Sub
End If
End While
MsgBox(“用户密码不正确”, MsgBoxStyle.Information, “提示”)
TextBox1.Text = “"
TextBox2.Text = ”“
TextBox1.Focus()5.2 添加删除用户
在实际应用中,除了超级用户之外,往往会赋予用户一定的访问权限,在给用户设置访问权限之前,应先创建一个用户帐户,将其追加到用于当前数据库的工作组信息文件中的默认Users组。本系统的安全措施在数据库的访问过程中虽然起到了一定的防护作用,然而,尽管人们想到了种种办法维护自己的数据安全,但也总是有漏洞被发现,因此,备份数据是简单有效的方法。5.2 记录的跳转 查找首记录 mybs.MoveFirst()
Label9.Text = ”共有“ & mybs.Count & ”条记录,“ & ”本记录为第“ & mybs.Position + 1 & ”条记录“ 查找下一条记录
If mybs.Position <> mybs.Count-1 Then
mybs.MoveNext()
Label9.Text = ”共有“ & mybs.Count & ”条记录,“ & ”本记录为第“ & mybs.Position + 1 & ”条记录“
Else
MsgBox(”已经是最后一条记录“, MsgBoxStyle.Information, ”提示“)
End If 查找上一条记录 If mybs.Position <> 0 Then
mybs.MovePrevious()
Label9.Text = ”共有“ & mybs.Count & ”条记录,“ & ”本记录为第“ & mybs.Position + 1 & ”条记录“
Else
MsgBox(”已经是第一条记录“, MsgBoxStyle.Information, ”提示“)
End If 查找末记录 mybs.MoveLast()
Label9.Text = ”共有“ & mybs.Count & ”条记录,“ & ”本记录为第“ & mybs.Position + 1 & ”条记录“ 5.3 记录的修改、删除、添加、保存
记录的修改
a = 3
Button5.Enabled = False
Button6.Enabled = False
Button8.Enabled = True
Button7.Enabled = False
GroupBox2.Enabled = False 记录的删除
a = 1
Button5.Enabled = False
Button6.Enabled = False
Button8.Enabled = True
Button7.Enabled = False
GroupBox2.Enabled = False 记录的添加
a = 2
TextBox1.Text = ”“
TextBox2.Text = ”“
TextBox3.Text = ”“
TextBox4.Text = ”“
TextBox5.Text = ”“
TextBox6.Text = ”“
TextBox7.Text = ”“
TextBox8.Text = ”“
TextBox1.Focus()
Button5.Enabled = False
Button6.Enabled = False
Button8.Enabled = True
Button7.Enabled = False
GroupBox2.Enabled = False 记录的保存
Select Case a
Case 1
If MsgBox(”您确定删除此条记录吗?“, MsgBoxStyle.Question + MsgBoxStyle.YesNo, ”提示“)= MsgBoxResult.Yes Then
myds.Tables(”info“).Rows(mybs.Position).Delete()
Dim mybd = New OleDbCommandBuilder(myada)
myada.Update(myds, ”info“)
myds.Clear()
myada.Fill(myds, ”info“)
GroupBox2.Enabled = True
Button5.Enabled = True
Button6.Enabled = True
Button7.Enabled = True
Button8.Enabled = False
Else
GroupBox2.Enabled = True
Button5.Enabled = True
Button6.Enabled = True
Button7.Enabled = True
Button8.Enabled = False
End If
Case 2
Dim myrow As DataRow = myds.Tables(”info“).NewRow
myrow(”学号“)= TextBox1.Text
myrow(”姓名“)= TextBox2.Text
myrow(”性别“)= TextBox3.Text
myrow(”民族“)= TextBox4.Text
myrow(”年级“)= TextBox5.Text
myrow(”出生年月“)= TextBox6.Text
myrow(”系“)= TextBox7.Text
myrow(”家庭住址“)= TextBox8.Text
myds.Tables(”info“).Rows.Add(myrow)
GroupBox2.Enabled = True
Dim mybd = New OleDbCommandBuilder(myada)
myada.Update(myds, ”info“)
myds.Clear()
myada.Fill(myds, ”info“)
Button5.Enabled = True
Button6.Enabled = True
Button7.Enabled = True
Button8.Enabled = False
Case 3
myds.Tables(”info“).Rows(mybs.Position).BeginEdit()
myds.Tables(”info“).Rows(mybs.Position).EndEdit()
Dim mybd = New OleDbCommandBuilder(myada)
myada.Update(myds, ”info“)
myds.Clear()
myada.Fill(myds, ”info“)
GroupBox2.Enabled = True
Button5.Enabled = True
Button6.Enabled = True
Button7.Enabled = True
Button8.Enabled = False
End Select
Label9.Text = ”共有“ & mybs.Count & ”条记录,“ & ”本记录为第“ & mybs.Position + 1 & ”条记录“
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button6.Click
a = 1
Button5.Enabled = False
Button6.Enabled = False
Button8.Enabled = True
Button7.Enabled = False
GroupBox2.Enabled = False 5.4 记录的查找 Dim condstr As String
condstr=”“
If TextBox1.Text <> ”“ Then
If condstr = ”“ Then
If ComboBox1.Text = ”等于“ Then
condstr = ”姓名='“ & TextBox1.Text & ”'“
Else
condstr = ”姓名 like '%“ & TextBox1.Text & ”%'“
End If
End If
End If
If TextBox2.Text <> ”“ Then
If condstr = ”“ Then
condstr = ”性别='“ & TextBox2.Text & ”'“
Else
condstr = condstr & ” and “ & ”性别='“ & TextBox2.Text & ”'“
End If
End If
If TextBox3.Text <> ”“ Then
If condstr = ”“ Then
condstr = ”民族='“ & TextBox2.Text & ”'“
Else
condstr = condstr & ” and “ & ”民族='“ & TextBox2.Text & ”'“
End If
End If
If TextBox4.Text <> ”“ Then
If condstr = ”“ Then
If ComboBox2.Text = ”等于“ Then
condstr = ”家庭住址='“ & TextBox4.Text & ”'“
Else
condstr = condstr & ” and “ & ”家庭住址 like '%“ & TextBox4.Text & ”%'"
End If
End If
End If
mydv.RowFilter = condstr 6 结束语
本系统达到了预期的要求,系统设计是根据学校的学生信息管理流程,合理设置各种操作模块,各管理员和操作员之间分工明确,并且能够及时、准确地记录每次操作信息。操作简单易行,定期审核,确保了数据的正确性。从根本上解决了学生管理的计算机实现方式,对学校管理来讲是一个大的跨越。
参考文献:郑阿奇 彭作民 Visual Basic.NET 程序设计教程(第二版)械工业出版社
第四篇:学生管理系统使用说明
学生系统使用说明
登录
在浏览器地址栏内输入“202.195.128.108”后点击回车,弹出苏大研究生管理系统登录窗口。如图1所示。
图1 在图一所示窗口输入用户名、密码、验证码等信息后,类别选择“学生”,然后点击“
”按钮。
个人基本信息的核对
点击“其他管理—个人基本信息管理”,弹出如图2所示窗口。
图2 点击左上角的“基本”按钮,对个人基本信息进行修改。修改完成后点击“其他”按钮,对学业等基本信息进行修改。每完成一篇信息的修改都需要点击一次“
”按钮。同样,点击“学业/
”按钮。
提交培养计划
登录以后,点击“培养管理—培养计划信息管理”,显示出培养计划提交页面。如图3所示。
图3 此页面显示即为本专业培养方案信息,学生可在此制定自己的培养计划。选择框显示为灰色的课程是学生必选课程,选择框为亮色的课程是学生可选课程,学生可在要选的课程前面的方框内打“√”来选中课程。若是要选择培养方案外的课程,则可点击“
”按钮,在弹出的的对话窗口(如图4)中点击课程后对应的“
”按钮来选择方案外课程。
图4 选择完全部课程后,点击图3中右上方的“
”按钮即可完成培养计划的提交。
以上内容为本次系统开放主要工作,同学们要熟悉掌握操作方法。下面介绍的内容,同学们可先大致的了解。培养管理
1.学期注册信息管理
点击“培养—培养管理—学期注册信息管理”,弹出如图5所示页面。
图5 在图5空格中填写个人基本信息后,选择“注册学期”和“注册类型”,然后点击“
”即可。
2.培养计划信息查询
点击“培养—培养管理—培养计划信息查询”,弹出如图6所示页面。
图6 点击“打印”可打印自己的培养计划;点击“导出”可导出自己的培养计划。注:只有培养计划审核通过后,此处才会显示培养计划的内容!
课务管理
开课目录信息查询
点击“培养—课务管理—开课目录信息查询”显示如图7所示页面。
图7 在查询栏内输入查询条件,点击“查询”,查找到符合查询条件的开课课程信息。点击“课程编号”可查看课程基本信息。点击“班级名称”可查看该班级上课时间、上课地点等基本信息。课程网上选课管理
点击“培养—课务管理—课程网上选课管理”显示如图8所示页面。
图8 点击“”按钮,可以进行网上选课操作。如图9所示
图9 点击图9中课程班级后的“”按钮,即可选中该课程。选课结果信息查询
点击“培养—课务管理—选课结果信息查询”显示如图10所示页面。
图10 此处可显示审核后的选课结果,点击“打印”按钮可打印查询到的选课结果。
学期课表信息查询
点击“培养—课务管理—学期课表信息查询”显示如图11所示页面。
图11 在左上角选择相应的学期,即可查询到该学期的课表信息,点击“打印”可打印该学期课表。
本周学期课表查询
同“学期课表信息查询”。课程成绩信息查询
点击“培养—课务管理—课程成绩信息查询”显示如图12所示页面。
图12 学生登录系统后必须先进行个人基本信息的核对和完善,否则不能查看课程成绩。调停补课信息查询
点击“培养—课务管理—调停补课信息查询”显示如图13所示页面。
图13 选择学期和查询类别后,即可查看到相应的调停补课信息。
学期考试信息查询
点击“培养—课务管理—学期考试信息查询”显示如图14所示页面。
图14 选择学期,可查看选择学期的学期考试信息。课程重修申请管理
点击“培养—课务管理—课程重修申请管理”显示如图15所示页面。
图15 点击“”按钮,系统会弹出学生所有已修课程及其成绩信息。如图16所示。
图16 点击未及格课程后对应的“”即可提交该课程的重修申请。
考级管理
入学CET成绩录入
点击“培养—考级管理—入学CET成绩录入”显示如图17所示页面。
图17 在图17中输入入学前CET考试成绩,输入完成后点击“
CET外语成绩查看
点击“培养—考级管理—CET外语成绩查看”显示如图18所示页面。
”即可。
图18 在此处可查看自己的每一次CET外语考试成绩。
计算机考级报名
点击“培养—考级管理—计算机考级报名”显示如图19所示页面。
图19 在图19中填写报名信息后,点击“
计算机等级成绩
点击“培养—考级管理—计算机等级成绩”显示如图20所示页面。
”按钮即可完成报名。在此处可查看每一次的计算机等级考试成绩。
外国语考级报名
同“计算机考级报名”
外国语考级成绩
同“计算机考级成绩”
普通话考级报名
同“计算机考级报名”
图 普通话考级成绩
同“计算机考级成绩”
学位管理
学位论文
论文开题报告管理
点击“学位—学位论文—论文开题报告管理”显示如图21所示页面。
图21 点击“ ”按钮,弹出如图22所示对话框。
图22 填写完成图22中的内容后,点击“
”按钮即可。提交成功后,显示如图23所示页面。
23中的“”按钮,显示如图图23
24所示页面。点击图
图24 点击上方“基本信息”、“立题依据”、“研究内容”等菜单,分别将其中信息填写完成后,点击“
”按钮。点击“浏览”找到开题报告电子文档,点击“上传文档”可将电子版的开题报告文档上传。后面上传评审论文和答辩论文方式也是如此。点击“
论文中期报告管理
同“论文开题报告管理”
论文预备答辩管理
同“论文开题报告管理”
学位论文评审管理
同“论文开题报告管理”
学位论文答辩管理
同“论文开题报告管理”
”可导出word版的开题报告申请书。存档论文文档上传
略
论文成果
发表论文信息登记
点击“学位—论文成果—发表论文信息登记”显示如图25所示页面。
图25 点击“”按钮,弹出如图26所示页面。在图26中输入发表文章的基本信息后,点击“
科研成果信息登记
同“发表论文信息登记”
”即可。
其他
其他管理
登录密码信息修改
点击“其他—其他管理—登录密码信息修改”显示如图27所示页面。
图27 在图27中,可以对学生的登录名称和登录密码,修改完成后点击“
照片信息核对管理
点击“其他—其他管理—照片信息核对管理”显示如图28所示页面
”即可。
图28 点击“上传照片”可以上传自己的学籍照片。
培养方案信息查看
点击“其他—其他管理—培养方案信息查看”显示如图29所示页面
图29 在查询栏内输入查询条件,点击“查询”查找到符合查询条件的培养方案信息。点击“校内专业名称”下对应的专业名称,即可查看该专业的培养方案信息。
奖学金信息查看
可查看奖学金发放情况。(略)
教室借用申请管理
点击“其他—其他管理—教室借用申请管理”显示如图30所示页面
图30 点击“ ”按钮,在弹出的对话框中填写教室借用申请信息后点击“保存”即可。
互动信息
通知公告信息查询
点击“其他—互动信息—通知公告信息查询”显示如图31所示页面
图31 在查询栏输入查询起始时间,点击“查询”即可查询到该段时间内发布的通知公告信息,点击通知公告标题即可查看改通知公告的内容。
师生消息互动管理
点击“其他—互动信息—师生消息互动管理”显示如图32所示页面
图32 点击“收件箱”可查看收到的信息;点击“发件箱”可发送消息;点击“回复箱”可查看回复别人或别人回复的消息。
在发件箱内点击“
”弹出如图33所示页面
图33 首先编写信息标题和信息内容,点击“
”按钮。选择接收人员是个人时,点击“
”按钮选择信息接收人。选择接收人员是院系和专业时,首先选择接收消息的院系或专业,然后选择接收范围“学生”、“教师”或“全部”。如图34所示。
图34 选择完成后可选择立即发送,也可选择存入发件箱待确认信息无误后再发送。教学评价信息管理
略
问卷调查信息管理
点击“其他—互动信息—问卷调查信息管理”显示如图35所示页面
图35 若是调查状态为“正在进行”,则点击“”可进行问卷调查答题。若调查状态为“调查完毕”,点击“以查看问卷调查答题信息。
教学校历信息查看
可以查看某学期的教学校历信息。(略)
”可
第五篇:学生通讯录管理系统
“学生通讯信息记录系统”的设计与实现
一、设计要求
1.问题的描述
“学生通讯信息记录系统”是为了实现快速的对学生信息进行录入、删除、查找、显示。各个功能靠函数实现。2.需求分析
(1)应该包括以下功能:输入信息、显示信息、查找以姓名作为关键字、删除信息(2)作为一个完整的系统,应具有友好的界面和较强的容错能力
二、概要设计
1.主界面设计
2.储存结构设计
本系统主要采用链表类型来表示储存“学生信息记录系统”中的信息。程序中定义了address结构。其中,包括学生的姓名、宿舍信息和学号。3.系统功能的设计
1)输入信息——enter();2)显示信息———display();3)查找以姓名作为关键字 ———search();4)删除信息———delete();
三、模块设计
1.模块设计
本成绩包含两个模块:主程序模块和链表操作模块。2.系统的程序及功能设计
(1)插入学生信息
void enter()
/*输入函数,本函数循环输入资料,当输入姓名为空时退出*/ {
struct address *info;
/*定义当前结点*/
for(;;){
info=(struct address *)malloc(sizeof(struct address));
/*为当前结点分配空间*/
if(!info)
{
printf(“n Out of memory”);
exit(0);
/*如果分配空间失败,退出程序*/
}
printf(“输入空姓名结束:n”);
inputs(“请输入 姓名:”,info->name,10);
if(!info->name[0])
break;
/*如果输入姓名为空,结束循环*/
inputs(“请输入
院系:”,info->street,50);
inputs(“请输入宿舍楼:”,info->city,15);
inputs(“请输入宿舍号:”,info->state,15);
inputs(“请输入
学号:”,info->eip,7);
insert(info,&start,&last);
/*调用结点插入函数*/ } }
五、测试分析
1.输入学生信息
4.删除信息
5.退出
struct address *start;
/*首结点*/ struct address *last;
/*尾结点*/ struct address *find(char *);
/*声明查找函数*/
void enter();
/*函数声明*/ void search();void save();
void load();void list();void ddelete(struct address **start,struct address **last);void insert(struct address *i,struct address **start,struct address **last);void inputs(char *,char *,int);void display(struct address *);int menu_select(void);
void main(){
int c;
printf(“n
欢迎使用学生通讯录系统”);
printf(“nn”);
printf(“t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“t┃************************************************************┃n”);
printf(“t┃*
*
*┃n”);
printf(“t┃*
1.输入信息
*
2.删除信息
*┃n”);
printf(“t┃*
*
*┃n”);
printf(“t┃************************************************************┃n”);
printf(“t┃*
*
*┃n”);
printf(“t┃*
3.显示信息
*
4.查找
*┃n”);
printf(“t┃*
*
*┃n”);
printf(“t┃************************************************************┃n”);
printf(“t┃
5.退出
┃ n”);
printf(“t┃************************************************************┃n”);
exit(0);
/*如果分配空间失败,退出程序*/ }
printf(“输入空姓名结束:n”);
inputs(“请输入 姓名:”,info->name,10);
if(!info->name[0])break;
/*如果输入姓名为空,结束循环*/
inputs(“请输入
院系:”,info->street,50);
inputs(“请输入宿舍楼:”,info->city,15);
inputs(“请输入宿舍号:”,info->state,15);
inputs(“请输入
学号:”,info->eip,7);
insert(info,&start,&last);
/*调用结点插入函数*/ }
void inputs(char *prompt,char *s,int count)
/*输入函数,有越界检测功能*/ {
char p[255];
do }
i->next=NULL;
i->prior=NULL;
*last=i;
*start=i;
return;
}
else {
(*last)->next=i;
i->prior=*last;i->next=NULL;
*last=(*last)->next;
}
}
void ddelete(struct address **start,struct address **last)
/*删除函数*/
{ struct address *info;
char s[80];
inputs(“请输入 姓名:”,s,10);
/*输入欲删除结点的name域内容*/
info=find(s);
if(info)
{
printf(“Deleting......n”);if(*start==info)
点的下驱作为新的首结点(入口)*/
{ *start=info->next;
if(*start)(*start)->prior=NULL;
else *last=NULL;
}
else
结点*/
{
info->prior->next=info->next;
info=info->next;
}
printf(“未找到相关信息.n”);
return NULL;}
/*输出整个链表*/ void list(void){ struct address *info;
info=start;
if(info==NULL)printf(“当前记录为空!”);else printf(“姓名t院系t宿舍楼t宿舍号t学号tn”);
while(info)
{
};display(info);if(info->next==NULL){break;} info=info->next;
printf(“nn”);}
/*查找函数*/
/*输入欲查找的姓名*/ /*如果没找到,显示Not found*/
/*如果找到,显示该结点资料*/
七、用户使用手册
(1)本程序的执行文件为“学生通讯录管理系统.exe”。
(2)进入本系统之后,随即显示系统住菜单界面。用户可以在该界面下根据提示输入并按回车键确定,执行相应的菜单命令。
(3)本系统可以对学生信息进行录入和删除。
数据结构课程设计
课题:学生成绩管理系统
姓名:孙轩宇
学号:E01014316
专业:计算机科技
院系:计科院
2010.10.8
班级:10