包含个JAVA学生成绩管理系统的课程设计方案.docx
- 文档编号:10418958
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:64
- 大小:449.16KB
包含个JAVA学生成绩管理系统的课程设计方案.docx
《包含个JAVA学生成绩管理系统的课程设计方案.docx》由会员分享,可在线阅读,更多相关《包含个JAVA学生成绩管理系统的课程设计方案.docx(64页珍藏版)》请在冰豆网上搜索。
包含个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。
i i++> { 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(english if(math if(java if(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。 i i++> { intminIndex=i。 for(intj=i+1。 j 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 i++> { if(data[i].getNumber(>==number> { returni。 } } return-1。 } publicstaticintdelete(intnumber> { for(inti=0。 i i++> { if(data[i].getNumber(>==number> { for(intj=i+1。 j j++> { data[j-1]=data[j]。 } len--。 return0。 } } return-1。 } publicstaticintstat(intmin,intmax> { intsum=0。 for(inti=0。 i 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 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(>>。 } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 包含 JAVA 学生 成绩管理系统 课程设计 方案
![提示](https://static.bdocx.com/images/bang_tan.gif)