完整版包含3个JAVA学生成绩管理系统的毕业课程设计.docx
《完整版包含3个JAVA学生成绩管理系统的毕业课程设计.docx》由会员分享,可在线阅读,更多相关《完整版包含3个JAVA学生成绩管理系统的毕业课程设计.docx(54页珍藏版)》请在冰豆网上搜索。
完整版包含3个JAVA学生成绩管理系统的毕业课程设计
JAVA程序设计
——包含多个实例(让你更加容易学习知识、找到自己想要的东西)
第一个:
学生成绩管理系统
目录1
一、引言2
1.1课程设计目的2
1.2题目说明2
1.3开发工具介绍2
二、总体设计3
2.1系统开发平台3
2.2系统流程图4
2.3功能结构图4
2.4数据库设计4
三、详细说明4
3.1系统实施5
四、系统的调试和运行9
五、课程设计总结9
六、参考文献9
附录(源程序代码)10
一、引言
1.1课程设计目的
1)复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;
3)培养学生在项目开发中团队合作精神,创新意识及能力。
1.2题目说明
课题:
学生成绩管理
功能要求:
1、输入十个同学的学号,姓名,四科成绩(应用数学,大学英语,Java程序设计,计算机应用基础)。
2、计算出平均成绩,以平均成绩降序输出成绩表。
3、输入学号查询学生信息。
4、输出全组各科平均分。
5、统计各分数段人数
6、删除记录
7、输出各科最高分和最低分。
8、退出。
界面要示:
用字符界面实现,也可用图形界面实现。
1.3开发工具介绍
Eclipse是一种可扩展的开放源代码IDE。
2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。
集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。
为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。
事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、CC++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的VisualStudio和Sun微系统公司的NetBeans平台。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。
Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。
这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。
缺点就是较复杂,对初学者来说,理解起来较困难。
二、总体设计
2.1系统开发平台
前断使用JAVA设计
2.2系统流程图
2.3功能结构图
三、详细说明
该学生成绩管理系统具备输入、输出学生信息(包括学生姓名、学号、各科成绩、平均分、总分),并按平均分排序,输入学号进行查询学生信息,统计各分数段人数,计算各科平均分并输出最高、最低平均分,删除记录。
具体功能的详细描述如下:
1、当进入“学生成绩管理系统”界面时,根据提示按“1”将进入“输入记录”界面,此时将输入学生的基本信息,包括学生姓名、学号、各科成绩。
输入“2”时将看到学生的基本信息。
输入“3”对此学生的平均分进行排序。
输入“4”再输入学生学号如“01”将查找出此学生信息,并显示在屏幕上。
输入“5”将统计每个分数段的人数。
输入“6”再输入学号如“02”将删除此学生的相关信息,再输入“2”既将显示删除后
的学生信息。
输入“7”则将各科平均分清晰的显示出。
输入“8”则将其中最高与最低分显示出来。
输入“0”将推出此系统。
2、算出每人平均分分数段的人数。
3、调用方法action7来输出各科成绩的平均分。
4、调用方法action8来输出各科成绩的最高分和最低分。
5、方法clrscr来进行换行输出。
3.1系统实施
第一部分:
importjava.io.*;
publicclassProgram{
publicstaticvoidmain(String[]args){
{
while(true)
{
Menu.paint();
intctrlTag=Console.readInt();
switch(ctrlTag)
{
case1:
{
Menu.action1();
break;
}
case2:
{
Menu.action2();
break;
}
case3:
{
Menu.action3();
break;
}
case4:
{
Menu.action4();
break;
}
case5:
{
Menu.action5();
break;
}
case6:
{
Menu.action6();
break;
}
case7:
{
Menu.action7();
break;
}
case8:
{
Menu.action8();
break;
}
case0:
{
System.exit(0);
break;
}
}
}
}
}
}
第二部分:
publicstaticintstat(intmin,intmax)
{
intsum=0;
for(inti=0;i{
if((data[i].getAverage()>=min)&&(data[i].getAverage()<=max))
{
sum++;
}
}
returnsum;
}
第三部分(如图1):
publicstaticvoidaction7()
{
clrscr();
System.out.println("*英语平均分:
"+Student.l5);
System.out.println("*数学平均分:
"+Student.m5);
System.out.println("*java平均分:
"+Student.s5);
System.out.println("*计算机平均分:
"+Student.o5);
}
(图1)
第四部分(如图2):
publicstaticvoidaction8()
{
clrscr();
System.out.println("英语最高分:
"+Student.a1+"英语最低分:
"+Student.a2);
System.out.println("数学最高分:
"+Student.b1+"数学最低分:
"+Student.b2);
System.out.println("java最高分:
"+Student.c1+"java最低分:
"+Student.c2);
System.out.println("计算机最高分:
"+Student.d1+"计算机最低分:
"+Student.d2);
}
(图2)
第五部分:
publicstaticvoidclrscr()
{tempfunction
System.out.println();
System.out.println();
}
四、系统的调试和运行
1、因小组成员都参与程序编写,故结合在一起时,出现了不匹配。
在经过多次调试和修改后,成功运行了程序。
2、在编写类方法时,方法名后面忘加“()”,导致编译错误。
3、在输程序过程中,由于不断的有中英文切换,致使一些标点符号不合法。
在复检程序时也特别注意了此环节。
五、课程设计总结
本次课程设计,让我获益匪浅,不仅更深入的了解Java这门学科,更使自己有了继续探索的兴趣。
于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。
在今后的学习中,我定将“认真严谨时刻作为自的谨言。
与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。
总之,此次课程设计在我的学生生涯中启上了至关重要的作用。
最后,真诚的感谢陈珂、顾成喜老师的指导和教诲。
六、参考文献
按照以下格式书写
[1]权明富,齐佳音,舒华英.客户价值评价指标体系设计[J].南开管理评论,2004,7(3):
17-18.
[2]刘小洪,邹鹏.商业银行客户关系价值管理模型研究[J].管理科学,2005,18(3):
57-60.
附录(源程序代码)
importjava.io.*;
publicclassProgram{
publicstaticvoidmain(String[]args){
{
while(true)
{
Menu.paint();
intctrlTag=Console.readInt();
switch(ctrlTag)
{
case1:
{
Menu.action1();
break;
}
case2:
{
Menu.action2();
break;
}
case3:
{
Menu.action3();
break;
}
case4:
{
Menu.action4();
break;
}
case5:
{
Menu.action5();
break;
}
case6:
{
Menu.action6();
break;
}
case7:
{
Menu.action7();
break;
}
case8:
{
Menu.action8();
break;
}
case0:
{
System.exit(0);
break;
}
}
}
}
}
}
classStudent{
privateintnumber;
privateStringname;
privateintenglish;
privateintmath;
privateintjava;
privateintcomputer;
privateintaverage;
privateinttotal;
staticintl,m,s,o;
staticinta1,b1,c1,d1,a2=100,b2=100,c2=100,d2=100;
publicStudent(intnumber,Stringname,intenglish,intmath,intjava,intcomputer)
{
this.number=number;
this.name=name;
this.english=english;
this.math=math;
this.java=java;
thisputer=computer;
l+=english;
m+=math;
s+=java;
o+=computer;
if(english>a1)a1=english;
if(math>b1)b1=math;
if(java>c1)c1=java;
if(computer>d1)d1=computer;
if(englishif(mathif(javaif(computertotal=english+math+java+computer;
average=total4;
}
publicintgetNumber()
{
returnnumber;
}
publicStringgetName()
{
returnname;
}
publicintgetEnglish()
{
returnenglish;
}
publicintgetMath()
{
returnmath;
}
publicintgetJava()
{
returnjava;
}
publicintgetComputer()
{
returncomputer;
}
publicintgetAverage()
{
returnaverage;
}
publicintgetTotal()
{
returntotal;
}
publicintgetL()
{
returnl;
}
publicintgetM()
{
returnm;
}
publicintgetS()
{
returns;
}
publicintgetO()
{
returno;
}
publicintgetA1()
{
returna1;
}
publicintgetB1()
{
returnb1;
}
publicintgetC1()
{
returnc1;
}
publicintgetD1()
{
returnd1;
}
publicintgetA2()
{
returna2;
}
publicintgetB2()
{
returnb2;
}
publicintgetC2()
{
returnc2;
}
publicintgetD2()
{
returnd2;
}
}
classStudentSet{
privatestaticfinalintmaxLen=5;
privatestaticintlen=0;
privatestaticStudent[]data=newStudent[maxLen];
publicstaticintgetMaxLen()
{
returnmaxLen;
}
publicstaticintgetLen()
{
returnlen;
}
publicstaticStudentgetData(intindex)
{
returndata[index];
}
publicstaticintaddData(StudentnewData)
{
if(len{
data[len]=newData;
len++;
return0;
}else
{
return-1;
}
}
publicstaticvoidsortData()
{
for(inti=0;i{
intminIndex=i;
for(intj=i+1;j{
if(data[minIndex].getAverage()>data[j].getAverage())
{
minIndex=j;
}
}
if(minIndex!
=i)
{
Studenttemp=data[i];
data[i]=data[minIndex];
data[minIndex]=temp;
}
}
}
publicstaticintsearch(intnumber)
{
for(inti=0;i{
if(data[i].getNumber()==number)
{
returni;
}
}
return-1;
}
publicstaticintdelete(intnumber)
{
for(inti=0;i{
if(data[i].getNumber()==number)
{
for(intj=i+1;j{
data[j-1]=data[j];
}
len--;
return0;
}
}
return-1;
}
publicstaticintstat(intmin,intmax)
{
intsum=0;
for(inti=0;i{
if((data[i].getAverage()>=min)&&(data[i].getAverage()<=max))
{
sum++;
}
}
returnsum;
}
}
classConsole{
publicstaticintreadInt()
{
intresult=0;
try{
Stringtemp=newBufferedReader(newInputStreamReader(System.in)).readLine();
result=Integer.parseInt(temp);
}catch(Exceptione)
{
System.out.println("Error:
"+e);
}
returnresult;
}
publicstaticStringreadSting()
{
Stringresult=null;
try{
result=newBufferedReader(newInputStreamReader(System.in)).readLine();
}catch(Exceptione)
{
System.out.println("Error:
"+e);
}
returnresult;
}
}
classMenu{
publicstaticvoidpaint()
{
clrscr();
for(inti=0;i<80;i++)
{
System.out.print('=');
}
System.out.println();
System.out.println("学生成绩管理系统");
System.out.println();
System.out.println("1输入记录2输出所有记录");
System.out.println("3按平均成绩排序并输出4查找记录");
System.out.println("5统计各分数段人数6删除记录");
System.out.println("7各科平均分8各科最高最低分");
System.out.println("0退出");
for(inti=0;i<80;i++)
{
System.out.print('=');
}
System.out.println();
System.out.print("请输入命令:
");
}
publicstaticintaction1()
{
while(true)
{
clrscr();
System.out.print("待输入记录的学号(输入“-1”退出):
");
intnumber=Console.readInt();
if(number!
=-1)
{
System.out.print("*姓名:
");
Stringname=Console.readSting();
System.out.print("*英语:
");
intenglish=Console.readInt();
System.out.print("*数学:
");
intmath=Console.readInt();
System.out.print("*java:
");
intjava=Console.readInt();
System.out.print("*计算机:
");
intcomputer=Console.readInt();
StudentnewData=newStudent(number,name,english,math,java,computer);
if(StudentSet.addData(newData)==-1)
{
System.out.println("数据溢出!
");
return-2;
}
}else
{
return-1;
}
}
}
publicstaticvoidaction2()
{
clrscr();
if(StudentSet.getLen()==0)
{
System.out.println("没有记录!
");
}else
{
System.out.println("数学|英语|java|计算机|平均|总计");
for(inti=0;i{
System.out.println("学号:
"+StudentSet.getData(i).getNumber()+"姓名:
"+StudentSet.getData(i).getName());
System.out.println(""+StudentSet.getData(i).getMath()+""+StudentSet.getData(i).getEnglish()+"