学生成绩管理系统综合试验报告_第1页
学生成绩管理系统综合试验报告_第2页
学生成绩管理系统综合试验报告_第3页
学生成绩管理系统综合试验报告_第4页
学生成绩管理系统综合试验报告_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、Java咼级编程课程报告学生成绩管理系统小组成员及分工姓名角色负责功能组长设计与编码测试纲伟是是是增加学生、删改查学生、存取数据坤否是是登录用户、修改密码建锐否是是删除学生、查找学生、修改学生实验坏境操作系统:Windows7编程环境:Eclipse实验容与完成情况1.登录用户(1)登录用户:有3种不同的式登录,管理员登录、教师登录和学生。每个用户都有自己的 账号和密码,通过输入账号和密码来登录,输入账号和密码后会检查是否合理,即账号 只能由数学组成,密码只能数字和字母组成,否则会提示错误登录不成功;然后再查找 数据库,如果找到匹配的账号和密码,就登录成功,否则登录不成功。登录成功后会添 加相

2、应的功能,管理员可以增删改查学生,教师可以修改和查找学生,学生只能查找学 生。(3)代码:Stri ng si = textField.getText();Stri ng s2 = passwordField.getText();Stude ntDao dao = new Stude ntDao();boolea n result = false;if( radioButton.isSelected()=true)/ 管理员登录result = dao.seachadm ini strators(s1, s2);if(result) / 登录成功men uEdit.removeAII();me

3、n uEdit.add(Addltem);men uEdit.add(SDEItem);教师登录else if(radioButt on _1 .isSelected()=true)result = dao.seachteacher(s1, s2);if(result) / 登录成功men uEdit.removeAII();SDEItem.setText(p 改查学生”);men uEdit.add(SDEItem);else if(radioButton_2.isSelected()=true)/ 学生登录result = dao.seachstude nt(s1, s2);if(resu

4、lt)/ 登录成功men uEdit.removeAII();SDEItem.setTextC,查找学生”);men uEdit.add(SDEItem);2增加学生(1) 增加学生:输入学生姓名、学号、性别、班别、成绩等信息,判断输入的倍息是否为空,如果为空提 示错误(如姓名为空,就提示姓名不能为空,其他的一样),增加学生失败。如果不为空判断学号和 成绩是否合理,如果不合理就提示错误(如学号中含有字母和其他不是数字的字符,就提示学号只能 由数字组成)。如果合理,则把学生信息封装成学生对象,再通过学生对象把学生信息添加到学生 数据库里。(2) 流程图输入学生姓名、学号等信息专业资料姓名、学号等

5、信息是否为空?提示错误,增加学生失败姓名、学号等信是(3) 代码private void addltemf) throIjS IOEMDocumentExcepllon-f11 ddstultem(l);button_1 addActionListener(rew ActionListrn 亡 r() public void actlonPcrformed(ActionEvent e) boo lean result = addstuchulityIf(result) get&tudentOJ sfu.setMimafstu.getStulDf)J: StudentOao dao = new

6、5tudentDac(); result = dao.addstudenttstu) lf(result)else10ptionPane4.5/rojAJes5CTA?inlog(nul畀Nit弋嚥打); private boolean addstuchuliQ /TODO去強址碱林ctu二new Studentf);String gl=te5dtField 1.gAtTeirt();String g2=textField_2*gptText()jStrin 呂呂 3=(String) comboBox.ge tE (ntEm();5ting 4= (String) com be 日口 xJL

7、 h vt Leet m dlt a rr():If (BI-equalsCM) | lA.equalsf) | IgS.equalsf-) | k4.equals( if(8l. equals (-)JOptionPani曲ohf把主m gQ*i 口詔卜应丸軽“ :else if(g2equals(*M)JOptionPane,s/ioAlessageDiaLog(mu 11 ):亡 h 乜 if(g3.equals(m,)| lOptionPanenog(nulF 二云不w;rW ”);else Lf(g4.equals(*u)1 OptionPane訪期血砧町己氓口“孑(n1丁门二不ii

8、:r空);elsfintchar c =呂 2 toCharA rey()j forfint 1=0; iJ0,AScEi-9h) elsej-9;double rl=&jr2=0fr3=0;String qlq2,q x ql-textField_3 .getText(); q2=text=iel d_4 .getTextf; ; q5=tcxtField_5 getTe ?ct() 5c ql. toCharArray() j Length*i+)N:else=&:辻。c = q2. taCharArray (forflnt i=O;i= 0 S4cl=9b)elseji林c q3-toC

9、ha rArray(); for(int i-Q;i=0&rlv=4003&r2xe&ir2v40&r?x&=100) return t 厂 ue;elseJOptisnPane.s hm df 5 DI b Wg ( n u 11 ”戍i| P x 壬噩 4100 丈 r ”)JelseDOptionPane .showAfess 口护.口 1 口 0 (i 丨 111学姉方 3守壬旬护 return3.修改学生1)修改学生:输入学号,查找数据库,如果存在该学号的学生,就输出该学生的姓名、学号、性别、班别与成绩等信息,并可以进行修改,保存修改时会判断你修改的信息是否为空,是否合理(如学号不能

10、修改,成绩只能0700的 正整数),是的话就修改成功,否的话就修改不成功,并会弹出提示。(2)流程图是在数据库里找到该学生,并修改。修改成功(3) 代码:boolean result = edltstudAntchulif);lf(result)button_7setVlsible(true)j comboBo) c setVisible (true);ccmboBox.setVisibleftruej:textF ield_55etVI5 ible(t ru 亡)JtuxtF ield_4* setvisiblu(true); textF leld_3 * setVLs ible(t rue

11、)j teKtFleld_2, setVislble(true)j textFi&ldl setVisibl&(tfu&) LabelJ& setvisiblettruej; LabEI_9 setVislble(true);Lstsl_S 5ctVi&ible(tFuuiilabel_7n setVlsible(true)label_5.setVisiblejtrue);label_4.setVlsiblejtrue;Label_3.setVisible(true); textField_2 setEnablecl(false); shewstudunt(); )JOptlonPane.nu

12、ll;M-y 乎兰卞三三*):private void showstlJtlenl() /TOMtextFieLdLI.etrert(stu.get*llneQ) jtextField_2.setText(stu.getStulD();ccmboBoK w 亡 1:5 亡_亡匚土亡 dJ/t 亡 in( wtll1 get5es() j combaBojc I *setSelectedltem(stu. getClassIDf); textFi41d_3-setText(5tu, getNathf) )j textFleLcl_4-srtText(stu. get Language() J;

13、textFleld_5 setText (stULget =Tigll5h();private lbciolAan 已 ditstudentchuli() stu = new Student()jString s textField_6 getTextOi Student&ao dao = new 5tLidentDao(); list = dao readstudent( for(lnt:.size(); i+)if(stugetStulD().ec|uals(s)return true;return false;button_7.addActicnstensr(new ActionLlst

14、ener() public void 3el_2k setText(* &ctTcxt( M十*M+stu * g.e t;Mfstu getStulD();Mfstu kgetS&x()lM-hstu AetCldaaXD() IV M+stD-getMath()J + M+stu- eetLanB.uage(J); private boolean d*l tttudsntchuli () 7 TCDO a stu new Student(); St ring 5 tAXtFlelci_6 EetTAjrt () JStudentDao dao new Studen I Oao()j lis

15、t dao readstudent()j for(int i-9: kllst- slzeO ;i+f) stu-list.get(i); iffstu.getStulD().equals(s) return true;return false;boolean result = delet 巳 EtudtczhLiJLi ()_;iffresultif(5=1buttqn_S setVlsitle(true); shwstudent ();elseluttor_8-setVlsible(False);IblhelALabel- setTextf-label_14. AetTextC*Label

16、_17-setT extjlabellS-SetTextC*1*):Labe9.SEtT4tCyJ; labei220setText(HU);Label J21. setTextC1*):JOpticnPane shopufAEsserjfCi 口 Lc?$( nulld 訊生不 i 忘:button AS .addA u 七 上巳 11 e n 11EW Act ion Listene r ()* public voidacionP 巳 rformed(Act ionEvent e) I; ud 亡 rrtDAo read = new S-tudentaQ () j boolean resu

17、lt = read.deletstudwnti , i tu); if(result)J OptlonPane * shtwttAe s s aye DI. crtogAnull jM,); buttonsksetVisible(false);lblNewLabl setTextJ: l*bel_14. set Text label_17. sctText ( ” ”);| labeLL& setText(d,!)1 la be 1219. setText()l label_2&, setlextf * 必 labeL21. setTexl:A ,BM) jelse):5.查找学生(1)查找学

18、生:输入学号,查找数据库,如果存在该学号的学生,就输岀该学生的姓名、学号、性别、班别与成绩等倍息,不存在就提示该学生不存在!(3)代码boolean result = deletestu dent chill i () j if(res-lllt)(iff 5-1) button_8.setVisibde(true); showstude nitf) jelsetutton_8. setVisible(fa Ise); IblNeNlabel. setText(小): laheVa.setTextf Ji label 17.setText(;亡就laberi9.setText(n );Labe

19、l_21 .setText(*b);J0pticnPane.5hoi-Ae5srrgePiaLo?(nLill?HH);prlvatt void showstudent () / TOGO上就兰戟务才屯輕也lblfJAuLab&l. setTejrtCAA. M”gt etMarne()label_14. set Textf4AA=* 4-stu .getStulD() jlabel_17. setText(M=.; *hl-1h F+stu -getSex(); label_13, setTextC*Ss: :+ p M+stu getCla&slDC); lateM9 setText(wA

20、*Mtdt-*+* MH-stu. getMath () s label_2ek setText( M+n MAstu.getLanguage()j label-ll. setText(MA*=ffi?t ” + ” M+5tu-getEnglish()5;private boolean deletestudentchuli() TODO um 卞 stu = new Student()String s = textFleld SHgetreirt(); AtudentDao dao = new Studen list dao.readstudent();for(irtills.sze();1

21、+)(5tu=ILst 亡上(1);if(stu.getStulD()_equalA(s) ret iirrii true;)return false;6.删改查学生(1) 删改查学生:用户可以通过输入姓名、学号、班别和性别来查询学生成绩,如输入电子1班可以查询电子1班所有学生的信息(姓名、学号、班别、性别和各科成 绩),并把这些学生信息显示在表格上,每一行显示一个学生的倍 息。用户可以修改表格的某一行,或删除表格的某一行,来实现修改学生和删除学生。(2) 流程图(1)(1) 或(2)提示:信息(姓名、性别、学号、班别和成结)不能为牢!提示:不能修改学号,或成绩只能是0700的正整数(2) 代

22、码查找并显示在表格:丿/皀it歩並button_5.addActionLietener(new A 亡 lLonListener() public void 巳匚 tionPerfocred(ActioriEvent e) sPane.setVlslbleftrue)jStudentDaO dao = new StuderttOac (); list = daO.readstudent(); seach();private void sea ch()String 5tr2=textField_7B II皂七T 皂 irt ();String str 3=textFieid gftTert: (

23、;String str4= (Stzring) cafflboBox_2 getSelectedltem ();String str5=(String) coirtioBox-J getSelectedlt em ();-f or*iiiclist. size() +2; i + )f or( int j=0; j7; j*-H)tatilej. set#刁ue 禹 t ( # h j);fori int l=&t lc=0;size() ;k+)y2=hy3=6,y4=A:5tu=llst,getAi);If(str2 equalsfdiM) | | str2nequals (stu * g

24、etHame () yi-i;If(str3 requalsf | 15tr? equals (stu * getStulD() /2-l if (str4,equalsf d,M) | | str4. equals (stu getSex()if(strS.equal5 (MM)l|str5.equals(5tu.getClasslOf) y4=l; If (yLI-l| |y2l=l| |y3lAl| |y4t=l) con-tlnue;For(lrt j=&;广)if(j=O) mLdate.setValueAt(stu. getRalre() k, ) else iffj=l)n-_d

25、ate.se tValueAt(5tu.get5tulD()k j); else lf(j2) mdate. setValueAt (stu .grtSex() j kJ j j else if(j=3) m_date.setValueAt(stu. getClassIDf) jkj j); else iffj=4) m_da IValu eAt(stu.ge Vlath()j k,j)j else if(j5)( ir da te* setVsIu tAt(stu. ge tLang.uoalean result = d 日 nc dltstudent (stu) iff resultfal

26、se)result * daoAddstudent(stu);if(result)lOptLonPanescrgeDtLrLog(null telselOptlonPane HshawffesjagfDI atcA(nullbfiir,)学主半Y玄private Irt edit 匚卜 luliO /JTOGO WS:主抵茅方址辛褊5tu = new Student!);Student stul=neA StudefrtOjString c/-,Irt r/,A2=e rltableJ.getSelectedRowf); StudentDao read new StudentDaa(); li

27、st 二 read.readstudent(); double r-7 =0A r8=0? r9=0; fcrAint I+) ml 叫 String) tablel.getValueAt(rlj I); Int j=G;I har c = al.toCharArray(); for(in-t k=O;k-eaack5vrO Doub 一 e HPCITQCPOHfcKao 一二亍 F(_ai euuaM(J-6)Noouble paf.sEDOL&Le a- J J 亍二 r7 - H(m_) r7 - 一3; um)rs 一 一 6 ;(_n ) fJOpUonpane rshowAess

28、AefLO3u= f:味亠Ji Qo;break:Vjf(IJ 人=7VOTI 一 rS 八o-_r3v_EW- FQ-?QV00)Jopaonponc 3h (7jw_【r55crjcpicrtcvA(nu=,22.71r2a“ breakstteV seiNcdeAdJL 二 cvc ifile E2LS-UZ52)二】se i4-(HH2) sru.seTSEXfai); e_se if?vv riiajL; ) e_se jf(一5)( ucH nnguag#(B 二”cFif(lrjf(r2 e一ajlLjfur(_L n 二 HO;=SLSNeoi )AEi!LEgeo=i f (

29、aE g3scTDC) Lrqun)s ( 5tn gets-uoo ) A$S tuMWi Mima (stuh Mdirg 0); re=p rn 1;3n Grc)亠re-urnJOHic,n pane SJTOJrlds- ssagreifogr( n m二 jJrr 4 T” re-us g删除:/7巴卷学岂butt on _4.3ddActl on Llstener(new ActlonListener() public void 耳 ctionPerformed(ActionEvert 亡)StudentDao rsad = new StudentDao(); list i: r

30、ead.readstudent(); Ent k=table_l.getSelectedRcw();String ss=(StrEn a m_date 呂亡宅 LB L u 亡 At(k. 1);for(int d=O;l:String t2pa&5wordFie.d_2.eA4lAt0iString t3=pa*dField_3String yl,y2;yl-textField .getText();v2=paswordField)iInt j=G;charQ t = tIUCharArrayfJ;forfint kAflik, &k kc 9) 11 (ck-a k町炉 h)|(c町 xA

31、 伽:)j 叫 elsej呦j=6;l =tl.tcCharArrayf);for(iirt kejkc.lngthjk+)专业资料N;elseJ物1F(H(i=e;c = tS.toCiiarArrayO;Fcr(lnt k=9jk=-6*Uck=,a aick- AUclt-r) 冋el5Plf(tl. equals|t2.e4Mnl5CJ|t3.equll5 (VM)J Opt io nP a re r八ag&Dla log (nu 11 j* ? n T A5.9:;elie lf(p=O)Opt i.o nP a re. 5 e/X a Lo hu11 j 世刁 F 圭左芸了 弋于三

32、盘兰”):elseIf(yj.equal5(tl6fi: t2,equcil3 (t3)return 1 ;JCp*ifliPanA.Kl dM (A MM 电工机站(nullf 七吿:老总6Else 1A( !t2口equalsICp t i.把student.xml文档里所有学生及信息读取出来,保存到public Llst readstudent()List list new ArraAList()i Dozument document;trydccurnnt - XinlUtils.gffrDocuffleQt(AElement root - document bgctRc&tElcmc

33、nt()jList Iist3 root. elefnnts();list new ArrayLlst(); for (Iterator It2-list3.hashlext( A;)(Element student2=(Element) It2.next();List listl studentl.elewntsj foritl =li stl.f)flenent studer t=(Ele*ent) Ltl nextf) Student stu=riew Student(); stu-setNarntfstudentHtlefnentr ngetAext(); stu ettulD(stu

34、d&nt -elementtS-T0) rfle-t Te(); stu. setSe x( st ucient, element) .getTe) rt();stu. 5eiclasslc (Student .element*) hgetTexX(); stu. 5eWuH (student, element CA=M ) .AetTextO);stu. seVleth(student element i Q fetTevt f);stu. setLanguage (student relenent(f,?: aH). getlext() j stu. setEnglish(student.

35、element.getTt();tu);Aretumi list;匚 art ch (Do 匚 umetn 七 EjffmptWckri e ) fIITOOO EAO catch 扶 e. prlntStackTraice();return listj删除学生public boolean deletstudent(Student s)Document docufflertT; try document = KwIUt II s tDocuFtie/rt ();Element root = document,getRootEI*ffienttAj lAist listl = root.elem

36、entE(J; for(lterator itl= istl.iter 11); it: Lkh & hl 亡)(te printStackTrace () jreturn false;修改学生public boolean edltstudert(Student s)try Dutdmertt docUpent XfilUI L 1A tAE tDuLmrfterl t () j root gatRo4tEItnent()j List liAtl root.elenent5 ();A(lteAator itlxlistl. Iterator(; itl. has Next ();ent) JL

37、 tA.r 叱List Lict2 = student.for(lteraTor lt2-list2.lterator();it2.hasNext();) Element studeirtl-(Eleaent) it2.next();if(5.getStulDf) reqLals(stddentl.elncritC*)rgetText() If (!i bgttCldslD() requals(student.gelNdine() ctudnt xracr( studcntl. clcffcnt( ci) * sctTcxt (s*gctharnc()-t studentl. elementt

38、M*-s ”) 5etText(s.ietStuZD();x tudelvtl. eleaentf ) setText(s.geSu);studentl. elefrent(j *). setlext(sAgetClasslDO); studentl.- elefnent(tTIS ). setrext(s sctTcKt(s gctLAnguage() ”studentl.-elefnent(Ma-irr?*). setTextfl getEngllsht); XmllRils * write2XML( document);return true;增加学生public boolean add

39、 student(Studenttry Document document = XnlUtilE jElement root = document.getRaotElement()ist Listl = root.elements(J;A:rflterator 1A1=151. ite r 曰七口();上 1.-hasNextif);) ELement s tudentz=( EleTent) itl .next () j !F(s*getClasslD() c equals( student, ge tHairef)student = student* addElement ( n);stu

40、dent, add El ementsetText (s getNarre(); students addElementu). setText(5 getStulDf);studentn add El ement (s,) H. setText(5 t gets ex (); student. addElement (Ms#!v) n-setText (s, get 匚 lam slD(); student. addElefnent setText (s , getMima (); student. addEleffuntMJ * setText(s. getMath(); student.

41、aridElentent j * setText(s. get La nguh 呂亡); student. adclEI i: meetr乂若雾云setText(fi. getEngli5-h() jXnnllJtils. write2X7ACAOCk*nt:return rue; catch (Do cumentExcept ion e) / TODO Au o - gen e r a t ed catch blocke printSlackTrace(); catch (10 Exc e pt ion r:)(/TODO AuQ-generated futxh block e printStackTrace(:,return fAlse;查找学生psulit zoolean eachstudefttfString 51 String s2)Dot unent dccumt Ihllttils);Elmtrt roc: = doainent.卿 kvt 巳 n();List Ihtl = root.elementsrJ;for (Iter at: - itl-listldte nator:); itl. h 3 shtxt : )j)Elenfftt itudsrrt=(Eluent) i-LnexrO;List 1 jx t =student.El

温馨提示

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

评论

0/150

提交评论