第一篇:學生管理系統學生鏈表
#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