课程设计-学生成绩管理系统Java课程设计_第1页
课程设计-学生成绩管理系统Java课程设计_第2页
课程设计-学生成绩管理系统Java课程设计_第3页
课程设计-学生成绩管理系统Java课程设计_第4页
课程设计-学生成绩管理系统Java课程设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录课程设计任务书一2课程设计任务书二3课程设计任务书三4题目一猜数字游戏5一、问题描述5二、基木要求5三、类定义5四、主要成员方法描述5五、测试数据及情况5六、代码附录6题目二 学生成绩管理系统8一、问题描述8二、基本要求8三、类定义8四、主要成员方法描述9五、测试数据及情况11六、关键代码附录13题目三课外兴趣小组管理29一、问题描述29二、基木要求29三、类定义29四、主要成员函数描述30五、测试数据及情况31六、关键代码附录33结论42参考文献43山东建筑大学计算机科学与技术学院课程设计任务书一设计题目猜数字游戏已知技术参 数和设计要 求从控制台获取玩家输入的数字(0到99 z间的整数

2、),如果不是数字, 则抛出异常。设计内容 与步骤1、首先定义了一个counter变量來记录玩家猜测的次数,并直接初始化为0。 在打印一行游戏提示以后,便开始一个do-while语句。2、在do-while语旬屮,首先用异常处理语句获取玩家的输入,如果玩家输 入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输 入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判 断。如果玩家的猜测太大或者太小,都做出提示。接着把计数器增加1,表示 玩家做过一次猜测。最后便是do-while语句的判断:当玩家猜测的数字和随机 产生的答案不同,则再次进入循环,否则便结束循

3、环3、程序设计、实现、调试4、完成课程设计说明书设计工作计划与进度安排1、设计工作4学吋2、实现与调试12学吋3、课程设计说明书4学吋设计考核要求1、考勤20%2、课程设计说明书50%。3、答辩30%山东建筑大学计算机科学与技术学院课程设计任务书二设计题目学生成绩管理系统已知技术参 数和设计要 求1、该系统主要处理学生的成绩信息。2、学生信息主耍包括:学号、班级、姓名、科目1、科目2、科目3等内容。3、完成以下的操作:实现成绩信息的添加、修改、删除和查询,可以计算每 个学生的平均成绩及各科目的平均成绩,将学生信息保存为文件。设计内容 与步骤1、建立学生类2、学生信息的初始化3、学生信息的添加、

4、修改、删除、查找4、学生信息的输出5、对学生信息按学号、成绩排序6、计算一门课的平均分和总分7、程序设计、实现、调试8、完成课程设计说明书设计工作计划与进度安排1、设计工作4学时2、实现与调试12学吋3、课程设计说明书4学吋设计考核要求1、考勤20%2、课程设计说明书50%3、答辩30%山东建筑大学计算机科学与技术学院课程设计任务书三设计题目课外兴趣小组管理已知技术参 数和设计要 求1、该系统主要处理课外兴趣小组的相关信息。2、学生信息主要包括:学号、姓名、性别、兴趣爱好等内容。3、兴趣主要包括:兴趣编号、兴趣类型等内容。4、完成以下的操作:实现学生兴趣信息的添加、修改、删除和查询。设计内容

5、与步骤1、建立淫生类、兴趣类、兴趣类型类2、学生、兴趣、兴趣类型信息的初始化3、学生、兴趣、兴趣类型信息的添加、修改、删除、查找4、学生兴趣信息的输出5、将学牛兴趣信息保存为文件6、程序设计、实现、调试7、完成课程设计说明书设计工作计划与进度安排1、设计工作4学时2、实现与调试12学时3、课程设计说明书4学时设让考核要求1、考勤20%2、课程设计说明书50%3、答辩30%题目一猜数字游戏一、问题描述运用java语言实现猜数字游戏相关信息,利用do-while语句实现。二、基本要求从控制台获取玩家输入的数字(0到99之间的整数),如果不是数字,则抛出异常。三、类定义newguessnumber.

6、java该类负责产生随机数,提示用户输入,判断用户输入的数字是否正确,计数器+1的功能。四、主要成员方法描述newguessnumber.java方法名称方法功能方法备注main()程序运行主方法createnumber()系统产生随机数构造方法eventhandle()对玩家的输入进行判断,计数器+1方法五、测试数据及情况运行结果:d:>jaua newguessnumberll 卷理来到磧数字1节请输人一不050您输入的数偏大了 ! 筮输入的数偏大了 ! 釜喜您猜对了! !腕一-: 3次!h70六、代码附录public class newguessnumberll int numl;

7、int counter=0;int randnum2=0;int score=100;bufferedreader bin;public void eventhandle()randnum2=(int)(math.random()*99);bin=new bufferedreader(new inputstreamreader(systemein);system, out. println欢迎来到猜数字游戏环节”);system.out.println(n请输入一个 099 的整数”); dotry numl=integer.parseint(binereadline();catch(exce

8、ption e)system.out.println(m您输入的不是099的整数,请重新输入! n); continue; if(numl<0|numl>99)system.out.println(n您输入的数不在099范围内!请重新输入。”); continue;if(numl<randnum2)system.out.println您输入的数偏小了 ! ”);counter+;score=score 10;if(score<=0)system.out.println(n 您的分数为零”);break;else if(numl>randnum2)system.ou

9、t.println您输入的数偏大了 ! ”); counter+; score=scoreif(score<=0)sy stem. out. printing 您的分数为零”); break; while(numl !=randnum2);system.out.println(m恭喜您猜对 了 ! h);counter+;score=score 10;system.out.println(n您一共猜了: n+counter+n次! ”);system.out.println(h 您的分数为 h+score);public static void main(string args)newg

10、uessnumberll pl=nevv newguessnumberll(); pleventhandleq;题目二学生成绩管理系统一、问题描述运用java语言实现学生成绩管理系统,实现学生成绩信息的添加、修改、删除和查询。二、基本要求1、该系统主要处理学生的成绩信息。2、学生信息主要包括:学号、班级、姓名、科目1、科目2、科目3等内容。3、完成以下的操作:实现成绩信息的添加、修改、删除和查询,可以计算每个学生的平均成 绩及各科目的平均成绩,将学生信息保存为文件。三、类定义add类,实现信息的添加;menu类,程序的主类;connectionprovider 类,连接类;delete类,实现

11、信息的删除;select类,实现信息的查询;update类,实现信息的修改;updateinput类,实现修改的信息的输入;showstu类,将信息显示出來;student类,基础类,供其他类的调用,有各种成员方法实现信息的处理;程序流程图:开始四、主要成员方法描述menu方法名称方法功能方法备注menu()系统界面的建立方法actionperformed()事件处理构造方法main()程序运行主方法update方法名称方法功能方法备注update()修改信息的界而构造方法actionperformed()事件处理方法delete方法名称方法功能方法备注delete()删除信息的界面构造方法a

12、ctionperformed()事件处理方法add方法名称方法功能方法备注add()添加信息的界面构造方法actionperformed()事件处理方法select:方法名称方法功能方法备注select()杳询信息的界面构造方法actionperformed()事件处理方法showstu方法名称方法功能方法备注showstu()显示信息的界面构造方法actionperformed()朴件处理方法updateinput方法名称方法功能方法备注updatelnput()修改信息的界面构造方法actionperformed()事件处理方法student方法名称方法功能方法备注student()连接其

13、他类构造方法add()添加学生信息方法actionperformed()事件处理方法delete()删除信息方法updata()修改信息方法selete()查询信息方法averscore()计算某一科目的平均分方法seleteresultset()按照字段对表进行排序方法五、测试数据及情况主窗口框架:添加信息:叵j二惨改学生h逐删除学生成纟学号=字生戍绪科目-(20121113041学生威缰狡习班舉二网络121选择一个选项是否进行添加燥作2i是co否(w 驭涓90删除信息:查询信息:六、关键代码附录menu.javapublic class menu extends jframe implem

14、ents actionlistener jlabeljll,jl2;jbutton jb 1, jb2, jb3, jb4,jb5,jb6,jb7,jb8,jb9; jpaneljpl,jp2,jp3,jp;jtextarea result;student stu; resultset rs;menu()stu=new student(); settitle(n学生成绩管理系统”); jll=new jlabel(""); jl2=new jlabel(n"); jpl=new jpanel(); jp2=new jpanel(); jp3=new jpanel(

15、); jp=new jpanel();result=nevv jtextarea(45,60); result.seteditable(false);jp l.setlayout(new gridlayout( 1,7); jp2.setlayout(new gridlayout( 1,4); jp.setlayout(new gridlayout(2j);jbl = new jbutton("插入学生成绩”); jb2 = new jbutton("删除学生成绩”); jb3 = new jbutton(h修改学生成绩”); jb4 = new jbutton(”查询学生

16、成绩”); jb5=new jbutton(”科 口一平均成绩”); jb6=new jbutton(n 科目二平均成绩”); jb7=new jbutton("科目三平均成绩”); jb8=new jbutton(”学生成绩按学号排序”); jb9=new jbutton(h学牛成绩按平均成绩排序”); jb 1 .addactionlistener(this); jb2.addactionlistener(this); jb3.addactionlistener(this); jb4.addactionlistener(this); j b5. add actionlistene

17、r( this); jb6.addactionlistener(this); jb7.addactionlistener(this);jb8.addactionlistener(this);jb9.addactionlistener(this);jpl.add(jbl);jpl.add(jb2);jpl.add(jb3);jpl.add(jb4);jpl.add(jb5);jpl.add(jb6);jpl.add(jb7);jp2.add(jll);jp2.add(jb8);jp2.add(jb9);jp2.add(j ;jp.add(jpl);jp.add(jp2);add(borderla

18、youtwo/?77/,jp);jscrollpane jsl=new jscrollpane(result); add(borderlayout.cete/?,jsl);this.setbounds(250, 100, 1000, 600);this.setvisible(true);validate();setdefaultcloseoperation(jframe.ex/71oa_clos£);public void actionperformed(actionevent e) / fodo auto-generated method stilbif (e.getsource(

19、) = jbl) new add();if (e.getsource() = jb2) new delete();if (e.getsource() = jb3) new update();if (e.getsource() = jb4) new select();if(e.getsource()=jb5) try resul 匸 settext(null);result.append("科目一的平均成绩为:n”+stu.averscore(”subject 1 ”); catch (sqlexception el) / todo auto-generated catch block

20、 ekprintstacktraceq;if(e.getsource()=jb6) try result.settext(null);result.append(*'科目二的平均成绩为:n"+stu.averscore(nsubject2"); catch (sqlexception el) / fodo auto-generated catch blocke 1 .printstacktrace();if(e.getsource()=jb7)try result.settext(null);result.append("科目三的平均成绩为:n,+stu.

21、averscore(,subject3n); catch (sqlexception el) / todo auto-generated catch blockel .printstacktrace();if(e.getsource()=jb8) try result.settext(null);rs=stu.selectsort(,idn);while(rs.next()result.append("nt学号:,'+rs.getstring(,id"); result.append("t班级:"h-rs.getstringc'stucl

22、ass"); result.append("t姓名:"+rs.getstring("name"); result.append("t科目 一:"+rs.getdouble("subjectr'); result.append("t科目二:”+rs.getdouble(”subject 1 ”); result.append("t科目三:"+rs.getdouble(usubject 1 ”); result.append("t平均成绩:"4-rs.getst

23、ring("averscore"); catch (sqlexception el) / todo auto-generated catch blockel .printstacktrace();if(e.getsource()=jb9) try result.settext(null); rs=stu.selectsort("averscoren);while(rs.next()result.append("nt学号:',+rs.getstring("id"); result.append("t班级:"+

24、rs.getstring(,stuclass"); result.append(nt姓名:,'+rs.getstring(,name,'); result.append("t科目 一:"4-rs.getdouble(hsubject 1 ”); result.append("t科 口 二:h+rs.getdouble(',subjectr,); result.append("t科目三:"+rs.getdouble(nsubjectl"); result.append("t1,:均成绩:&qu

25、ot;+rs.getstring("averscore"); catch (sqlexception el) 11 fodo auto-generated catch blocke l.printstacktrace();studentjava:public class student public connection con;public statement stmt;public resultset rs;public connectionprovider provider;static string id;string stuclass;string name;do

26、uble subject 1;double subject2;double subject3;student() try providei- new connectionprovider(); con=provider.getconnection(); stmt=con.createstatement(); catch (exception e) 增加public int add(string id,string stuclass, string name, double subject i .double subject2,double subject3,string averscore)

27、throws exception int i=0;stringinsertstr=h insertintostudentinfo(id5stuclass5name5subjectl,subject25subject3,averscore)n+ " values(,n+id+,,7n+stuciass+,n;"+name+n7,+subjectl+,7,+subject2+,"+subject3+,n,+averscore+n' i=stmt.executeupdate(insertstr);return i;删除public int delete(stri

28、ng id) throws exception int i;string sqlexpressionl = "delete from studentinfo where id=,n +id+ sqlexpressionl中口j以全部用单引号表示where name-而ji不需要在 末尾加分号i 二 stmt.executeupdate(sqlexpression 1);return i;更改public int update(string id,string stuclass, string name, double subject i,double subject2,double

29、subject3,string averscore) throws exception int k = 0;stringsqlexpression 1=h updatestudentinfosetstuclass='"+stuclass+n',name-n+name+*",subject l=n+subjectl+n,subject2=h+subject2subject3= ,+subject3+h,averscore=h,+averscore+,h where id=n, + id + ”山;k 二 stmt.executeupdate(sqlexpres

30、sion 1);return k;查询public resultset select(string id) throws exceptionstring selectstr="select * from studentinfo where id-"+id+'n" rs=stmt.executequery(selectstr);return rs;查询齐科目平均成绩public double averscore(string subject) throws sqlexceptiondouble n=0;string averstr=hselect avg(h

31、+subject+n) from studentinfom;rs=stmt.executequery(averstr);while(rs.next()n=rs.getdoub!e(l);return n;按照字段对表进行排序public resultset selectsort(string colum) throws sqlexceptionfstring sortstr=hselect * from studentinfo order by h+colum+h ascu; rs=stmt.executequery(sortstr);return rs;addjava:public clas

32、s add extends j frame implements actionlistener jlabel jib 1, jlb2, jlb3, jlb4, jlb5, jlb6;jtextfield jtfl, jtf2, jtf3, jtf4, jtf5, jtf6;jbutton jbl, jb2;static string id;string stuclass;string name;double subject 1;double subject!;double subject3;string averscore;student stu;add() stu=new student()

33、; settitle(“插入学生成绩”); setlayout(new flowlayout(); jlbl = new jlabel(k学号:”); jtfl = new jtextfield(15); jtfl .addactionlistener(this); jlb2 = new jlabel("班级:"); jtf2 = new jtextfield(15); j tf2. add actionlistener( this); jlb3 = new jlabel(h姓名:”); jtf3 = new jtextfield(15); jtf3.addactionli

34、stener(this); jlb4 = new jlabel(h科目 1 分数:"); jtf4 = new jtextfield(15); jtf4.addactionlistener(this);jlb5 = new jlabel("科目二分数:");jtf5 二 new jtextfield(15); jtf5.addactionlistener(this);jlb6 = new jlabel("科目三分数:");jtf6 = new jtextfield(15);jtfb.addactionlistener(this);jbl = n

35、ew jbutton(n 确定”);jb 1 .addactionlistener(this);jb2 = new jbutton(”返回”); jb2.addactionlistener(this);add(jlbl);add(jtfl);add(jlb2);add(jtf2);add(jlb3);add(jtf3);add(jlb4);add(jtf4);add(jlb5);add(jtf5);add(jlb6);add(jtf6);add(jbl);add(jb2);this.setbounds(500, 100, 230, 450);this.setvisible(true);vali

36、date();setdefaultcloseoperation(jframe.ex/7'_on_close);public void actionperformed(actionevent e) if(e.getsource()=jtf 1) z j=jtf 1 .gettext().trim();if(e.getsource()=jtf2)stuclass=jtf2.gettext().trim();if(e.getsource()=jtf3) name=jtf3.gettext().trim();if(e.getsource()=jtf4)subject l=double./?/r

37、5ed(7w&/e(jtf4.gettext().trim();if(e.getsource()=jtf5) subject2=double./26r/:vd6>w/?/(jtf5.gettext().trim();if(e.getsource()=jtf6) subject3=double./?a/ed(7wwe(jtf6.gettext().trim();if(e.getsource()=jb 1)try joptioripane.showconfinndialog(this,"是否进行添加操作!"); averscore=" "+(s

38、ubjectl +subject2+subject3)/3;stu.addqd, stuclass,name,subjectl,subject2,subject3,averscore); dispose(); catch (exception el) / todo auto-generated catch blockjoptionpane.s肋您输入的信息有误,请重新输入!");if(e.getsource()=jb2) dispose();delete.java:public class delete extends jframe implements actionlistener

39、jlabeljlbl;jtextfield jtf;jbutton jbl,jb2;static string id;student stu;delete()settitle("ffl除学生成绩”);setlayout(new flowlayout();stu=new student();jlbl=new jlabel(nif输入该学生的学号:”);jtf=new jtextfield(15);jtf.addactionlistener(this);jbl=new jbutton(”确定”);jb 1 .addactionlistener(this);jb2=new jbutton(

40、"返m");jb2.addactionlistener(this);add(jlbl);add(jtf);add(jbl);add(jb2);this.setbounds(500, 150, 250, 150);this.setvisible(true);validate(); setdefaultcloseoperation(jframe.ex/7oalclos£);public void actionperformed(actionevent e) / todo auto-generated method stubif(e.getsource()=jtf)zc

41、/=jtf.gettext().trim();if(e.getsource()=jb 1) int i;joptionpane.showconfirmdialog(this, ”是否进行删除操作! ”); tryi=stu.delete(zc/);if(o=i)joptonpane.showmessagedialog(this,i系统中无此信息,请重新输入! ");jtf.settext(null);elsestu.closeresultset();stu.closestatement();stu.closeconnection();dispose();catch(exception

42、 el)joptionpane.showmessagedialogithis输入的信息有误,请重新输入! ”); jtf.settext(null);if(e.getsource()=jb2) dispose();select.java:public class select extends jframe implements actionlistener jlabeljlbl; jtextfield jtf;jbutton jbl,jb2;student stu;static string id;resultset rs;select() stu=new student();settitle

43、( ”查询学生成绩”);setlayout(new flowlayout();jlbl=nevv jlabel("请输入该学生的学号:”); jtf=new jtextfield(15); jtf.addactionlistener(this);jbl=new jbutton(”确定”);jb 1 .addactionlistener(this);jb2=new jbutton(”返回”); jb2.addactionlistener(this);add(jlbl);add(jtf);add(jbl);add(jb2);this.setbounds(500, 150, 250, 15

44、0);this.setvisible(true);validate();setdefaultcloseoperation(jframe.ex/7loalclos£);public void actionperformed(actionevent e) / todo auto-generated method stubif(e.getsource()=jtf)zc/=jtf.gettext().trim();if(e.getsource()=jb 1) joptionpane.showconfirmdialog(this,"是否进行查询操作!");tryrs=stu

45、.select(zc7);if(rs.next()stu.closeresultset();stu.closestatement();stu.closeconnection();dispose();new showstu();)elsejoptionpane.showmessagedialog(this,n该系统中无此信息,请重新输入!");jtf.settext(nuil); catch (exception e2) / todo auto-generated catch blockjoptionpane.mowme$dg幺dq/og(this,”输入信息错误,请重新输入!&quo

46、t;); jtf.settext(nuil);if(e.getsource()=jb2)dispose();update.java:public class update extends jframe implements actionlistener jlabeljlbl;jtextfieldjtf;jbutton jbl, jb2;static string id;student stu;resultset rs;update() stu = new student();settitle(n修改学生成绩”);setlayout(new flowlayouto);jlbl =new jlab

47、elc'if输入该学生的学号:”);jtf = new jtextfield(15);jtf.addactionlistener(this);jbl = new jbutton(h确定”);jb 1 .addactionlistener(this);jb2 = new jbutton("返回”);jb2.addactionlistener(this);add(jlbl);add(jtf);add(jbl);add(jb2);this.setbounds(500, 150, 250, 150);this.setvisible(true);validate();setdefaul

48、tcloseoperation(jframe.ex/7loalclos£);public void actionperformed(actionevent e) / fodo auto-generated method stilbif (e.getsource() = jtf) id = jtf.gettext().trim();if (e.getsource() = jbl) try rs = stu.select(z/);if (rs.next() joptonpane.showconfinndialog(this,"是否进行修改操作! ”); dispose();ne

49、w updatelnput(); else joptionpane.s肋问仏$dg幺dzog(this,”该系统中无此信息,请重新输入!”);jtf.settext(null); catch (exception el) joptionpane.showmessagedialog(ths,"您输入的信息有误,请重新输入! ”); jtf.settext(null);if (e.getsourceo = jb2) dispose();showstu.java:public class showstu extends j frame implements actionlistener j

50、 label jib 1, jlb2, jlb3, jlb4, jlb5, jlb6,jlb7;jtextfield jtfl, jtf2, jtf3, jtf4, jtf5, jtf6 ,jtf7;jbutton jbl, jb2;static string idstring stuclass;string name;double subject 1;double subject2;double subject3;string averscore;student stu;resultset rsl;showstu() throws exception!加二 selected;stu=new

51、student();rsl=stu.selected;while(rsl.next()id=rs 1 .getstringc'id"); stuclass=rs 1 .getstring(nstuclassn); name=rsl-getstring(hnameh);subjectl =rs 1 .getdoub 咏"subject 1h);subject2=rs 1 .getdouble(msubject2h);subject3=rs 1 .getdouble(nsubject3 "); averscore=rs 1 .getstring(naversc

52、oreh);settitle(”显示学生成绩”); setlayout(new flowlayout(); jlbl = new jlabel(n学号:”); jtfl = new jtextfield(15);jtfl .settext(ztf);jtf 1 .seteditable(false);jlb2 = new j label ("班级:"); jtf2 = new jtextfield(15); jtf2.settext(stuclass);j tf2. setedi table(false); jlb3 = new jlabel(h姓名:”); jtfb =

53、new jtextfield(15);j tf3. settex t(name);jtf3.seteditable(false);jlb4 二 new jlabel(h科目一:”); jtf4 = new jtextfield(15); jtf4.settext(n "+subjectl);j tf4. setedi table(false);jlb5 = new jlabel(k科目二:"); jtf5 = new jtextfield(15); jtf5.settext(" "+subjec;jtf5. seteditable(false);jlb6

54、 = new jlabel(h科目三:"); jtf6 = new jtextfield(15); jtf6.settext(" "+subject3);j tf6. seteditable(false); jlb7=new jlabel(n平均分:"); jtf7 = new jtextfield(15); jtf7.settext(averscore); jtf7.seteditable(false);jbl = new jbutton("确定”); jb 1 .addactionlistener(this); jb2 = new jbut

55、ton("返回”); jb2.addactionlistener(this);add(jlbl); add(jtfl);add(jlb2); add(jt ;add(jlb3);add(jtf3); add(jlb4);add(jtf4); add(jlb5);add(jtf5); add(jlb6);add(jtf6);add(jlb7);add(jtf7);add(jbl);add(jb2);this.setbounds(500, 160, 230, 450); this-setvisible(true);validate(); setdefaultcloseoperation(jframe.exz7on_clos£);public void actio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论