第一篇:學(xué)生成績(jī)管理
為方便編程采用C++實(shí)現(xiàn),同C類似,區(qū)別不大:
(1)學(xué)號(hào)為負(fù)數(shù)時(shí)結(jié)束輸入:
#include“stdafx.h”
#define NULL 0
#include
#include
#include
using namespace std;
//聲明結(jié)構(gòu)體類型
typedef struct stnode
{
int id;//學(xué)號(hào)
char name[16];//姓名
intclass[4];//課程成績(jī)數(shù)組
float ave;//學(xué)生個(gè)人所有課程的平均成績(jī)struce stnode *next;//指針域
}Students;
// 函數(shù)原型聲明
void PrintFailStudent(Student*head);
void PrintSuccessStudent(Student*head);void DeleteLink(Student*head);
Student*input_data();
void main()
{
Student*head=input_data();
Student*input_data();//調(diào)用input_data函數(shù),錄入學(xué)生信息
PrintFailStudent(head);//調(diào)用PrintFailStudent函數(shù),存在不及格的學(xué)生
void PrintSuccessStudent(Student*head);//打印平均分90分以上的學(xué)生
DeleteLink(head);//調(diào)用DeleteLink函數(shù),釋放內(nèi)存
}
//
{
int id;// 定義一個(gè)整數(shù)變量,存放學(xué)號(hào)
string name;//學(xué)生姓名
int class;//課程號(hào)
int scores;//各科成績(jī)
int totl_score;//各科總成績(jī)
Student *head=NULL, *temp;// 定義兩個(gè)結(jié)構(gòu)體指針
cout<<”開始錄入學(xué)生成績(jī):”;
while(1){cout<<“請(qǐng)輸入學(xué)生學(xué)號(hào):”;cin>>id;// 輸入學(xué)號(hào) if(id<0){// 學(xué)號(hào)為負(fù)數(shù)時(shí)結(jié)束錄入break;錄入學(xué)生信息 Student*input_data()
}
temp=new Student;// 向內(nèi)存動(dòng)態(tài)申請(qǐng)一個(gè)結(jié)構(gòu)體結(jié)點(diǎn) cout<<“請(qǐng)輸入學(xué)生姓名:”;
for(int a=0;a<=sizeof(a[0]);a++){temp->id=id;// 將輸入的學(xué)號(hào)存入結(jié)構(gòu)體結(jié)點(diǎn)的學(xué)號(hào)成員變量temp->name=name;// 存入學(xué)生姓名
cout<<“請(qǐng)輸入學(xué)生課程”+a+”的成績(jī):”;
cin>>scores;// 輸入學(xué)號(hào)
totl_score=totl_score+scores;//總成績(jī)
temp->class[a]=scores;// 課程1的成績(jī)錄入}
ave=totl_score/sizeof(a[0]);
}
// 打印不及格學(xué)生信息
void PrintFailStudent(Student*head)
{
cout<<”存在不及格學(xué)生信息:”;
cout<<“學(xué)號(hào)”< id< } } // 打印90平均分學(xué)生 void PrintSuccessStudent(Student*head){ } // 釋放鏈表中的所有到結(jié)點(diǎn) void DeleteLink(Student*head){ } Student*p;while(head!=NULL)// 頭指針非空時(shí)循環(huán) {} p=head;// 記住當(dāng)前頭指針 head=head->next;//當(dāng)前頭指針移到下一個(gè)結(jié)點(diǎn) delete p;// 刪除結(jié)點(diǎn) for(Student*p=head;p!=NULL;p=p->next)cout<<”平均分為90分以上的學(xué)生學(xué)號(hào):”+p->id;if(p->ave>=90){} 寧波大紅鷹學(xué)院 項(xiàng)目名稱:項(xiàng)目組長(zhǎng):項(xiàng)目成員:班級(jí)名稱:專業(yè)名稱:完成時(shí)間:信息工程學(xué)院 課 程 設(shè) 計(jì) 報(bào) 告 學(xué)生成績(jī)管理系統(tǒng) 黃輪 蔡萍萍、邵芬芬、雷驍 09計(jì)科1、09計(jì)科2 計(jì)算機(jī)科學(xué)與技術(shù) 2010.11.3 信息工程學(xué)院制 目 錄 1課程設(shè)計(jì)過程概述 ……………………………………………………………………….1 2課程設(shè)計(jì)題目描述和基本設(shè)計(jì)要求……………………………………………………...1 2.1課程設(shè)計(jì)題目描述……………………………………………………………………..1 2.2基本設(shè)計(jì)要求…………………………………………………………………………..1.3系統(tǒng)需求分析與設(shè)計(jì)………………………………………………………………………1 3.1系統(tǒng)需求分析…………………………………………………………………………..1 3.2其他需求分析…………………………………………………………………………..1 3.3系統(tǒng)設(shè)計(jì)………………………………………………………………………………..1 4各功能模塊設(shè)計(jì)……………………………………………………………………………1 4.1學(xué)生成績(jī)管理系統(tǒng)錄入學(xué)生成績(jī)模塊設(shè)計(jì)…………………………………………..1 4.2求各門課程的平均分模塊設(shè)計(jì)………………………………………………………..2.4.3求各門課程的最高分模塊設(shè)計(jì)………………………………………………………..3 4.4求各門課程的最低分模塊設(shè)計(jì)………………………………………………………..4 4.5查詢所有學(xué)生信息的模塊設(shè)計(jì)………………………………………………………..5 4.6查詢個(gè)別學(xué)生成績(jī)的模塊設(shè)計(jì)………………………………………………………..5 4.7退出系統(tǒng)的模塊設(shè)計(jì)……………………………………………………………….….6 5系統(tǒng)總代碼……………………………………………………………………………..…..7 6課程設(shè)計(jì)總結(jié)……………………………………………………………………………...10.6.1遇到的問題及解決辦法……………………………………………………………….10 6.2心得體會(huì)……………………………………………………………………………….10.學(xué)生成績(jī)管理系統(tǒng) 1課程設(shè)計(jì)過程概述 在2010年11月,我們進(jìn)行了JAVA課程的第一個(gè)課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng),要求我們?cè)谡n后完成,并且及時(shí)接受答辯。這次課程設(shè)計(jì)的主要目的是結(jié)合Java程序設(shè)計(jì)課程,培養(yǎng)我們的思維,提高用Java編程的實(shí)際動(dòng)手能力并增強(qiáng)大家對(duì)JavaZ這門課程的了解。這次課程設(shè)計(jì)的主要內(nèi)容是獨(dú)立用Java語(yǔ)言開發(fā)一個(gè)小的應(yīng)用程序,學(xué)生成績(jī)管理系統(tǒng),從而深刻體會(huì)Java的應(yīng)用性及其作用。 2課程設(shè)計(jì)題目描述和基本設(shè)計(jì)要求 2.1課程設(shè)計(jì)題目描述 我們?cè)O(shè)計(jì)的是學(xué)生成績(jī)管理系統(tǒng)。主要用到的是做一個(gè)學(xué)生成績(jī)管理的界面,可以在很短的時(shí)間內(nèi)存儲(chǔ)學(xué)生信息,并且及時(shí)查到某個(gè)學(xué)生的相關(guān)信息。2.2基本設(shè)計(jì)要求 (1)系統(tǒng)安全、靈活、可靠; (2)功能齊全; (3)操作方便、簡(jiǎn)單,界面友好; 3系統(tǒng)需求分析與設(shè)計(jì) 3.1系統(tǒng)需求分析 功能目標(biāo): ? 輸入班級(jí)n個(gè)同學(xué)的學(xué)號(hào),姓名,四科成績(jī)(應(yīng)用數(shù)學(xué)、大學(xué)英語(yǔ)、Java程序設(shè)計(jì)、計(jì)算機(jī)應(yīng)用基礎(chǔ)) ? 計(jì)算出每個(gè)學(xué)生四門課的平均成績(jī),并輸出。 ? 輸出全組各科平均分,最高分和最低分。? 輸入姓名查詢成績(jī) 3.2其他需求分析 技能要求: ? 通過定義學(xué)生類,建立學(xué)生對(duì)象,學(xué)會(huì)運(yùn)用面向?qū)ο笏枷脒M(jìn)行程序設(shè)計(jì)。 ? 通過對(duì)學(xué)生信息的輸入/輸出,初步掌握J(rèn)ava基本輸入/輸出方法。? 通過菜單處理,掌握字符界面的菜單處理能力。? 了解復(fù)雜問題的分析、設(shè)計(jì)、規(guī)劃的一般流程。 3.3系統(tǒng)設(shè)計(jì) 要求學(xué)生成績(jī)管理系統(tǒng)用字符界面實(shí)現(xiàn)、也可用圖形界面實(shí)現(xiàn),并能實(shí)現(xiàn)客戶端的查閱。 4各功能模塊設(shè)計(jì) 4.1學(xué)生成績(jī)管理系統(tǒng)錄入學(xué)生成績(jī)模塊設(shè)計(jì) 錄入學(xué)生的成績(jī),可以方便用戶管理更多的信息 主要的功能代碼: case 1: for(i=0;i System.out.print(“請(qǐng)輸入該生的學(xué)號(hào):”);s[i].num=in.skip(“n”).nextLine();System.out.print(“請(qǐng)輸入該生的姓名:”);s[i].name=in.nextLine();System.out.print(“請(qǐng)輸入該生的應(yīng)用數(shù)學(xué)成績(jī):”);s[i].Math_1=in.nextDouble();System.out.print(“請(qǐng)輸入該生的英語(yǔ)成績(jī):”);s[i].English=in.nextDouble();System.out.print(“請(qǐng)輸入該生的java成績(jī):”);s[i].Java_1=in.nextDouble();System.out.print(“請(qǐng)輸入該生的計(jì)算機(jī)成績(jī):”);s[i].Computer=in.nextDouble(); } break;圖1 4.2求各門課程的平均分模塊設(shè)計(jì) 在這一界面我們要通過已有的數(shù)據(jù),得出各門學(xué)科的平均分 主要的功能代碼: case 2: double Math_1sum=0,Englishsum=0,Java_1sum=0,Computersum=0;double Math_1pj=0,Englishpj=0,Java_1pj=0,Computerpj=0;for(i=0;i Englishsum=Englishsum+s[i].English;Java_1sum=Java_1sum+s[i].Java_1;Computersum=Computersum+s[i].Computer;} Math_1pj=Math_1sum/i;Englishpj=Englishsum/i;Java_1pj=Java_1sum/i;Computerpj=Computersum/i;System.out.println(i+“位同學(xué)應(yīng)用數(shù)學(xué)的平均分為:”+Math_1pj);System.out.println(i+“位同學(xué)英語(yǔ)的平均分為:”+Englishpj);System.out.println(i+“位同學(xué)Java的平均分為:”+Java_1pj);System.out.println(i+“位同學(xué)計(jì)算機(jī)的平均分為:”+Computerpj);break; 圖2 4.3求各門課程的最高分模塊設(shè)計(jì) 在聊天界面中,用戶可以得出各門課程的最高分 主要的界面代碼為: case 3: double Math_1max=0,Englishmax=0,Java_1max=0,Computermax=0;for(i=0;i if(s[i].Math_1>Math_1max) Math_1max=s[i].Math_1;if(s[i].English>Englishmax) Englishmax=s[i].English;if(s[i].Java_1>Java_1max) Java_1max=s[i].Java_1;if(s[i].Computer>Computermax)Computermax=s[i].Computer; } System.out.println(“應(yīng)用數(shù)學(xué)最高分:”+Math_1max);System.out.println(“英語(yǔ)最高分:”+Englishmax);System.out.println(“Java最高分:”+Java_1max);System.out.println(“計(jì)算機(jī)最高分:”+Computermax);break;圖3 4.4求各門課程的最低分模塊設(shè)計(jì) 主要是能得出各門課程的最低分 主要的界面代碼為: case 4: double Math_1min=120,Englishmin=120,Java_1min=120,Computermin=120;for(i=0;i Math_1min=s[i].Math_1;if(s[i].English Englishmin=s[i].English; if(s[i].Java_1 Java_1min=s[i].Java_1;if(s[i].Computer } System.out.println(“應(yīng)用數(shù)學(xué)最低分:”+Math_1min);System.out.println(“英語(yǔ)最低分:”+Englishmin);System.out.println(“Java最低分:”+Java_1min);System.out.println(“計(jì)算機(jī)最低分:”+Computermin);break; 圖4 4.5查詢所有學(xué)生信息的模塊設(shè)計(jì) 主要是為了快速的查出所有學(xué)生的信息 主要的界面代碼為: case 5: for(i=0;i System.out.print(“姓名:”+s[i].name);System.out.print(“應(yīng)用數(shù)學(xué):”+s[i].Math_1);System.out.print(“英語(yǔ):”+s[i].English);System.out.print(“Java:”+s[i].Java_1);System.out.println(“計(jì)算機(jī):”+s[i].Computer);} break;圖5 4.6查詢個(gè)別學(xué)生成績(jī)的模塊設(shè)計(jì) 主要是為了快速的查出個(gè)別學(xué)生的信息 主要的界面代碼為: case 6: System.out.print(“請(qǐng)輸入要查找的姓名:”);int j=0;String name=in.skip(“n”).nextLine();for(i=0;i System.out.println(“學(xué)號(hào):”+s[i].num); System.out.println(“姓名:”+s[i].name); System.out.println(“應(yīng)用數(shù)學(xué):”+s[i].Math_1); System.out.println(“英語(yǔ):”+s[i].English); System.out.println(“Java:”+s[i].Java_1); System.out.println(“計(jì)算機(jī):”+s[i].Computer); j=s.length;} } if(j==0) System.out.println(“沒有你要查找的人,請(qǐng)確認(rèn)后再查找!”); 圖6 break; 查無(wú)此人的情況下: 4.7退出系統(tǒng)的模塊設(shè)計(jì) 當(dāng)查詢結(jié)束的時(shí)候可以順利的退出。 主要的界面代碼為: case 7: System.out.println(“byebye!”); System.exit(0);default: System.out.println(“您輸入的數(shù)字有誤,應(yīng)為1~7”);圖7 5系統(tǒng)總代碼 import java.util.*;class Student{ String num; String name;double Math_1,English,Java_1,Computer; } public class StudentMassage{ public static void main(String[] args){ Student[]s=new Student[3];int i;for(i=0;i } while(true){ System.out.println(“**********學(xué)生成績(jī)管理系統(tǒng)**********”);System.out.println(“1.錄入學(xué)生成績(jī)”);System.out.println(“2.求各門課程的平均分”); System.out.println(“3.求各門課程的最高分”);System.out.println(“4.求各門課程的最低分”);System.out.println(“5.查詢所有學(xué)生信息”);System.out.println(“6.查詢個(gè)別學(xué)生成績(jī)”);System.out.println(“7.退出系統(tǒng)”);System.out.print(“請(qǐng)選擇:”);Scanner in=new Scanner(System.in);int x=in.nextInt(); switch(x){ case 1: for(i=0;i System.out.println(“請(qǐng)輸入第”+(i+1)+“個(gè)學(xué)生的成績(jī)信息”); System.out.print(“請(qǐng)輸入該生的學(xué)號(hào):”); s[i].num=in.skip(“n”).nextLine();System.out.print(“請(qǐng)輸入該生的姓名:”);s[i].name=in.nextLine();System.out.print(“請(qǐng)輸入該生的應(yīng)用數(shù)學(xué)成績(jī):”);s[i].Math_1=in.nextDouble();System.out.print(“請(qǐng)輸入該生的英語(yǔ)成績(jī):”);s[i].English=in.nextDouble();System.out.print(“請(qǐng)輸入該生的java成績(jī):”);s[i].Java_1=in.nextDouble();System.out.print(“請(qǐng)輸入該生的計(jì)算機(jī)成績(jī):”);s[i].Computer=in.nextDouble();} break;case 2: double Math_1sum=0,Englishsum=0,Java_1sum=0,Computersum=0;double Math_1pj=0,Englishpj=0,Java_1pj=0,Computerpj=0; for(i=0;i Math_1sum=Math_1sum+s[i].Math_1;Englishsum=Englishsum+s[i].English;Java_1sum=Java_1sum+s[i].Java_1;Computersum=Computersum+s[i].Computer;} Math_1pj=Math_1sum/i;Englishpj=Englishsum/i;Java_1pj=Java_1sum/i;Computerpj=Computersum/i;System.out.println(i+“位同學(xué)應(yīng)用數(shù)學(xué)的平均分為:”+Math_1pj);System.out.println(i+“位同學(xué)英語(yǔ)的平均分為:”+Englishpj);System.out.println(i+“位同學(xué)Java的平均分為:”+Java_1pj);System.out.println(i+“位同學(xué)計(jì)算機(jī)的平均分為:”+Computerpj);break;case 3: double Math_1max=0,Englishmax=0,Java_1max=0,Computermax=0;for(i=0;i Math_1max=s[i].Math_1;if(s[i].English>Englishmax) Englishmax=s[i].English;if(s[i].Java_1>Java_1max) Java_1max=s[i].Java_1;if(s[i].Computer>Computermax)Computermax=s[i].Computer; } System.out.println(“應(yīng)用數(shù)學(xué)最高分:”+Math_1max);System.out.println(“英語(yǔ)最高分:”+Englishmax);System.out.println(“Java最高分:”+Java_1max);System.out.println(“計(jì)算機(jī)最高分:”+Computermax);break;case 4: double Math_1min=120,Englishmin=120,Java_1min=120,Computermin=120; for(i=0;i Math_1min=s[i].Math_1; if(s[i].English Englishmin=s[i].English;if(s[i].Java_1 Java_1min=s[i].Java_1;if(s[i].Computer } System.out.println(“應(yīng)用數(shù)學(xué)最低分:”+Math_1min);System.out.println(“英語(yǔ)最低分:”+Englishmin);System.out.println(“Java最低分:”+Java_1min);System.out.println(“計(jì)算機(jī)最低分:”+Computermin); } } } } break;case 5: for(i=0;i System.out.print(“學(xué)號(hào):”+s[i].num); System.out.print(“姓名:”+s[i].name); System.out.print(“應(yīng)用數(shù)學(xué):”+s[i].Math_1); System.out.print(“英語(yǔ):”+s[i].English); System.out.print(“Java:”+s[i].Java_1); System.out.println(“計(jì)算機(jī):”+s[i].Computer);} break;case 6: System.out.print(“請(qǐng)輸入要查找的姓名:”);int j=0;String name=in.skip(“n”).nextLine();for(i=0;i if(s[i].name.equals(name)){ System.out.println(“學(xué)號(hào):”+s[i].num); System.out.println(“姓名:”+s[i].name); System.out.println(“應(yīng)用數(shù)學(xué):”+s[i].Math_1); System.out.println(“英語(yǔ):”+s[i].English); System.out.println(“Java:”+s[i].Java_1); System.out.println(“計(jì)算機(jī):”+s[i].Computer); j=s.length;} } if(j==0)System.out.println(“沒有你要查找的人,請(qǐng)確認(rèn)后再查找!”);break;case 7: System.out.println(“byebye!”); System.exit(0);default: System.out.println(“您輸入的數(shù)字有誤,應(yīng)為1~7”);6課程設(shè)計(jì)總結(jié) 6.1遇到的問題及解決辦法 在此次課程設(shè)計(jì)中,我遇到了一些問題,如:不能很好的將C語(yǔ)言的代碼轉(zhuǎn)化成Java語(yǔ)言,對(duì)于Java語(yǔ)言,只學(xué)習(xí)到了一些最基本的知識(shí),這導(dǎo)致編寫程序時(shí)經(jīng)常出現(xiàn)一些語(yǔ)法錯(cuò)誤,而且要在短時(shí)間內(nèi)用Java語(yǔ)言來(lái)設(shè)計(jì)一個(gè)具體的系統(tǒng)是一個(gè)較大的挑戰(zhàn);自己感覺難以動(dòng)手,這表明所學(xué)的知識(shí)不能靈活運(yùn)用到實(shí)際中。 對(duì)于以上的問題,自己有清楚的認(rèn)識(shí),首先必須要對(duì)計(jì)算機(jī)產(chǎn)生興趣,多閱讀相關(guān)的書籍,多跟精通此方面的老師和同學(xué)交流、像他們學(xué)習(xí)。還有就是應(yīng)該多動(dòng)手編程。6.2心得體會(huì) 由于對(duì)java這門課還未深入了解,這是第一次小組合作設(shè)計(jì)程序,剛開始我們對(duì)它真的是很無(wú)措的,不知道該從哪里入手;經(jīng)過指導(dǎo)老師的部分講解和演示,我們茅塞頓開,著手開始編寫代碼,可是寫著寫著就出現(xiàn)問題了,程序?qū)崿F(xiàn)不了,也改不出錯(cuò)誤;后來(lái)無(wú)意中一位組員將字體改變了一下,程序錯(cuò)誤變少了。檢查一發(fā)現(xiàn)我們程序中字體錯(cuò)竟占絕大部分。再想想,這是因?yàn)槲覀儗懙倪^程中不夠仔細(xì),對(duì)細(xì)節(jié)問題還不夠注重,以致最后的程序出現(xiàn)大批量的錯(cuò)誤。不過在我們的后續(xù)檢查中,這一問題已經(jīng)完全解決了。當(dāng)然,寫的過程中遇到的問題肯定不止這樣的,但最后在指導(dǎo)師與我們齊心協(xié)力的修改后,這些難題將不是問題了。程序完成后,我們真的很開心,雖然困難重重,但我們最終還是有了一個(gè)很好的結(jié)束啊。 這個(gè)實(shí)驗(yàn)讓我們對(duì)java有更進(jìn)一步的了解,也讓我們對(duì)它產(chǎn)生了極大地興趣,希望我們以后兩次的實(shí)驗(yàn)也能順利完成。 //*學(xué)生成績(jī)管理系統(tǒng)*// #include #define N 3 struct student { int no; char name[20]; float english; float computer; float math; float average; }; void getclass(struct student *class_gishui) { int i; printf(“請(qǐng)輸入%d個(gè)學(xué)生的學(xué)號(hào) 姓名 英語(yǔ) 計(jì)算機(jī) 數(shù)學(xué)n”,N); for(i=0;i { printf(“第%d個(gè)學(xué)生”,i+1); scanf(“%d%s%f%f%f”,&class_gishui[i].no,&class_gishui[i].name,&class_gishui[i].english,&class_gishui[i].computer,&class_gishui[i].math); } } void print_class(struct student *class_gishui) { int i; for(i=0;i { class_gishui[i].average=(class_gishui[i].english+class_gishui[i].computer+class_gishui[i].math)/3; } printf(“學(xué)生信息表如下:n”); printf(“學(xué)號(hào)tt姓名tt英語(yǔ)tt計(jì)算機(jī)tt數(shù)學(xué)tt平均成績(jī)n”); for(i=0;i printf(“%dtt%stt%ft%ft%ft%fn”,class_gishui[i].no,class_gishui[i].name,class_gishui[i].english,class_gishui[i].computer,class_gishui[i].math,class_gishui[i].average); } void paixu(struct student *class_gishui) { int i,j,flag; struct student t[1]; for(i=0;(i { flag=0; for(j=0;j if(class_gishui[j].average>class_gishui[j+1].average) { t[0]=class_gishui[j]; class_gishui[j]=class_gishui[j+1]; class_gishui[j+1]=t[0]; flag=1; } if(flag==0) break; } printf(“排序后學(xué)生成績(jī)?yōu)椋簄”); printf(“學(xué)號(hào)t姓名t英語(yǔ)tt計(jì)算機(jī)tt數(shù)學(xué)tt平均成績(jī)n”); for(i=0;i printf(“%dt%st%ft%ft%ft%fn”,class_gishui[i].no,class_gishui[i].name,class_gishui[i].english,class_gishui[i].computer,class_gishui[i].math,class_gishui[i].average); } void main() { struct student class_gishui[N]; getclass(class_gishui); print_class(class_gishui); paixu(class_gishui); } Option Explicit Option Base 1 Dim st()As String Dim grade()As chengji, str1$, str2$, prog()As kecheng Private Sub chengji_Click()' 輸出序號(hào)、成績(jī)及分?jǐn)?shù) Cls Dim i% Print str1 For i = LBound(grade)To UBound(grade)Print grade(i).xh;grade(i).xm;Space(4Len(Trim(grade(i).xm)));grade(i).score(1);grade(i).score(2);Spc(5);grade(i).score(3);Spc(8);grade(i).score(4);Spc(8);grade(i).score(5);Spc(4);grade(i).aver Next i End Sub Private Sub kecheng_Click()'在窗口輸出課程的內(nèi)容 Cls Dim i% Print str2 For i = LBound(prog)To UBound(prog)Print prog(i).bh;Spc(12);prog(i).name;Spc(12);prog(i).xf Next i End Sub Private Sub paiming_Click()'利用加權(quán)平均分排名 Dim i%, j%, m%, n%, p% Cls Print str1 & “ 加權(quán)平均分” & “ 排名” m = LBound(grade): n = UBound(grade)For i = m To n p = 1 For j = 1 To n If grade(i).aver < grade(j).aver Then p = p + 1 grade(i).rank = p Next j Next i For i = m To n Print grade(i).xh;grade(i).xm;Space(4-Len(Trim(grade(i).xm)));grade(i).score(1);grade(i).score(2);Spc(5);grade(i).score(3);Spc(8);grade(i).score(4);Spc(8);grade(i).score(5);Spc(2);grade(i).aver, grade(i).rank Next i End Sub Private Sub pjf_Click()Cls Dim i%, j%, n%, m%, sum% m = UBound(prog): n = UBound(grade)Print str2;Spc(4);“平均分” For i = 1 To 5 sum = 0 For j = 1 To n sum = sum + grade(j).score(i)prog(i).pjf = sum / n Next j Print prog(i).bh;Spc(10);prog(i).name;Spc(10);prog(i).xf;Spc(10);prog(i).pjf Next i End Sub Private Sub renshu_Click()Cls Dim bn(1 To 5, 5 To 9)As Integer, t As Integer, x As Integer, i%, j%, m%, n% n = UBound(prog): m = UBound(grade)Print “范圍”;Spc(1);“<60”;Spc(7);“60~70”;Spc(7);“70~80”;Spc(7);“ 80~90”;Spc(7);“90~100” For j = 1 To n For i = 1 To m Select Case grade(i).score(j)Case 0 To 60 bn(j, 5)= bn(j, 5)+ 1 Case 60 To 70 bn(j, 6)= bn(j, 6)+ 1 Case 70 To 80 bn(j, 7)= bn(j, 7)+ 1 Case 80 To 90 bn(j, 8)= bn(j, 8)+ 1 Case 90 To 100 bn(j, 9)= bn(j, 9)+ 1 End Select Next i Print prog(j).name;bn(j, 5), bn(j, 6), bn(j, 7), bn(j, 8), bn(j, 9)Next j End Sub Private Sub bujige_Click()Cls Dim i%, j%, t% Print Spc(2);“學(xué)號(hào)”;Spc(5);“姓名”;Spc(5);“不及格課程”;Spc(6);“學(xué)分”;Spc(4);“成績(jī)” For i = 1 To UBound(grade) t = 0 For j = 1 To UBound(prog) If grade(i).score(j)< 60 Then t = t + 1 End If If t > 1 And grade(i).score(j)< 60 Then Print Tab(25);prog(j).name;Tab(38);Format(prog(j).xf, “0.0”);Spc(2);grade(i).score(j) ElseIf t = 1 And grade(i).score(j)< 60 Then Print Spc(3);grade(i).xh;grade(i).xm;Tab(25);prog(j).name;Tab(38);Format(prog(j).xf, “0.0”);Spc(4);grade(i).score(j) End If Next j Next i End Sub Private Sub youdengsheng_Click()Cls Dim i%, j%, t% Print Tab(3);“學(xué)號(hào)”;Spc(6);“姓名”;Spc(4);“英語(yǔ)”;Spc(4);“數(shù)學(xué)”;Spc(4);“VB”;Spc(3);“物理”;Spc(3);“專業(yè)概論”;Spc(3);“平均成績(jī)”;Spc(3);“名次” For i = 1 To UBound(grade) t = 0 For j = 1 To UBound(prog) If grade(i).score(j)>= 95 Then t = t + 1 End If Next j If grade(i).aver >= 90 Or grade(i).rank <= 3 Or(t = 2 And grade(i).aver >= 85)Then Print Tab(3);grade(i).xh;Tab(13);grade(i).xm;Tab(21);grade(i).score(1);Spc(3);grade(i).score(2);Spc(3);grade(i).score(3);Spc(3);grade(i).score(4);Spc(3);grade(i).score(5);Spc(8);Format(grade(i).aver, “0.00”);Spc(5);grade(i).rank End If Next i End Sub Private Sub chengjitiao_click()Cls Dim i% For i = LBound(grade)To UBound(grade)Print “學(xué)號(hào)”;Spc(6);“姓名”;Spc(8);“英語(yǔ)”;Spc(6);“數(shù)學(xué)”;Spc(4);“體育”;Spc(6);“物理”;Spc(5);“化學(xué)”;Spc(6);“加權(quán)平均分”;Spc(5);“平均分”;Spc(5);“名次” Print Spc(2);grade(i).xh;grade(i).xm;Spc(0);grade(i).score(1);Spc(5);grade(i).score(2);Spc(5);grade(i).score(3);Spc(5);grade(i).score(4);Spc(5);grade(i).score(5);Spc(9);grade(i).aver;Spc(7);grade(i).aver;Spc(5);grade(i).rank Next i End Sub 目錄 目 錄 摘要.......................................................................................錯(cuò)誤!未定義書簽。Abstract....................................................................................錯(cuò)誤!未定義書簽。目 錄..........................................................................................................................Ⅲ 第一章 引言............................................................................錯(cuò)誤!未定義書簽。 1.1 課題的背景..................................................................錯(cuò)誤!未定義書簽。1.2 課題研究的內(nèi)容.............................................................................................1 1.2.1 課題來(lái)源...............................................................................................1 1.2.2 課題的意義...........................................................................................2 1.2.3 系統(tǒng)開發(fā)的可行性分析和預(yù)期目標(biāo)...................................................2 第二章 關(guān)鍵技術(shù)分析............................................................................................5 2.1 Microsoft Visual Studio 2005...........................................................................5 2.2 C#.NET簡(jiǎn)介....................................................................................................5 2.3 ADO.NET對(duì)象................................................................................................6 2.4 使用SQL Sever 2000 實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)....................................................7 2.4.1 SQL Server 2000數(shù)據(jù)庫(kù).......................................................................7 2.4.2 SQL Server 2000的主要功能...............................................................8 2.4.3 客戶端應(yīng)用程序開發(fā).........................................................................10 2.4.4 服務(wù)器應(yīng)用程序開發(fā).........................................................................11 第三章 系統(tǒng)設(shè)計(jì)與分析.....................................................................................13 3.1 需求分析.......................................................................................................13 3.2 系統(tǒng)總體設(shè)計(jì)原則.......................................................................................13 3.3 系統(tǒng)業(yè)務(wù)流程圖...........................................................................................15 第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)..............................................................................................17 4.1 系統(tǒng)功能描述...............................................................................................17 4.2 功能模塊劃分...............................................................................................18 4.3 系統(tǒng)數(shù)據(jù)庫(kù)的組成.......................................................................................19 4.3.1系統(tǒng)的實(shí)體關(guān)系模型..........................................................................19 4.3.2 數(shù)據(jù)庫(kù)的具體設(shè)計(jì).............................................................................20 4.4 系統(tǒng)安全性設(shè)計(jì)...........................................................................................22 4.4.1 系統(tǒng)安全性構(gòu)成.................................................................................22 4.4.2 系統(tǒng)安全性設(shè)計(jì).................................................................................23 III 目錄 第五章 各功能模塊的設(shè)計(jì)與實(shí)現(xiàn)....................................................................24 5.1 登陸界面。...................................................................................................24 5.2 主窗體頁(yè)面。...............................................................................................27 5.3 管理員模塊設(shè)計(jì)...........................................................................................28 5.3.1 管理員權(quán)限設(shè)計(jì).................................................................................28 5.3.2 學(xué)生成績(jī)管理.....................................................................................30 5.4 教師模塊設(shè)計(jì)………………………………………………………………33 5.4.1 教師權(quán)限設(shè)計(jì).....................................................................................33 5.4.2 學(xué)生成績(jī)管理頁(yè)面.............................................................................34 5.4.3 學(xué)生成績(jī)查詢頁(yè)面.............................................................................38 5.5 學(xué)生模塊設(shè)計(jì)..............................................................錯(cuò)誤!未定義書簽。 5.5.1學(xué)生權(quán)限設(shè)計(jì).....................................................錯(cuò)誤!未定義書簽。5.5.2學(xué)生成績(jī)查詢.....................................................錯(cuò)誤!未定義書簽。5.6 系統(tǒng)管理.......................................................................................................39 5.7.1密碼修改頁(yè)面......................................................................................39 5.7.2密碼修改代碼......................................................................................40 結(jié) 論........................................................................................................................43 參考文獻(xiàn)....................................................................................................................44 致 謝........................................................................................................................45 IV第二篇:學(xué)生成績(jī)管理報(bào)告
第三篇:學(xué)生成績(jī)管理系統(tǒng)
第四篇:簡(jiǎn)易學(xué)生成績(jī)管理系統(tǒng)
第五篇:畢業(yè)設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)