包含个JAVA学生成绩管理系统的课程设计方案.docx
《包含个JAVA学生成绩管理系统的课程设计方案.docx》由会员分享,可在线阅读,更多相关《包含个JAVA学生成绩管理系统的课程设计方案.docx(64页珍藏版)》请在冰豆网上搜索。
![包含个JAVA学生成绩管理系统的课程设计方案.docx](https://file1.bdocx.com/fileroot1/2023-2/11/8b2d770b-f03e-4ca8-b5f2-99219d4ed21c/8b2d770b-f03e-4ca8-b5f2-99219d4ed21c1.gif)
包含个JAVA学生成绩管理系统的课程设计方案
JAVA程序设计
——包含多个实例<让你更加容易学习知识、找到自己想要的东西)
第一个:
学生成绩管理系统
一、引言
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语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
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。
ii++>
{
if((data[i].getAverage(>>=min>&&(data[i].getAverage(><=max>>
{
sum++。
}
}
returnsum。
}
第三部分(如图1>:
publicstaticvoidaction7(>
{
clrscr(>。
System.out.println("*英语平均分:
"+Student.l/5>。
System.out.println("*数学平均分:
"+Student.m/5>。
System.out.println("*java平均分:
"+Student.s/5>。
System.out.println("*计算机平均分:
"+Student.o/5>。
}
(图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。
puter=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(englisha2=english。
if(mathb2=math。
if(javac2=java。
if(computerd2=computer。
total=english+math+java+computer。
average=total/4。
}
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。
ii++>
{
intminIndex=i。
for(intj=i+1。
jj++>
{
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。
ii++>
{
if(data[i].getNumber(>==number>
{
returni。
}
}
return-1。
}
publicstaticintdelete(intnumber>
{
for(inti=0。
ii++>
{
if(data[i].getNumber(>==number>
{
for(intj=i+1。
jj++>
{
data[j-1]=data[j]。
}
len--。
return0。
}
}
return-1。
}
publicstaticintstat(intmin,intmax>
{
intsum=0。
for(inti=0。
ii++>
{
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。
i++>
{
System.out.println("学号:
"+StudentSet.getData(i>.getNumber(>+"姓名:
"+StudentSet.getData(i>.getName(>>。
System.out.println(""+StudentSet.getData(i>.getMath(>+""+StudentSet.getData(i>.getEnglish(>+""+StudentSet.getData(i>.getJava(>+
""+StudentSet.getData(i>.getComputer(>+""+StudentSet.getData(i>.getAverage(>+""+StudentSet.getData(i>.getTotal(>>。
}
}
}