當前位置:首頁 » 考試成績 » 學生成績查詢系統課程總結

學生成績查詢系統課程總結

發布時間: 2020-12-13 17:29:24

Ⅰ 某高中欲建立「學生成績分析系統」,主要包括三個功能:成績錄入,成績查詢和成績分析統計

這個直接下載別人學校學籍管理系統也可以啊,比如以前讀的初中:順德北滘鎮城區中學;以前他的成績管理軟體是掛出來讓人下載的,以前做班乾的時候,經常協助老師做你現在預想實現的功能!

Ⅱ 學生成績管理系統課程設計

功能 能夠實現輸入記錄、查詢記錄、更新記錄、統計記錄、輸出記錄等功能。
1. 輸入記錄。對每個學生的學號、姓名、班級、數學、英語、計算機成績進行輸入並存儲,在程序的運行過程中,數據的存儲可以採用結構體數組或者鏈表,但是最終應該存儲在文件中。
2. 維護記錄。能夠實現添加、刪除、修改學生記錄,但是一定要將最終數據存儲到文件中。
3. 查詢記錄。根據班級、學號、科目等查詢學生的成績。如果查詢時學生數據並沒有讀入到結構體數組或者鏈表中,則應該先從文件中讀出數據並存儲在結構體數組或者鏈表中,然後在結構體數組或者鏈表中查詢滿足條件的數據。
4. 統計記錄。完成對各門功課最高分和不及格人數的統計。

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define LEN sizeof(Student)

typedef struct student
{
int num;
char name[20];
int score[4];
int sum;
struct student *next;
}Student;
int n;

Student *cin(void);
Student *sort_1(Student *head,int);
void sort_2(Student *head);
void print(Student *head);
Student *sort_all(Student *head);
void find(Student *head);
Student *add_new(Student *head);

Student *cin()
{
int flag;
Student *head,*p1,*p2;
n=0;
head=(Student *)malloc(LEN);
p2=head;
printf("\n請輸入第%d名學生的學號,學號為0表示結束輸入:",n+1);
scanf("%d",&flag);
while(getchar()!='\n');
for(;flag;)
{
n++;
p1=(Student *)malloc(LEN);
p1->num=flag;
printf("請輸入第%d名學生的姓名:",n);
scanf("%s",p1->name);
printf("請輸入第%d名學生的語文成績:",n);
scanf("%d",&p1->score[0]);
printf("請輸入第%d名學生的數學成績:",n);
scanf("%d",&p1->score[1]);
printf("請輸入第%d名學生的英語成績:",n);
scanf("%d",&p1->score[2]);
printf("請輸入第%d名學生的計算機成績:",n);
scanf("%d",&p1->score[3]);
p1->sum=p1->score[0]+p1->score[1]+p1->score[2]+p1->score[3];
p2->next=p1;
p2=p1;
printf("\n請輸入第%d名學生的學號,沒有此學生則輸入0表示結束:",n+1);
scanf("%d",&flag);
}
p2->next=NULL;
printf("\n\n");
return head;
}

Student *sort_all(Student *head)
{
int choose;
for(;;)
{
printf("\n\t\t# # # # # 學生成績統計排序 # # # #\n");
printf("\t\t#\t1.按學生學號排序\t #\n");
printf("\t\t#\t2.按學生總分排序\t #\n");
printf("\t\t#\t3.按學生語文成績排序\t #\n");
printf("\t\t#\t4.按學生數學成績排序\t #\n");
printf("\t\t#\t5.按學生英語成績排序\t #\n");
printf("\t\t#\t6.按學生計算機成績排序\t #\n");
printf("\t\t#\t7.單科高分及均分\t #\n");
printf("\t\t#\t8.顯示當前學生成績\t #\n");
printf("\t\t#\t0.返回上一級菜單\t #\n");
printf("\t\t# # # # # 由himpo友情提供# # # # #\n\n");
printf("請輸入你要執行的操作:");
scanf("%d",&choose);
while(getchar()!='\n');
switch(choose)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:head=sort_1(head,choose);break;
case 7:print(head);sort_2(head);break;
case 8:print(head);break;
case 0:return head;
default: printf("\n\n您的輸入有誤!請重新輸入:\n\n");break;
}
}
}

Student *sort_1(Student *head,int choose)
{
Student *p1,*p2=head->next,*pm,*px;
Student mid;
if (!p2) return head;
for(p1=p2;p1->next!=NULL;p1=p1->next)
{
pm=p1;
for(p2=p1->next;p2!=NULL;p2=p2->next)
switch(choose)
{
case 1:if (pm->num>p2->num) pm=p2;break;
case 2:if (pm->sum<p2->sum) pm=p2;break;
case 3:if (pm->score[0]<p2->score[0]) pm=p2;break;
case 4:if (pm->score[1]<p2->score[1]) pm=p2;break;
case 5:if (pm->score[2]<p2->score[2]) pm=p2;break;
case 6:if (pm->score[3]<p2->score[3]) pm=p2;break;
}
if (pm!=p1)
{
mid=*pm;
*pm=*p1;
*p1=mid;
px=pm->next;
pm->next=p1->next;
p1->next=px;
}
}
printf("\n排序後的成績表為:\n");
print(head);
return head;
}

void sort_2(Student *head)
{
Student *p=head->next;
int max_1,max_2,max_3,max_4,min_1,min_2,min_3,min_4;
int max_sum,min_sum;
int sum_1=0,sum_2=0,sum_3=0,sum_4=0;
float aver_1,aver_2,aver_3,aver_4,aver_sum;
if (!p) return;
max_1=min_1=p->score[0];max_2=min_2=p->score[1];
max_3=min_3=p->score[2];max_2=min_2=p->score[3];
max_sum=min_sum=p->sum;
for(;p;p=p->next)
{
if (max_1<p->score[0]) max_1=p->score[0];
else if (min_1>p->score[0]) min_1=p->score[0];
if (max_2<p->score[1]) max_2=p->score[1];
else if (min_2>p->score[1]) min_2=p->score[1];
if (max_3<p->score[2]) max_3=p->score[2];
else if (min_3>p->score[2]) min_3=p->score[2];
if (max_4<p->score[3]) max_4=p->score[3];
else if (min_4>p->score[3]) min_4=p->score[3];
if (max_sum<p->sum) max_sum=p->sum;
else if (min_sum>p->sum) min_sum=p->sum;
sum_1+=p->score[0];sum_2+=p->score[1];sum_3+=p->score[2];sum_4+=p->score[3];
}
aver_1=1.0*sum_1/n;aver_2=1.0*sum_2/n;aver_3=1.0*sum_3/n;aver_4=1.0*sum_4/n;
aver_sum=aver_1+aver_2+aver_3+aver_4;
printf("總共%d名學生,具體數據為:\n",n);
printf("語文最高分為%d,最低分為%d,平均分為%.2f\n",max_1,min_1,aver_1);
printf("數學最高分為%d,最低分為%d,平均分為%.2f\n",max_2,min_2,aver_2);
printf("英語最高分為%d,最低分為%d,平均分為%.2f\n",max_3,min_3,aver_3);
printf("計算機最高分為%d,最低分為%d,平均分為%.2f\n",max_4,min_4,aver_4);
printf("總分最高分為%d,最低分位%d,平均分為%.2f\n",
max_sum,min_sum,aver_sum);
}

void find(Student *head)
{
Student *p;
int choose,fnum;
char tem[20];
if (n==0) {printf("\n當前系統沒有任何學生數據,您就別費勁了!\n ");return;}
for(;;)
{
printf("\n請輸入您要查詢學生的方式:\n\n");
printf("1、按學號查詢;2、按姓名查詢;0、我不查詢了。\n\n");
printf("請選擇:");
scanf("%d",&choose);
while(getchar()!='\n');
if (choose==1)
{
printf("\n請輸入你要查詢的學生的學號,輸入0退出學號查詢:");
scanf("%d",&fnum);
for(;fnum;)
{
for(p=head->next;p!=NULL&&p->num!=fnum;p=p->next);
if (!p)
{
printf("\n\n找不到你要查詢的學號,請重新輸入,輸入0表示結束:");
scanf("%d",&fnum);
}
else if (p->num==fnum)
{
printf("\n學號為%d學生的數據為:\n",p->num);
printf("學號\t姓名\t語文成績 數學成績 英語成績 計算機\
成績 總分\n");
printf("%d\t%s\t %d %d %d %d \
%d\n",p->num,
p->name,p->score[0],p->score[1],p->score[2],p->score[3],
p->sum);
printf("\n\n請輸入你還要查詢的學生的學號,輸入0表示不按學\
號查詢了:");
scanf("%d",&fnum);
}
}
}
else if (choose==2)
{
printf("\n請輸入你要查詢的學生的姓名,輸入0退出姓名查詢:");
scanf("%s",tem);
for(;strcmp(tem,"0");)
{
for(p=head->next;p!=NULL&&strcmp(p->name,tem);p=p->next);
if (!p)
{
printf("\n\n找不到你要查詢的姓名,請重新輸入,輸入0表\
示結束:");
scanf("%s",tem);
}
else if (!strcmp(p->name,tem))
{
printf("\n姓名為%s學生的數據為:\n",p->name);
printf("學號\t姓名\t語文成績 數學成績 英語成績 \
計算機成績 總分\n");
printf("%d\t%s\t %d %d %d \
%d %d\n",
p->num,p->name,p->score[0],p->score[1],p->score[2],
p->score[3],p->sum);
printf("\n\n請輸入你還要查詢的學生的姓名,輸入0表\
示不按姓名查詢了:");
scanf("%s",tem);
}
}
}
else if (choose==0) {printf("\n你選擇了不查詢!\n");break;}
else {printf("\n你以其他方式選擇了不查詢!\n");break;}
}
}

Student *add_new(Student *head)
{
Student *p;
int flag;
printf("\n\n請輸入你要新加入學生的學號,學號為0表示結束輸入:");
scanf("%d",&flag);
while(getchar()!='\n');
for(;flag;)
{
p=(Student *)malloc(LEN);
p->num=flag;
printf("請輸入新加入學生的姓名:",n);
scanf("%s",p->name);
printf("請輸入新加入學生的語文成績:",n);
scanf("%d",&p->score[0]);
printf("請輸入新加入學生的數學成績:",n);
scanf("%d",&p->score[1]);
printf("請輸入新加入學生的英語成績:",n);
scanf("%d",&p->score[2]);
printf("請輸入第%d名學生的計算機成績:",n);
scanf("%d",&p->score[3]);
p->sum=p->score[0]+p->score[1]+p->score[2]+p->score[3];
p->next=head->next;
head->next=p;
n++;
printf("\n請輸入還要加入學生的學號,沒有此學生則輸入0表示結束:");
scanf("%d",&flag);
}
head=sort_1(head,1);
printf("加入後的成績表為:\n");
print(head);
return head;
}

void print(Student *head)
{
Student *p=head->next;
if (!p) {printf("\n\n此系統目前沒有任何學生數據!\n\n\n");return;}
printf("此系統目前共計學生%d名:\n",n);
printf("**************************學生成績統計一覽************************\
*****\n");
printf("學號\t姓名\t語文成績 數學成績 英語成績 計算機成績 總分\n");
for(;p;p=p->next)
printf("%d\t%s\t %d %d %d %d %d\n",
p->num,p->name,
p->score[0],p->score[1],p->score[2],p->score[3],
p->sum=p->score[0]+p->score[1]+p->score[2]+p->score[3]);
printf("************************此軟體由himpo友情提供*************************\
*\n\n");
}

int main()
{
Student *head;
int choose,i;
head=(Student *)malloc(LEN);
head->next=NULL;
for(;;)
{
printf("\n\t\t* * * * * 學生成績管理系統 * * * *\n");
printf("\t\t*\t1.學生數據鍵盤錄入\t *\n");
printf("\t\t*\t2.學生數據統計排序\t *\n");
printf("\t\t*\t3.查詢學生數據\t\t *\n");
printf("\t\t*\t4.插入學生數據\t\t *\n");
printf("\t\t*\t5.顯示當前成績表\t *\n");
printf("\t\t*\t0.退出成績管理系統\t *\n");
printf("\t\t* * * * * 由himpo友情提供* * * * *\n\n");
printf("\n請輸入你要執行的操作:");
scanf("%d",&choose);
while(getchar()!='\n');
switch(choose)
{
case 1:printf("\n\t\t\t\t****注意****");
printf("\n\n 此選項將會建立新的學生數據系統 ,原來的數據將\
不再存在,你確信要刪除原來的數據並建立新的數據系統么?\n\n");
printf("1、建立新的數據系統;0、放棄建立新的數據系統。\n\n");
printf("請選擇:");
scanf("%d",&i);
if (i==1) {head=cin();print(head);break;}
else if (i==0)
{
printf("\n你選擇了放棄建立新的數據系統!\n");
break;
}
else {
printf("\n你做出別的選擇,當作放棄建立!\n");
break;
}
case 2:head=sort_all(head);break;
case 3:find(head);break;
case 4:head=add_new(head);
case 5:print(head);break;
case 0:system("pause");return 0;
default: printf("\n\n您的輸入有誤!請重新輸入:\n\n");break;
}
}
}

Ⅲ 學生成績查詢系統 論文(vb)

學生成績管理系統的開發
1 研究背景
1.1 研究目的
本系統的主要功能是對學校的學生的成績進行管理。成績管理是學校教務部門一項重要而繁雜的工作,它不僅數據多、處理量大、而且時間要求緊,牽涉到學生基本情況、學習成績、教師情況、課程情況、任教情況、系部專業情況、班級管理、重修管理、留級處理等,因此,要求本系統能夠將現有的手工作業全部電腦化,而且列印出符合教務要求的報表,、能夠應用到實際應用中。系統開發的總體任務就是要實現學生信息關系的系統化、規范化,自動化,實現作業的迅速性。本系統是面向現實要求的一個實用系統,因此它具有一定的經濟價值和社會價值。正如題目所言,本系統目的是對學校的學生的成績進行管理,因此在設計本系統時,力圖做到能使其真正的實用和方便。這就要求利用面向對象技術的開發方法結合原型法和結構化開發方法來編寫整個學生成績管理信息系統。
1.2 研究意義
學生成績管理系統是一個教育單位不可缺少的部分,它的內容對於學校的決策者和管理者來說都至關重要,所以學生成績管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理學生的成績,這種管理方式存在著許多缺點,如:效率低、易出錯等,另外時間一長,將產生大量的文件和數據與實際上的數據不符,這對於查找、更新和維護都帶來了不少的困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域並發揮著越來越重要的作用。
資料庫管理是微機應用的重要方面,幾乎所有微機應用系統都離不開對資料庫的管理和操作。由於資料庫管理系統所服務的對象各種各樣、千差萬別,各個不同行業需要開發適合本單位、本部門特點的資料庫管理系統,甚至一個部門也需要多個不同的管理系統,因此,通過開發自動化程度較高的通用性軟體,來滿足不同對象的要求。現在,隨著學校學生人數的增多,人工管理學生檔案工作日益繁瑣,而且容易出錯,為了解決這些問題,在此我根據本校特點開發了學生信息管理系統,此系統是一種自動化程度較高的通用管理軟體。
2 文獻綜述
2.1 管理信息系統的綜述
管理信息系統是一個和機器結合的人機系統,是用系統的觀點,數學的方法建立起來的,以電子計算機為基礎,為管理過程服務的信息系統。
3 技術路線
本系統的主要功能是對學校的學生的成績進行管理。成績管理是學校教務部門一項重要而繁雜的工作,它不僅數據多、處理量大、而且時間要求緊,牽涉到學生基本情況、學習成績、教師情況、課程情況、任教情況、系部專業情況、班級管理、重修管理、留級處理等,因此,要求本系統能夠將現有的手工作業全部電腦化,而且列印出符合教務要求的報表,能夠應用到實際應用中。系統開發的總體任務就是要實現學生信息關系的系統化、規范化,自動化,實現作業的迅速性。
3.1 分析問題,建立模型
分析一個要由計算機解決的問題,就是要設法確定該問題最合適的模型,這是分析問題的出發點和目的。為此,首先要分析問題和題意,明確所要解決的問題屬於什麼類型、原始數據是什麼、是怎樣被加工的、經計算機處理後需要輸出什麼結果,然後才能建立相應的系統模型,並把解決問題的方法確定下來。
3.2 確定演算法
演算法是一個過程,由一組清晰的規則組成,這些規則指定了一個操作順序,依照這個有限的步驟可以完成特定類型問題的解答。如何確定演算法是計算機程序設計的重點。數據結構加演算法構成程序,我們可以利用出版刊物上的程序庫或計算機廠家內部建立的程序庫等來源找出合適的演算法或者依據實際問題和所具備的經驗自己設計演算法。流程圖是程序設計中很有用的工具,它直觀、清晰易懂,便於檢查交流和修改,詳細的流程圖可以作為編寫程序的依據,當演算法確定後,還可按照車家標准用流程圖畫出計算機解題步驟框。
3.3 編寫程序
有了演算法和相應程序流程圖後,就可以選定高級語言,以書面形式將演算法描述出來。編寫程序的結果就是形成用程序設計語言編寫的源程序,編程中應盡量採用可重用技術,引用已有的程序模塊,進行二次開發,以提高編程效率。
3.4 高度運行程序
完成程序清單的書寫並輸入到計算機以後,就可以上機調試了。調試工作主要包括排錯和測試兩部分。排錯是指查出在程序中隱藏的錯誤,並給予糾正;測試是確認程序在各種可能的情況下都可以正確執行,輸出結果准確無誤。這兩個工作往往交叉進行,不僅使用合法數據測試,而且使用非法數據或誤操作測試,直到經過足夠量的實例測試後達到滿意效果。
3.5 建立文檔資料
文檔資料是計算機軟體工作的重要組成部分,從接受用計算機解題任務開始就應注意和加強文檔資料的編寫和建立。一般地,解題任務完成,文檔資料也全部建好。
3.6 程序維護
程序維護指對已經交付使用後的程序進行修改、擴充、完善等工作。當程序應用於實際工作或生活中,就得到了實踐的檢驗,由於計算機硬體、軟體環境的變更、實際需求的變化或操作人員的變動,會出現這樣那樣的問題需要編程人員對程序更新數據、排除隱患、修改或擴充功能等都屬於維護工作。根據實際情況,我們使用原型法(Rapid Prototyping),即以少量代價快速地構造一個可執行的軟體系統模型。使用戶和開發人員可以較快地確定需求,然後採用循環進化的開發方式,對系統模型做連續的精細處理,將系統需具備的性質逐步加上去,直到所有的性質全部滿足。此時,模塊也發展成為最終產品了。
4 進度計劃
5 參考文獻
[1] 劉韜,駱娟等.Visual Basic 6.0資料庫系統開發實例導航[M]. 人民郵電出版社,2002年4月.
[2] 劉聖才,李春葆.Visual Basic 6.0程序設計導學[M].清華大學出版社,2002年1月.
[3] Mike Geundenloy[美]著,孫月琴等譯.Visual Basic開發指南[M].電子工業出版社,2000年7月.
[4] 張海藩.軟體工程導論[M].清華大學出版社,1998年1月.
[5] 伍俊良.VISUAL BASIC 課程設計與系統開發案例. 北京:清華大學出版社,2002;

Ⅳ 學生成績查詢系統

從易查分網站可以直接上傳學生成績Excel電子表格,一分鍾就建立成績查詢網頁和微信查分,非常好用,直接網路易查分就行了。

Ⅳ 基於VB的學生成績查詢系統

XX中學學生學籍管理系統

目錄
摘要
引言
系統簡介
第一章 可行性研究
第二章 需求要析
第三章 概要設計
第四章 詳細設計
第五章 設計中遇到的問題及解決方法
(還有暫時未解決的問題)
第六章 結束語
第七章 主要參考文獻
附:程序清單
學生:

摘要

-------引言(選題理由)-------
我的母校XX一中為一個市重點中學,但由於長期一來是傳統的管理模式……
使用計算機對學生信息進行管理,具有手工管理所無法比擬的優點.例如: ……
學校為了提高工作效率,買了一批電腦,當務之急就是…… 因此,……

我選擇母校來設計這個系統主要有兩個原因:
一是:在母校我認識許多老師,他們為我提供了許多資料,……
二是:在母校學習的三年裡,我受到了很多老師的關懷,他們……也算是對母校的一點回報。

本系統為學生學籍管理系統,是一個的信息管理系統,其開發主要包括資料庫的建立和維護以及前端應用程序的開發兩個方面。……

經過分析,我使用了 MICROSOFT公司的 VISUAL BASIC 6.0開發工具,利用其提供的各種面向對象的開發工具,在短時間內建立系統應用原型,然後,對初始原型系統進行需求迭代,不斷修正和改進,直到形成一個滿意的可行系統。

在下面的各章中我將以開發學生學籍管理系統,談談其開發過程和所涉及到的問題及解決方法。
--------------------下面就讓我們開始正文的介紹

第一章 可行性研究
計算機管理學生信息的意義:
在各大中小學校,用計算機管理學校的信息已經越來越普遍了。用計算機不但可以提高工作效率,而且還節省了許多人力物力,增強了學校資料的安全性。提高了學校的管理能力,為此,用計算機來管理學校的信息,是非常必要的。
我作為一個計算機應用的大學生,希望能有所貢獻。用我三年的所學編制了一個實用的程序來幫助桂陽一中進行更有效的學籍檔案管理。

可行性研究:
目的:可行性研究的目的是用最小的代價在盡可能的時間內確定問題是否能夠解決。
經濟上可行性:
現在,計算機的價格已經十分低廉,性能卻有了長足的進步。而本系統的開發,
為學校的工作效率帶來了一個質的飛躍,為此主要表現有以下幾個方面:
第一,本系統的運行可以代替人工進行許多繁雜的勞動;
第二,本系統的運行可以節省許多資源;
第三,本系統的運行可以大大的提高學校的工作效率;
第四,本系統可以使敏感文檔更加安全,等等。
所以,本系統在經濟上是可行的。
技術上可行性:

為本系統的開發我特對桂陽一中進行了深入的調查研究。現桂陽一中有32個班,其中一年級有10個班,二年級有9個班,三年級有13個班(包括文、理復讀班),共有學生人數為1533人。學校有三十多台電腦及兩台主機。並且開發人員對用戶所提出的要求也都能夠滿足。

並且本系統的開發我利用Microsoft SQL Server2000作為本系統的資料庫,它是一個支持多用戶的新型資料庫,適用於大中規模的數據量需求。學校校園網的建設也為新系統伺服器/客戶端的結構提供了硬體的支持。
使用Visual Basic6.0作為系統開發的開發環境,它作為一種現代的編程語言,提供完善的指令控制語句、類與對象的支持及豐富的數據類型,給開發高性能系統提供的保障為開發滿足客戶要求的系統,保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利於以後對新系統的擴展與修改。
綜上所述,本系統的設計與開發在技術上和硬體設備上的條件都是滿足的,因此,它在技術上是可行的。

運行上可行性:
本系統為一個小型的學生信息管理系統,所耗費的資源非常的小,學校的電腦無論是硬體還是軟體都能夠滿足條件,因此,本系統在運行上是可行的。
法律可行性:
本系統純為私人設計,在開發過程中沒有涉及合同、責任等與法律相抵觸的方面。因此,本系統在法律上是可行的。

第二章:需求分析

21世紀以來,人類經濟高速發展,人們發生了日新月異的變化,特別是計算機的應用及普及到經濟和社會生活的各個領域。使原本的舊的管理方法越來越不適應現在社會的發展。許多人還停留在以前的手工操作。這大大地阻礙了人類經濟的發展。為了適應現代社會人們高度強烈的時間觀念,學校信息管理系統軟體為學校辦公室帶來了極大的方便。我所開發的這個系統所採用的是當前較為流行的編程軟體VISUAL BASIC 6.0作為實現語言,以資料庫Microsoft SQL Server2000作為系統的後台操作,其功能在系統內部有源代碼直接完成。我們只需按系統要求輸入即可操作。

引言
在學校,學生信息管理工作是非常重要的一項工作,它負責整個學校的……,學生的……。以前是……。隨著學校……,教務工作者急切希望……

學校工作流程分析
學校工作總體規劃由教務人員在學生學籍信息管理系統中完成對運行教務處所需的基本數據的維護,包括這些信息的增加、修改及對各項信息的變動都將在這進行操作。
新的學年,教務人員首先加入年級信息,然後編排班級,再對來校學生進行基本的信息錄入,新生入學後由教務人員在學籍系統中完成新學生信息的維護。
在每個學期開始,教務處根據班級的情況,以班為單位,為每個班級安排一個班主任及對此年級安排一個年級組長。並對各科老師進行安排。
每舉行一次考試後由任課老師對本科的成績進行錄入。班主任對本班的成績匯總。並進行排名,然後年級組長再進行匯總,並對本年級各科成績及總成績進行排名。
教務處、年級組長、班主任及任課老師跟據實際情況對錄入的成績進行維護,各位同學對以上錄入的信息可以跟據自己的需要進行適當的查詢。

學校具體需求分析
學生:對各科成績的查詢及查看本班成績排名與年級成績排名情況。
任課老師:輸入並維護所教科目的學生成績,計算本科的成績排名、本科成績在班上的排名。
輸出本班科目的成績及排名情況。
班主任:輸入並維護本班的基本信息,對本班的各科成績匯總,計算各科成績的總分,排名,本班平均分等需求。
輸出學生的基本信息,各科的成績及各科成績的部分,各科成績的排名,總分的排名情況。
年級組長:對本年級學生基本情況的管理,對各班的成績匯總,計算年級中各科成績的排名,總成績排名等需求。
輸出年級學生基本信息,各科成績的年級排名,總成績在年級中的排名。
教務處: 學校全體成員的信息管理,對考試科目,時間及對所考科目的編號等進行具體的管理,並對任課老師,班主任等輸入的信息進行存庫,對學生的信息進行必要的維護,可列印學生的所有信息。

系統設計思想
1、 採用現有的資源,先進的管理系統開發方案,充分利用學校現有的資源,減少開發中的時間和財力、物力、提高系統開發的水平和應用效果。
2、 系統就滿足學校的需求,例如學生信息的錄入、查詢、更新等。學生錄入與排名。
3、 系統就具備資料庫維護功能,及時根據用戶需求進行數據添加、刪除、修改等操作。

系統設計分析
本系統適用於中小學校,其功能主要分為六大類:
用戶管理:用於對用戶的添加,賦於不同許可權及對用戶的修改及查詢。
課程管理:用於對各學期課程的開設和修改。
成績管理:用於對成績的輸入、修改、匯總及排名。
班級管理:用於對班級的錄入與修改。
幫助信息:用於對本系統的具體操作進行詳解。
本系統性能力求易於使用,具體有較高的擴展性和可維護性。

系統功能分析
許可權功能:為用戶設置許可權功能,可分為普通用戶,一般用戶,超級用戶。普通用戶只是查詢不能修改,一般用戶只能對授權范圍內進行相應修改及刪除,超級用戶能修改、刪除所有信息。
錄入功能:為一般用戶提供相應的錄入功能,為超級用戶提供對所有信息的錄入功能。
查詢功能:為所有用戶提供查詢的功能,可查詢允許范圍內的所有信息。
維護功能:為一般用戶提供查詢及相應的修改,刪除功能,為超級用戶提供對所有信息的修改刪除功能。
列印功能:能列印全校學生的信息及積各班信息,科目成績等。
幫助功能:能幫助初次使用者對本系統的應用及處理常見的問題。
退出功能:結束並關閉系統。

學生學籍系統的目標
節約資源,提高學籍信息的精確度
本系統能減少很多不必要的資源,不用象以前那樣用冗餘的紙張式的管理。大節省了學校能源。並且計算機的存儲與快速查詢功能大大提高了學籍管理的效率,並且還提高了學籍信息管理的精確度。
方便快速操作,精減人員,節約開支
方便快速的操作,可減少學籍信息管理的漏洞,又減少因工作的冗餘出現的錯誤,並且操作非常簡單,可減少許多不很必要的人員,這無論從物質上還是工作人員的工資上都為學校節約了開支。為學校增加了財富。

資料庫分析
用戶需求具體有學籍管理系統提供保存、更新、查詢、維護和列印,這就需求資料庫結構能充分滿足各種信息的輸入與輸出,實現有組織地、動態地存儲大量關聯數據,方便用戶訪問系統中的數據,它與文件系統的重要區別是數據的充分共享,交叉訪問,與應用程序的高度獨立性。

數據流圖描述:本系統從總體上分為系統信息管理、學生信息管理、課程管理、班級管理和成績管理五大部分。每個模塊有自己的作用。下面的各模塊功能流圖就是由各功能之間的關系而得出的。
(圖2、圖3、圖4、圖5、圖6、圖7、圖8)

學籍信息錄入流圖(圖2)

學生信息查詢流圖(圖3)

學籍信息維護流(圖4)

一般用戶、超級用戶
用戶添加

用戶信息

系統管理數據流圖(圖5)

課程開課信息

課程信息

年級、班級查詢條件

課程管理數據流圖(圖6)

成績錄入

成績排名

按學號
按科目
按班號

成績管理數據流圖(圖7)

班級錄入

班級學生名單及成績

按班號
按年級

班級管理數據流圖(圖8)
數據字典:是關於數據的信息的集合,對數據流程圖中的各個元素做完整的定義與說明
下面給出本系統幾個數據元素的字典卡片與具體數據卡片的含義:
名稱:用戶信息
描述:管理員的基本信息表
定義:用戶=用戶名+密碼+性別+聯系電話+出生年月+家庭住址
用戶名={英文字母、數字、特殊符號}
姓名={英文字母、數字、文字}
------------------------------------------------------
名稱:學生表
描述:學校學生注冊基本信息表
定義:學生表=學號+姓名+性別+班級+民族+籍貫+政治面貌+出生日期+入學日期 +家庭住址+聯系電話+{備注}4
學號=11 {數字} 11
姓名=2 {文字} 4
--------------------—---------------------------------
名稱:成績錄入表
描述:學校學生各科成績基本信息表
定義:成績錄入=考試編號+學號+姓名班級+課程名+成績
學號=11 {數字} 11
姓名=2 {文字} 4
----------------—-------------------------------------
名稱:班級表
描述:學校各班班級基本信息表
定義:班級表=年級+班號+班主任+教室
班號=3 {數字} 3
年級=2 {文字} 2
-------------------------------------------------------
名稱:課程表
描述:各年級所學課程的基本信息表
定義:課程表=課程編號+課程名稱+課程類型+課程描述
編號=3{數字}3
名稱=4{文字}4

第三章:概要設計

目的:設計系統結構,根據需求要析給出的功能得出系統體系結構。如劃分模塊。

目標:通過本系統軟體,能幫助工作人員利用計算機,快速方便的對所屬學校的信息管理進行維護、輸入、輸出、查找的所需操作,使散亂的學校數據能夠具體化,直觀化、合理化。
運行環境:Windows2000/NT或更高的版本。
總體設計
處理流程:1.啟動系統,激活登陸口令界面。
2.通過驗證後,對系統進行初始化。
3.系統進入消息循環,通過事件驅動機制激活相應的功能模塊,並執行相應的功能;
4.通過關閉系統事件,激活關閉系統模塊,退出系統。
系統模塊菜單:
學生學籍信息管理系統
用戶管理
添加用戶
修改用戶
刪除用戶

學籍信息管理
添加學籍信息
查詢學籍信息
修改學籍信息
刪除學籍信息

班級信息管理
添加班級信息
修改班級信息

課程信息管理
添加課程信息
修改課程信息
設置年級信息

成績信息管理
添加成績信息
查詢成績信息
修改成績信息
刪除成績信息
幫助文件
幫助信息
學生信息管理系統所需完成具體的功能:
系統管理模塊: 用戶的添加、刪除、修改及許可權的賦予。
學生信息管理模塊:輸入學生基本信息,並可以對學生信息進行添加、查詢、修改、刪除。還可以關鍵字查詢並從資料庫里調出的學生基本信息.
輸出學生基本信息,學號、班號、姓名查詢的信息結果。
班級信息管理模塊: 輸入班號、教室號、班主任等信息,並可以對班級信息進行添加、修改。包括班號、教室號、班主任、年級的錄入及修改。
輸出班號、教室號、班主任年級等信息。
成績信息管理模塊:輸入成績信息,並可以對成績信息進行添加、查詢、修改、刪除。還可以用關鍵字查詢並調出資料庫里的學生基本成績信息的修改、刪除等。
輸出查詢的學生成績信息。
課程信息管理模塊:輸入課程的基本信息,並可以對課程信息進行添加、修改、刪除及課程設置。課程設置能夠對各年級的課程進行分類。劃分學期所學的課程。
輸出課程的基本信息、年級及學期中所要學的課程等。

系統模塊圖:(圖9)

幫助信息

添加班級信息 修改班級信息
添加成績信息 修改成績信息 刪除成績信息 查詢成績信息
添加用戶 修改用戶 刪除用戶 退出系統
添加學生信息 修改學生信息 刪除學生信息 查詢學生信息
添加課程信息 修改課程信息 設置年級課程

(圖9)

介面設計
外部介面:用戶一般通過終端進行操作,用戶進入界面後進行相應的操作。
硬體介面:賽揚133 、內存32兆以上PC機滿足輸入端條件。
軟體介面:Windows2000/NT或更高的操作系統。
內部介面:內部介面(模塊之間的介面)
驗證模塊:啟動系統時,便激活登陸口令界面;
初始化模塊:對系統進行初始化;
系統功能模塊:接收系統功能的相應消息,啟動信息錄入、信息查詢、信息維護、SIM維護等模塊。

各模塊的具體分析:
1.系統管理模塊:用於管理系統的用戶及賦於許可權對本系統的操作。實體E-R圖如下:(圖10)

(圖10)
2.學生信息管理:主要用於學生的基本信息管理(如學號、姓名、性別、出生年月、聯系地址等)。實體E-R圖如下:(圖11)

(圖11)
3.班級管理:主要以班為單位對於學校班級信息管理。實體E-R圖如下:(圖12)

(圖12)
4.成績管理:主要用於學生考試的成績進行管理(如統計分數等)實體E-R圖如下:(圖13)

(圖13)
5.課程管理:主要用於學生課程的管理(如各學期的課程安排等)實體E-R圖如下:(圖14)

(圖14)
系統維護模塊:主要是對學校信息管理系統進行日常維護,該模塊又包括:修改用戶密碼、增加與刪除用戶、數據備份、數據整理等功能。

關系型資料庫的實現:Microsoft SQL Server2000 就是關系資料庫開發工具,資料庫能匯集各種信息以供查詢、存儲和檢索。Microsoft SQL Server2000 的優點在於它非常的可靠、質量好、易用、可伸縮性、簡單的管理和調整(能自動運行管理和性能監測,提供了集中的資料庫管理。)、靈活的和可擴展的數據轉換(能夠構建更加堅固的數據轉換服務(DTS)軟體包)、集成了可擴展的分析服務(提供了數據採集、為生成報表而設計了靈活的向上流動特性,實現單元級和成員安全的功能,還有寫回原始大小的能力)。自定義窗體收集信息。數據表示圖提供了一種類似於 Excel 的電子表格,可以使資料庫一目瞭然,還提供了排序功能。Microsoft SQL Server2000也提供了數據存儲庫,可以使用桌面資料庫文件把資料庫文件置於網路文件伺服器,與其他網路用戶共享資料庫。如上所述, Microsoft SQL Server2000 作為關系資料庫開發具備了許多優點,可以在一個數據包中同時擁有桌面資料庫的便利和關系資料庫的強大功能。
運行設計
運行模塊的組合圖(圖15)

(圖15)
出錯處理設計
出錯輸出信息:本系統採用人-機對話模式,若操作失誤則彈出對話框(如:身份驗證、輸錯信息等)
出錯處理對策:用戶可根據彈出對話框中的提示信息進行操作。

安全保密設計:系統進入時設計了登錄界面,並且對用戶進行了許可權區分。分為一般用戶、管理員,對一般用戶只可以進行查詢,只有管理員才可以對信息進行刪除與修改。另外還設計對數據的備份及還原,從而實現了數據可移植性。

第四章:詳細設計
目的: 為系統中的每一個模塊確定使用的演算法和塊內數據結構,並用表達工具給出清晰的描述。
實現資料庫之間的聯系:資料庫之間的關系指明兩個庫之間共享一個共同的關鍵字值。一個連接是指一種虛擬的表,這種表是在當用戶要求從相互關聯的各個不同的表中獲取信息時建立的,關鍵欄位用於在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個欄位,或在不同的紀錄中由重復數據的組合欄位。資料庫中有三種不同類型的關鍵字:主關鍵字、組合關鍵字和外關鍵字。在表中使用的關鍵字類型用於描述庫表示什麼以及在資料庫中如何與其它的庫建立關系。
下面為本系統的數據流程圖:(圖16)

查詢成員
學生基本信息錄入

維護統計
班級注冊

成績查詢結果

成績和學生擋案列印
成績維護
成績錄入
成績列印

(圖16)

修改已建的資料庫:資料庫的修改分為添加、編輯和刪除記錄。我都由Visual Basic 創建的程序來實現。

與Visual Basic 6.0的連接:Visual Basic 6.0提供了與底層資料庫系統緊密的連接。Visual Basic 6.0 支持不同的關系資料庫管理系統並充分發揮每一個資料庫的特長。生成獨立應用或脫離伺服器運行的服務以上的應用,Visual Basic 6.0連接資料庫的方式有兩種:
•通過使用Visual Basic的 DATA控制項。
•通過使用由Visual Basic提供的專用的直接與資料庫相連的介面。

程序描述
功能模塊的描述與數據表的創建如下:

學籍模塊:
該模塊主要完成學生基本信息的錄入、刪除 、更新等功能。在此模塊中定義了九個域名來進行學生的信息存儲。如果用戶修改某一紀錄中的某一項,可單添加按鈕進行學生記錄的編輯,此窗口使用數據窗口的FREEDOM風格(典型的錄入界面)。該種風格特點是列標題緊挨著數據列在此窗口還可以增加新學生紀錄。

學生基本信息表:
學生基本信息表裡存儲了學生的檔案包括:學號、姓名、性別、年齡、班號等 表如下圖

主鍵:學生學號
列名 數據類型 長度 允許空
學生學號
學生姓名
學生性別
出生日期
班號
聯系電話
入校日期
政治面貌
籍貫
民族
家庭住址 Varchar 50 Yes
注釋 Varchar 200 Yes

班級模塊:
班級模塊主要完成班級信息的錄入、刪除 、更新等功能。在此模塊中定義了四個域名來進班級信息表的存儲。

班級信息表:
班級信息表裡存儲了學生的信息包括:班號、年級等 表如下圖

主鍵:班號
列名 數據類型 長度 允許空
班號
年級
班主任
教室

課程模塊:
該模塊主要完成存儲課程的所有信息及錄入、刪除 、更新等功能。此模塊主要有四個域名來進行學生課程信息的存儲。

課程信息表:
課程信息表存儲了課程的信息:課程紡號、名稱、描述等如下表:

主鍵:課程編號
列名 數據類型 長度 允許空
課程編號
課程類型
課程描述

年級模塊:
該模塊主要完成存儲年級與課程信息的錄入、刪除 、更新等功能。此模塊主要有二個域名來進行年級信息的存儲。

年級課程信息表:
年級課程信息表存儲了年級的信息:年級、課程等如下表

年級課程信息表:
列名 數據類型 長度 允許空
年級
課程

成績模塊:
該模塊主要完成學生成績的基本信息的錄入、刪除 、更新等功能。在此模塊中定義了六個域名來進行學生的信息存儲。

成績信息表:
成績信息表裡存儲了學生的成績包括:學號、成績等如下表

列名 數據類型 長度 允許空
考試編號
學生學號
課程名稱
分數

用戶模塊:
該模塊主要完成用戶基本信息的錄入、刪除 、更新等功能。在此模塊中定義了三個域名來進行學生的信息存儲。

用戶信息表:
用戶信息表裡存儲了用戶的信息包括:用戶名、密碼等如下表
用戶信息表:
列名 數據類型 長度 允許空
用戶名
用戶密碼
用戶注釋
以上幾張表為本系統的基本信息,還不夠完善,以待改進。

程序邏輯
模塊功能實現的演算法流程圖:(圖17、圖18、圖19、圖20、圖21)

各實體間的E-R圖(圖17)

錄入模塊流程圖(圖18)

查詢模塊流程圖(圖19)

維護模塊流程圖(圖19)

系統維護模塊流程圖(圖20)

系統的實現:
設置資料庫,選擇「開始設置|控制面板,菜單,打開」管理工具文件夾,雙擊「數據源」項目,在彈出的對話框中選擇「文件DSN」標簽頁,然後單擊「添加」按鈕,選擇「SQL SERVER」項目。單擊「完成」按鈕,在名稱文本框中填寫「Hotel_MIS」,伺服器中選擇「(local)」, 單擊「下一步」按鈕,選擇登錄ID,這里使用認的選擇,也可發自己設置其他的登錄方式。單擊「下一步」按鈕,出現選擇認資料庫對話框,選中「更改認資料庫為:」選項,然後選擇「student」,單擊下一步,單擊完成按鈕,完成數據源設置。單擊「測試數據源」進行數據源測試,出現測試成功,單擊「確定」,退出數據源設置。
在系統文件中選擇SQL文件,復制此文件,然後按開始菜單選擇Microsoft SQL Server2000/查詢分析器/把此文件復制到此文件中,單擊保存就可以生成資料庫了。然後運行這個程序會出現登陸窗口。輸入用戶名和密碼後,就可以進入系統了。

第五章:編碼
見附錄

第六章: 結束語
經過二個多月的設計和開發,永興三中學籍管理系統基本開發完畢。其功能基本符合用戶需求,能夠完成學生學籍的存儲和成績的查詢以及各類相關報表的列印。
但是由於畢業設計時間較短,所以該系統還有許多不盡如人意的地方,比如用戶界面不夠美觀,出錯處理不夠等多方面問題。這些都有待進一步改善。

致謝:
在系統開發的兩個月里,我受到了指導老師李平建老師的細心指導,李老師嚴謹的指導態度與深厚的理論知識都讓我受益非淺,從他身上我學到了很多的東西,無論是理論還是實踐都使我的知識有很大的提高.藉此我特提出感謝.
同時我還感謝母校的老師,謝謝他們為本系統提供的幫助.讓我能夠順利地完成本系統的開發.也感謝那些對我提供幫助的同學,沒有他們就不會現在的系統.

第七章
參考文獻
[1]軟體工程 作者:陳明 中央廣播電視大學出版社 2001年
[2]Visual Basic程序設計 作者:陳明 中央廣播電視大學出版社 2000年
[3]Visual Basic6.0資料庫系統開發實例導航 作者: 劉韜、駱娟、何旭洪
人民郵電出版社 2002年
[4]資料庫基礎與應用 作者:王利 中央廣播電視大學出版社 1997年
[5]SQL Server2000系統管理 飛思科技產品研發中心 電子工業出版社 2001年
[6] Visual Basic 6.0 使用指南 作者:Bob Reselman , Richard Peasley , Wayne Pruchniak.
電子工業出版社
[7] Visual Basic 6.0 中文版控制項大全 作者:Microsoft電子工業出版社

附錄:

Ⅵ SQL Sever學生成績管理系統包括學生管理、課程管理、成績查詢功能

可以藉助Baihi示意我們
有機會能夠處理你所遇到的工作
具體的要求也能夠示意我們

ES:\\
交易提醒:預付定金有風險

Ⅶ 查詢各課程的平均成績並按成績降序排列

SQL指令:

SELECT stu.name,a4.java,a4.mysql,a4.html,a4.`總成績` from
(select a.stu_id,a.score 'java',a1.score 'mysql',a2.score 'html',a3.sum1 '總成績' from
(select sc.score,sc.stu_id from score sc where sc.subject_id=10001) a
LEFT JOIN
(select sc.score,sc.stu_id from score sc where sc.subject_id=10002) a1
on a.stu_id = a1.stu_id LEFT JOIN
(select sc.score,sc.stu_id from score sc where sc.subject_id=10003) a2
on a1.stu_id=a2.stu_id
LEFT JOIN (SELECT sum(sc.score) sum1 ,sc.stu_id from score sc GROUP BY sc.stu_id) a3
on a2.stu_id = a3.stu_id
ORDER BY a3.sum1 desc) a4
LEFT JOIN student stu on a4.stu_id = stu.id

Ⅷ 學生成績查詢系統如何編寫

隨著教育部禁止對考試成績進行公開排名及公開公布成績後,學校一般都選擇不再公開公布考試專成績屬,但是考試是檢測學生一段時間的學習狀態的主要手段,家長和老師也需要通過考試成績來對孩子們近期的學習進行查缺補漏,所以考試是不可避免的!但是對於公布成績,很多老師不知道怎樣有效發布,其實老師們可以用易查分做一個自主查詢系統,避免因為公布成績而帶來的各種問題,因為都是自己查自己的,所以私密度極高!用易查分發布查詢系統也很方便,差不多3分鍾左右就可以製作好一個查詢系統!值得老師們嘗試!!!

Ⅸ SQL查詢求每個同學的課程成績的最高分,查詢結果項包括:學生姓名、課程號及最高分

你好,你展示的第一種sql查詢方案,其意思是:

先根據score表中的sno分組求每個sno的最高分數。這求得的當然是每個同學的最高分啦,但是只是獲得了最高分,沒有指定是誰的最高分,導致在前面的【SELECT SNAME ,CNO,GRADE FROM Score Y,StudentWHERE (STUDENT.SNO=Y.SNO)】查詢結果集中的後面檢索條件【AND Y.GRANDE IN (所有人的最高分集合)】,這樣系統就會查詢分數在「所有人的最高分」里的結果集了。

而第二種方案,除了限定分數范圍(最高分),還限定了學生的編號(

SELECTMAX(GRADE)FROMSCOREWHERE
SNO=Y.SNO
GROUPBYSNO,sno=y.sno就是限定學生的編號。

),所以結果自然不同了。

根據你的要求,我給你提供一種查詢方式。其實原理是一樣的哦。

selectstu.sname,scr.cno,scr.gradefromstudentstu
leftjoinscorescronscr.sno=stu.sno
whereexists(select1from(selects.sno,max(s.grade)asmgfromscoresgroupbys.sno)twheret.sno=stu.sno
andt.mg=scr.grade)

希望能幫助你。

Ⅹ 資料庫sql學生選修課系統,使用查詢功能查詢學生成績,只有有優秀良好

select成績,count(1)as人數from成績表where成績in('優秀','良好')groupby成績

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919