第一篇:学生籍贯管理系统
#include “stdafx.h” #include “stdio.h” #include “stdlib.h” #include “conio.h” #include “math.h” #include “string.h”
/**********************建立链表******************************/ struct hj
{
};int age;long number;char name[10],address[50],sex[2];struct hj *next;/**************************文件操作函数******************************/ FILE *fp;void openfile(char xx[20]){ fp=fopen(xx,“ab+”);if(fp==NULL)fp=fopen(xx,“wb”);} /************************录入信息函数***********************************/ void hjnew(void){
system(“cls”);int n=0,xage;long xnumber;char xname[10];char xaddress[50];char xsex[2];struct hj *head;struct hj *x1,*x2;head=NULL;x2=NULL;printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);printf(“n
★★★录入信息★★★n”);printf(“n
〒提示输入0返回上级菜单〒nnn”);printf(“n
请输入学号【15字内】:”);scanf(“%ld”,&xnumber);if(xnumber==0)goto haha;printf(“n
请输入姓名【10字内】:”);scanf(“%s”,xname);printf(“n
请输入年龄【|-__-|】:”);scanf(“%d”,&xage);printf(“n
请输入性别【男OR女】:”);
scanf(“%s”,xsex);printf(“n
请输入籍贯【25字内】:”);
scanf(“%s”,xaddress);{
while(xnumber!=0)n++;x1=(struct hj *)malloc(sizeof(struct hj));x1->number=xnumber;strcpy(x1->name,xname);strcpy(x1->sex,xsex);x1->age=xage;strcpy(x1->address,xaddress);if(n==1)head=x1;else x2->next=x1;x2=x1;printf(“n
请输入学号【15字内】:”);scanf(“%ld”,&xnumber);if(xnumber==0)break;printf(“n
请输入姓名【10字内】:”);scanf(“%s”,xname);printf(“n
请输入年龄【|-__-|】:”);scanf(“%d”,&xage);printf(“n
请输入性别【男OR女】:”);scanf(“%s”,xsex);printf(“n
请输入籍贯【25字内】:”);scanf(“%s”,xaddress);}
x2->next=NULL;
x1=head;
while(x1!=NULL)
{ openfile(“hj.txt”);
char d[5]=“四川”;
fwrite(x1,sizeof(struct hj),1,fp);
fclose(fp);
if(strstr(x1->address,d)!=NULL)
{
openfile(“schj.txt”);
fwrite(x1,sizeof(struct hj),1,fp);
fclose(fp);
}
else
{
openfile(“qthj.txt”);
fwrite(x1,sizeof(struct hj),1,fp);
fclose(fp);}
x1=x1->next;}
haha:;}
/*****************************查询函数*************************/ void hjxmselect(void)//按学号方式查询函数 { ssmmx:
int n=0;
long hh;
system(“cls”);
printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);printf(“n
★★★查询编辑信息★★★n”);printf(“n
〒提示输入0返回上级菜单〒nnn”);printf(“
请您输入学号:”);
scanf(“%ld”,&hh);
if(hh!=0)
{
struct hj *p;
struct hj *q=NULL,*head=NULL;
fp=fopen(“hj.txt”,“rb”);
if(fp==NULL){ printf(“n没有记录,请输入记录然后再查询!”);
getch();
goto jjx;}
while(!feof(fp))
{ n++;
p=(struct hj *)malloc(sizeof(struct hj));
fread(p,sizeof(struct hj),1,fp);
if(n==1)
head=p;
else
q->next=p;
q=p;
}
q->next=NULL;
p=head;
while(p!=NULL)
{
if(p->number==hh){ int a;
printf(“n 结 果 →
学号=%ld
姓名=%s
年龄=%d
性别=%s ”,p->number,p->name,p->age,p->sex);
printf(“n
地址=%s”,p->address);
printf(“nn 操 作 →
⑴更改数据
⑵删除数据
⑶查询其他数据
⑷返回上页
⑸退出程序nn 请您选择操作:”);
ssmx:
scanf(“%d”,&a);
switch(a){
void hjedit(struct hj *headd,struct hj *pp);void hjdelete(struct hj *headdd,struct hj *ss);case 1: hjedit(head,p);goto ssmmx;break;case 2: hjdelete(head,p);
goto ssmmx;break;
case 3: goto ssmmx;
case 4: goto jjx;
case 5:exit(0);
default:printf(“n
错误的选择,请重新选择:”);
goto ssmx;} }
else
p=p->next;}
int iiii=0;
printf(“n
没有此记录 1.重新查询 2.返回上一页 3.退出程序!”);
printf(“n
请选择:”);
qqqq:
scanf(“%d”,&iiii);
switch(iiii)
{
} case 1: goto ssmmx;case 2: goto jjx;case 3: exit(0);default: printf(“n
错误的选择,请重新选择:”);goto qqqq;
goto jjx;}
jjx:;} void hjxhselect(void)//按姓名方式查询函数 {
ssmm: int n=0;char hh[10];system(“cls”);printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);printf(“n
★★★查询编辑信息★★★n”);printf(“n
〒提示输入0返回上级菜单〒nnn”);printf(“
请您输入姓名:”);scanf(“%s”,hh);if(strcmp(hh,“0”)!=0){ struct hj *p;
struct hj *q=NULL,*head=NULL;
fp=fopen(“hj.txt”,“rb”);
if(fp==NULL)
{
printf(“n没有记录,请输入记录然后再查询!”);
getch();
goto jjj;
}
while(!feof(fp))
{
n++;p=(struct hj *)malloc(sizeof(struct hj));fread(p,sizeof(struct hj),1,fp);if(n==1)else head=p;
q->next=p;
q=p;
}
q->next=NULL;
p=head;
while(p!=NULL)
{
if(strcmp(p->name,hh)==0){ int a;
printf(“n 结 果 →
学号=%ld
姓名=%s
年龄=%d
性别=%s ”,p->number,p->name,p->age,p->sex);
printf(“n
地址=%s”,p->address);
printf(“nn 操 作 →
⑴更改数据
⑵删除数据
⑶查询其他数据
⑷返回上页
⑸退出程序nn 请您选择操作:”);
ssm:
scanf(“%d”,&a);
switch(a)
{
}
} void hjedit(struct hj *headd,struct hj *pp);void hjdelete(struct hj *headdd,struct hj *ss);case 1: hjedit(head,p);
goto ssmm;break;case 2: hjdelete(head,p);goto ssmm;break;case 3: goto ssmm;case 4: goto jjj;case 5:exit(0);default:printf(“n
错误的选择,请重新选goto ssm;
择:”);
else
p=p->next;
}
int iii=0;
printf(“n
没有此记录 1.重新查询 2.返回上一页 3.退出程序!”);
printf(“n
请选择:”);
qqq:
scanf(“%d”,&iii);
switch(iii)
{
case 1: goto ssmm;case 2: goto jjj;case 3: exit(0);
default: printf(“n
错误的选择,请重新选择:”);
goto qqq;
}
goto jjj;}
jjj:;} void hjjgselect(void)//按籍贯方式查询 { yyy:
int i;
system(“cls”);
printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);
printf(“n
★★★籍贯方式查询信息★★★nnn”);
printf(“n
一
显示所有信息n”);
printf(“n
二
显示四川籍所有信息n”);
printf(“n
三
显示其它籍所有信息n”);
printf(“n
四
自定义查询信息n”);
printf(“n
五
←返回上级菜单n”);
printf(“n
六
↓退出程序n”);
printf(“nn
请选择:”);
scanf(“%d”,&i);
switch(i){
void zdyselect(void);
} void zdyselect(void){
ssmmz: int n=0,j=0;char hh[10];system(“cls”);printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);
} void allselect(char a[8]);case 1:allselect(“hj.txt”);goto yyy;break;case 2: allselect(“schj.txt”);goto yyy;break;case 3: allselect(“qthj.txt”);goto yyy;break;case 4: zdyselect();case 5: break;case 6: exit(0);printf(“n
★★★自定义查询信息★★★nnn”);
printf(“
请您输入地址关键字:”);
scanf(“%s”,hh);
if(strcmp(hh,“0”)!=0){
struct hj *p;struct hj *q=NULL,*head=NULL;fp=fopen(“hj.txt”,“rb”);if(fp==NULL){
} printf(“n
没有记录,请输入记录然后再查询!”);getch();goto jjz;
while(!feof(fp))
{
} n++;p=(struct hj *)malloc(sizeof(struct hj));fread(p,sizeof(struct hj),1,fp);if(n==1)head=p;else q->next=p;q=p;
q->next=NULL;
p=head;
while(p!=NULL)
{
if(strstr(p->address,hh)!=NULL)
{
int a;j++;printf(“n 结 果 →
学号=%ld
姓名=%s
年龄=%d
性别=%s ”,p->number,p->name,p->age,p->sex);
printf(“n
地址=%s”,p->address);printf(“nn 操 作 →
⑴更改数据
⑵删除数据
⑶查询下一条数据
⑷返回上页
⑸退出程序nn 请您选择操作:”);
ssmz:
scanf(“%d”,&a);switch(a){
void hjedit(struct hj *headd,struct hj *pp);void hjdelete(struct hj *headdd,struct hj *ss);
case 1: hjedit(head,p);goto ssmmz;break;case 2: hjdelete(head,p);goto ssmmz;break;case 3: p=p->next;continue;case 4: goto jjz;case 5:exit(0);default:printf(“n
错误的选择,请重新选
择:”);goto ssmz;
}
p=p->next;
}
else
p=p->next;}
if(j==0)
{
printf(“nnn没有匹配的记录 按任意键继续!”);
getch();fclose(fp);
goto ssmmz;
}
else
{
int xx;printf(“nn查询完毕!
⑴
继续查询
⑵
返回上一级菜单程序”);
printf(“n请选择:”);
scanf(“%d”,&xx);
if(xx==2)
goto jjz;
else if(xx==3)exit(0);
}
goto ssmmz;
jjz:;}
} void allselect(char a[8])//全部查询 { int n=0;int k=0;⑶
退出 system(“cls”);printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);printf(“n
★★★籍贯方式信息★★★nnn”);
struct hj *p;struct hj *q=NULL,*head=NULL;
fp=fopen(a,“rb”);if(fp==NULL){ printf(“n对不起,没有记录无法查询!”);goto xxxx;} rewind(fp);while(!feof(fp)){
n++;p=(struct hj *)malloc(sizeof(struct hj));fread(p,sizeof(struct hj),1,fp);if(n==1)head=p;else q->next=p;q=p;} q->next=NULL;
struct hj *h1,*p2,*q3,*r4,*s5;h1=p2=(hj *)malloc(sizeof(struct hj));
p2->next=head;while(p2->next!=NULL){
q3=p2->next;r4=p2;
while(q3->next!=NULL){
if(q3->next->number
next->number)r4=q3;q3=q3->next;
}
if(r4!=p2){
s5=r4->next;r4->next=s5->next;s5->next=p2->next;p2->next=s5;
}
p2=p2->next;}
head=h1->next->next;free(h1);
while(p!=NULL&&n>0){ n--;printf(“n学号=%ld
姓名=%s
年龄=%d
性别=%s
p=head;”,p->number,p->name,p->age,p->sex);
printf(“n地址=%s”,p->address);
p=p->next;}
xxxx: printf(“n→显示完毕←n⑴ ↑返回上级菜单
⑵ ↓退出程序 n请 选 择 :”);xxx: scanf(“%d”,&n);switch(n){
} case 1:break;case 2:exit(0);default:printf(“n错误的选择,请重新选择:”);goto xxx;} void hjselect(void)//查询编辑信息函数 {
cxbegin: int a;
system(“cls”);printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);printf(“n
★★★查询编辑信息★★★nnn”);printf(“n
一
按学号方式查询n”);printf(“n
二
按姓名方式查询n”);printf(“n
三
按籍贯方式查询n”);printf(“n
四
→显示全部信息n”);printf(“n
五
←返回上级菜单n”);printf(“n
请 选 择 查 询 方 式:”);cxmm: scanf(“%d”,&a);switch(a){
case 1: hjxmselect();goto cxbegin;break;
} case 2: hjxhselect();goto cxbegin;break;case 3: hjjgselect();goto cxbegin;break;case 4: allselect(“hj.txt”);goto cxbegin;break;case 5: break;default:printf(“n错误的选择,请重新选择:”);
goto cxmm;} void hjde(void)//删除界面函数 {
cxxbegin: int a;system(“cls”);printf(“n
★★★★★欢迎使用户籍管理系统★★★★★n”);printf(“n
★★★删除信息★★★nnn”);printf(“n
一
按学号方式删除n”);printf(“n
二
按姓名方式删除n”);printf(“n
三
按籍贯方式删除n”);printf(“n
四
→删除全部信息n”);printf(“n
五
←返回上级菜单n”);printf(“n
请 选 择 删 除 方 式:”);cxxmm: scanf(“%d”,&a);int i=0;switch(a){
case 1: hjxmselect();goto cxxbegin;break;
case 2: hjxhselect();goto cxxbegin;break;case 3: zdyselect();goto cxxbegin;break;case 4:
fp=fopen(“hj.txt”,“wb”);if(fp!=NULL)i++;fp=fopen(“schj.txt”,“wb”);if(fp!=NULL)i++;fp=fopen(“qthj.txt”,“wb”);if(fp!=NULL)i++;if(i==3){ printf(“n
全部数据已经删除!!!敲任意键继续getch();
”);
}
} } goto cxxbegin;break;case 5: break;default:printf(“n错误的选择,请重新选择:”);goto cxxmm;//==============删除函数接口=============== void hjdelete(struct hj *headdd,struct hj *ss){
struct hj *q;char d[5]=“四川”;if(headdd==ss){ headdd=headdd->next;goto gogo;} q=headdd;while(q!=NULL){ if(q->next->number==ss->number)
{
break;
}
q=q->next;}
q->next=ss->next;gogo: q=headdd;
fp=fopen(“hj.txt”,“wb”);
while(q!=NULL){ fwrite(q,sizeof(struct hj),1,fp);q=q->next;} fclose(fp);q=headdd;fp=fopen(“schj.txt”,“wb”);while(q!=NULL)
if(strstr(q->address,d)!=NULL){
fwrite(q,sizeof(struct hj),1,fp);}
{
q=q->next;} fclose(fp);q=headdd;fp=fopen(“qthj.txt”,“wb”);while(q!=NULL)
if(strstr(q->address,d)==NULL){ fwrite(q,sizeof(struct hj),1,fp);} q=q->next;
{ } fclose(fp);} //===============编辑函数接口============== void hjedit(struct hj *headd,struct hj *pp){ int n=0;
struct hj *p,*p1,*p2;char d[5]=“四川”;printf(“n 输 入 →
学号=”);scanf(“%ld”,&pp->number);printf(“n
姓名=”);scanf(“%s”,pp->name);printf(“n
年龄=”);scanf(“%d”,&pp->age);printf(“n
性别=”);scanf(“%s”,pp->sex);printf(“n
地址=”);scanf(“%s”,pp->address);p=headd;fp=fopen(“hj.txt”,“wb”);while(p!=NULL){ fwrite(p,sizeof(struct hj),1,fp);p=p->next;} fclose(fp);p1=headd;fp=fopen(“schj.txt”,“wb”);while(p1!=NULL)
{
if(strstr(p1->address,d)!=NULL)
} {
fwrite(p1,sizeof(struct hj),1,fp);} p1=p1->next;fclose(fp);p2=headd;fp=fopen(“qthj.txt”,“wb”);while(p2!=NULL)
} if(strstr(p2->address,d)==NULL){
} fwrite(p2,sizeof(struct hj),1,fp);
{ p2=p2->next;fclose(fp);} /*****************************主函数****************************************/ int main(int argc, char* argv[]){
begin:
int t;system(“cls”);printf(“n
★★★★★欢迎使用户籍管理系统★★★★★nnnnn”);printf(“
1.录入学生籍贯信息nn”);printf(“
2.查编学生籍贯信息nn”);
printf(“
3.删除学生籍贯信息nn”);printf(“
4.退出程序nn”);
printf(“
请您选择1-4:”);mm:
scanf(“%d”,&t);switch(t){
case 1: hjnew();break;
case 2: hjselect();break;case 3: hjde();break;case 4:exit(0);default:printf(“n
错误的选择,请重新选择:”);goto mm;} goto begin;
return 0;
第二篇:学生管理系统
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);
} } }
第三篇:学生考勤管理系统
学生考勤管理系统
系统设计开发:张文聪
网站意义:
学生考勤对学校教务管理是至关重要的,传统的学生出勤检查往往是教师拿着一张纸质名单逐一点名,或让学生上交课堂作业以便课后查询出勤情况。这些方法往往具有考勤效率低下,没有系统的记录和整理,容易丢失遗漏,耽误时间等缺点。针对以上问题,开发一种针对学生考勤的网上管理系统,通过本系统,教师可以再课堂上直接登录考勤记录网站进行课堂点名,记录学生考勤情况等。此外,在课余,任课教师、班主任以及学校领导也可以登录该网站查询某班学生在某学科课程的出勤情况。
需求分析:
1、提供学生和老师两个登录用户;
2、学生可以查询自己的出勤情况;
3、任课老师可以查询自己带的班级学生的出勤情况;
4、班主任可以查询本班级学生在每一学科的出勤情况。
5、实现科任老师和班主任查询结果的报表打印。
网站设计图:
开发运行平台:
主要以Microsoft Visual Studio.NET 2008 为开发平台,SQL Server 2000为后台数据库,采用.NET技术,结合C#和JavaScript构造应用程序。
功能模块说明:
1、学生信息管理
包括了学生的个人信息,所在班级,学号,姓名和学生每个学科的出勤情况。
2、学科信息
包括了每一个学科的课程名称,课程号和每一个课程对应的任课教师。
3、出勤模块
包括了全校所有学生对应每一学科课程的出勤情况。班主任和科任老师可以查询对应的班级学生出勤情况并打印出来。
网站总结:
本系统针对在校学生每一节课的考勤情况作记录,方便班主任对本班学生出勤率的查看可以及时做好教育防范工作。根据教务处的需求,我们还会将本系统继续扩大,添加进学生早操、值日和会议等功能,以及学生通过系统请假,老师或领导批假等功能。
第四篇:学生管理系统使用说明
学生系统使用说明
登录
在浏览器地址栏内输入“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 若是调查状态为“正在进行”,则点击“”可进行问卷调查答题。若调查状态为“调查完毕”,点击“以查看问卷调查答题信息。
教学校历信息查看
可以查看某学期的教学校历信息。(略)
”可
第五篇:学生管理系统论文
学生管理系统的设计
杨世坤 计算机科学与技术系 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 程序设计教程(第二版)械工业出版社