学生成绩管理系统JAVA课程设计.docx
- 文档编号:4569050
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:21
- 大小:157.82KB
学生成绩管理系统JAVA课程设计.docx
《学生成绩管理系统JAVA课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统JAVA课程设计.docx(21页珍藏版)》请在冰点文库上搜索。
学生成绩管理系统JAVA课程设计
Java课程设计
课题:
学生成绩管理系统
一、问题及功能分析
1、身份验证,和使用系统的权限设置、判定。
2、实现同学的学号、性别、成绩等信息的录入、编辑
3、提供对学号或姓名,进行成绩或所有信息的查询。
4、计算学生平均成绩,显示最高成绩学生信息
5、能实现按成绩、学号、姓名排序列出学生信息。
6、能统计学生成绩分数段的分布(60以下、60~70、70~80、80~90、90~100)情况,并输出。
7、用文件保存数据,以便反复使用。
二、概要设计
(一)算法的流程图
三、详细设计
学生成绩管理系统代码设计:
importjava.util.*;
importjava.lang.*;
importjava.io.*;
classMytest
{
publicstaticvoidmain(String[]args)
throwsIOException
{
{
intselect;
select=1;
Studentstu[]=newStudent[10];
StudentMismis=newStudentMis();
Scannersc=newScanner(System.in);
System.out.println();
System.out.println("---------------------------------------");
System.out.println("**");
System.out.println("欢迎进入学生成绩管理系统");
System.out.println("**");
System.out.println("---------------------------------------");
while(true)
{
System.out.println();
System.out.println("请选择您的操作:
");
System.out.println("1.录入学生成绩信息;");
System.out.println("2.显示学生成绩信息;");
System.out.println("3.计算学生平均成绩;");
System.out.println("4.显示最高成绩学生信息;");
System.out.println("5.查找学生信息;");
System.out.println("6.修改学生信息;");
System.out.println("7.按成绩排序学生信息;");
System.out.println("8.学生信息库扩容;");
System.out.println("9.学生成绩分段输出;");
System.out.println("0.退出;");
System.out.println("请输入数字选项(0-9):
");
select=sc.nextInt();
System.out.println();
//判断输入,0退出
if(select>=0&&select<=9)
{
switch(select)
{
case1:
mis.Inputstu(stu);
break;
case2:
System.out.println("所有学生成绩信息如下:
");
mis.print(stu);
System.out.println("您选择了显示所有学生成绩信息。
");
break;
case3:
System.out.println("学生平均成绩信息如下:
");
System.out.println("平均成绩:
="+mis.Pingfen(stu));
System.out.println("一共有学生人数为:
"+Student.sumstu);
break;
case4:
System.out.println("最高成绩学生信息如下:
");
mis.Topchengji(stu).print();
break;
case5:
System.out.print("输入需要查找的学生姓名:
");
mis.search(stu);
break;
case6:
System.out.print("输入需要修改的学生姓名:
");
Stringtmp=sc.next();
mis.change(tmp,stu);
break;
case7:
System.out.println("排序后学生信息如下:
");
Student[]sort1=mis.sort(stu);
//mis.print(sort1);
break;
case8:
System.out.println("学生信息扩容进行中.....");
stu=mis.kourong(stu);
System.out.println("学生信息扩容完成.....");
break;
case9:
mis.test(stu);
break;
case0:
System.exit(0);
}
}
else
{
System.out.println("输入错误,请重新输入!
");
continue;
}
}
}
}
}
classStudentMis{
publicStudentMis(){
}
publicvoidInputstu(Studenta[])//增加学生对象,通过键盘接受相关资料
throwsIOException{
Stringtmp;
booleanflat=false;
Scannersc=newScanner(System.in);
intnum=Student.sumstu;
System.out.print("请输入学生的学号:
");
tmp=sc.next();
do//检查学号的唯一性
{
for(inti=0;i if(tmp.equals(a[i].id)){ System.out.println("该学号已存在! "); System.out.print("请输入学生的学号: "); tmp=sc.next(); flat=true; } elseflat=false;//学号不重复 }while(flat); if(num a[num]=newStudent(tmp);//可以增加学生对象,调用带参数的,实际增加 a[num].id=tmp; System.out.print("请输入学生姓名: "); a[num].name=sc.next(); System.out.print("请输入学生成绩: "); a[num].chengji=sc.nextInt(); System.out.println(); } elseSystem.out.println("学生数组已满,要扩容! "); } publicStudentTopchengji(Studenta[]){//查找成绩最高的学生 intmax=a[0].chengji; intid=0; for(inti=1;i if(a[i].chengji>max) {max=a[i].chengji; id=i; } returna[id]; } publicStudentsearch(Studenta[]){//查找学生 Stringtmpname; intsearchid=-1; Scannersc=newScanner(System.in); tmpname=sc.next();//按输入的姓名去查找 for(inti=0;i if(tmpname.equals(a[i].name)){ a[i].print(); searchid=i; } } if(searchid==-1){ System.out.println("没有符合条件的学生"); returnnull; } elsereturna[searchid]; } publicStudentsearch(Stringname,Studenta[]){//按姓名去查找学生 intsearchid=-1; for(inti=0;i if(name.equals(a[i].name)){ a[i].print(); searchid=i; } } if(searchid==-1){ System.out.println("没有符合条件的学生"); returnnull; } elsereturna[searchid]; } publicvoidtest(Studenta[]){ intb=0,c=0,d=0,e=0,f=0; for(inti=0;i if(a[i].chengji<60){ b++; System.out.print("成绩小于60的学生"); a[i].print();} if(a[i].chengji>=60&&a[i].chengji<70){ c++; System.out.println("成绩在60-70的学生"); a[i].print();} if(a[i].chengji>=70&&a[i].chengji<80){ d++; System.out.println("成绩在70-80的学生"); a[i].print();} if(a[i].chengji>=80&&a[i].chengji<90){ e++; System.out.println("成绩在80-90的学生"); a[i].print();} if(a[i].chengji>=90&&a[i].chengji<=100){ f++; System.out.println("成绩在90-100的学生"); a[i].print();} } System.out.println("成绩在<60的学生总数为\t"+b); System.out.println("成绩在60-70的学生总数为\t"+c); System.out.println("成绩在70-80的学生总数为\t"+d); System.out.println("成绩在80-90的学生总数为\t"+e); System.out.println("成绩在90-100的学生总数为\t"+f); } publicStudentchange(Stringname,Studenta[]){//修改给定名字的学生成绩 Studenttmp=search(name,a); if(tmp==null){ System.out.println("没有符合条件的学生"); returnnull; } else{ System.out.print("请输入修改成绩: "); Scannersc=newScanner(System.in); tmp.chengji=sc.nextInt(); returntmp; } } doublePingfen(Studenta[]){//求所有学生的成绩平均分 doublesum=0; for(inti=0;i sum=sum+a[i].chengji; returnsum/Student.sumstu; } publicStudent[]sort(Student[]stu1){//按成绩排序,放到新的数组中 Student[]sortstu=newStudent[Student.sumstu];//声明新数组 inti,j,k; Studenttemp=newStudent(); for(i=0;i sortstu[i]=newStudent(); sortstu[i]=stu1[i]; } for(i=0;i k=i; for(j=i;j if(sortstu[j].chengji temp=sortstu[i]; sortstu[i]=sortstu[k]; sortstu[k]=temp; } for(i=0;i sortstu[i].print();//输出打印 returnsortstu; } publicStudent[]kourong(Student[]stu1){//扩容,增加20人 Student[]newstu=newStudent[stu1.length+20];//声明新数组 inti,j,k; Studenttemp=newStudent(); for(i=0;i newstu[i]=newStudent(); newstu[i]=stu1[i]; } stu1=newstu; returnstu1; } voidprint(Studenta[]){//输出学生数组中每个学生的信息 for(inti=0;i a[i].print(); } } classStudent{//创建一个Student类 Stringid; Stringname; Stringsex; intage; intchengji; publicstaticintsumstu=0;//类变量,统计学生的数量 publicStudent(){ id="00"; name="aa"; sex="man"; age=18; chengji=0;//每创建一个对象时,学生数量加1; } publicStudent(Stringtmp){ id=tmp; name="aa"; sex="man"; age=18; chengji=0; sumstu++;//每创建一个对象时,学生数量加1; } voidSetChengji(intn){ chengji=n; } StringGetname(){//获取学生姓名 returnname; } intGetchengji(){//获取学生成绩 returnchengji; } voidprint(){//输出一个学生的信息的方法. System.out.println("姓名: "+name+"成绩: "+chengji); } } 四、调试分析 1.源代码编写完成并编译成功。 2.程序开始界面。 3.录入学生信息。 4.显示学生成绩信息。 5.计算学生平均成绩。 6.显示最高成绩学生信息. 7.查找学生信息。 8.修改学生信息。 9.按成绩排序学生信息。 10.学生信息库扩容。 11.学生成绩分段输出。 12.程序结束。 课程设计总结 学习JAVA以来,感觉它从来就不是一门容易的课,书本有太多太多的知识需要我们去学习,去掌握。 书本的内容不能说很难,但的确很琐碎,需要我们花更多的时间去理解,可惜的是,愿意花时间在这上面的人太少了,我也自认在Java上并没有花太多的时间去研究。 对于这次的课程设计,老师给的时间很充裕,但还是有很多同学敷衍了事,我们知道这的确是我们的错,我们并没有认真的对待这次的作业。 在完成这次作业之前,我把课本的知识有认真的看过一遍,感觉只有系统地理解之前的知识,才能把这次的作业做得更好。 这次的作业,花了我很长的时间去准备,不过我觉得很值得。 在编写源代码的时候,难免遇到了许许多多的问题和错误,是我不得不去从书本中寻找答案或向其他人请教,这让我收获颇丰。 这次的作业,考的不仅仅是测试我们对书本知识的掌握情况,更是考我们在处理问题时的态度。 一次又一次的错误并不能阻挡我们寻求正确的心,一次又一次的尝试更体现我们的决心。 从中,我明白了当我们处理事情时,要有耐心和细心,当然也要有丰富的知识做基础,我们唯有不断学习,才能更好地充实自己,使自己更加进步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 JAVA 课程设计
文档标签
- VC课程设计学生成绩管理系统
- 学生成绩管理系统java程序设计
- java学生成绩管理系统
- 课程设计学生成绩管理系统学生成绩管理系统
- java学生成绩管理
- 课程设计学生成绩管理系统
- unix课程设计java学生
- 课程设计学生选课成绩管理系统
- 学生成绩管理系统MIS课程设计
- 学生选课成绩管理系统设计
- UML课程设计学生成绩管理系统
- 课程设计ASP学生成绩管理系统
- JSP课程设计学生成绩管理系统
- 学生成绩管理系统学生成绩管理系统课程设计
- 学生成绩管理系统JAVA课程设计
- vfp课程设计学生成绩管理系统
- asp学生成绩管理系统课程设计
- VF学生成绩管理系统课程设计
- 成绩管理课程设计
- JAVA学生成绩管理
- VC程序设计作业
- 语言程序设计学生成绩管理系统设计
- 语言课程设计学生成绩
- 语言程序设计学生成绩管理系统实验
- VC课程设计参考
- 语言课程设计学生成绩管理系统
- 语言课程设计学生成绩管理系统
- 程序设计学生选课管理
- 语言程序设计学生成绩管理系统实验