欢迎来到天天文库
浏览记录
ID:18704315
大小:150.00 KB
页数:22页
时间:2018-09-21
《数据结构与算法设计课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构与算法设计课程设计专业信息与计算科学班级信息0802学号200801010201姓名楼茂成(签名)完成日期2010.06.14指导教师李元觉(签名)1、程序设计说明书【设计题目】图书馆业务模拟程序【问题描述】这是一个模拟用户对图书分类查询、借书和还书的小程序,为了实现图书馆日常业务模拟。【软件功能】1.实现用户对图书的分类查询,如书名、作者、时间。2.通过线性表实现mybook的建立、存储、插入、查找和删除。3.运用string[]数组来输入mybook的内容,如书名、时间,科类。4.运用kindstr[]实现科目的分类,如自然科学、计算机、工业类等等。5.输入year,m
2、onth,day,type,price查询书籍的借用情况。【算法思想】1.运用swing实现图书馆界面。2.通过线性表实现mybook的建立、存储、插入、查找和删除。3.用ActionListener()对主类BookSystem进行监听,用actionPerformed()对MenuBar的监听。4.使用Vector类以实现类似动态数组的功能。5.用catch(Exceptionie)函数捕获异常。【类的设计】publicclassBookSystemimplementsActionListener{//主类Vectorbooks=newVector3、>(20,5);JTextFieldjtf[]=newJTextField[7];JLabeljlb[]=newJLabel[5];JPanelpanel;Choicekind=newChoice();Stringkindstr[]={"选择分类","自然科学","计算机","金融类","工业类","汽车类"};【存储结构设计】【模块划分及调用关系】【模块流程图】【界面设计】【用户手册】1、程序上机调试报告【语法错误及其排除】if(jtf[1].getText().length()==04、5、jtf[1].getText().length()>46、7、jtf[2].getText().8、length()==09、10、Integer.parseInt(jtf[2].getText())>1211、ext().length()==012、13、Integer.parseInt(jtf[3].getText())>30)正确if(jtf[1].getText().length()==014、15、jtf[1].getText().length()>416、17、jtf[2].getText().length()==018、19、Integer.parseInt(jtf[2].getText())>1220、21、jtf[3].getText().length()==022、23、Integer.parseInt(jtf[3]24、.getText())>30)【算法错误及其排除】一开始没有进行异常处理,后来加进去。程序测试结果【测试数据】数据结构王学军261996.06.06【输出结果】【程序性能评价】用于图书馆管理系统的数据的输入、删除、查找等等。【性能改进方向】可以添加背景使页面更加美观。【收获及体会】1、源程序代码//package图书管理系统;importjava.io.*;importjava.util.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.table.DefaultTable25、Model;classMyBook{intyear,month,day,type,price;Stringname,author;publicMyBook(Stringname,Stringauthor,inttype,intprice,intyear,intmonth,intday){this.name=name;this.author=author;this.type=type;this.price=price;this.year=year;this.month=month;this.day=day;}publicStringprint(){//输出MyBook对象的所有内容S26、tringstr=name+"--"+author+"--"+type+"--"+price+"--"+year+"--";if(month<10){str+="0"+month+"--";}else{str+=month+"--";}if(day<10){str+="0"+day;}else{str+=day;}returnstr;}publicintgetdata(){//获得时间数Stringstr=year+"";if(month<10){str+="0"+m
3、>(20,5);JTextFieldjtf[]=newJTextField[7];JLabeljlb[]=newJLabel[5];JPanelpanel;Choicekind=newChoice();Stringkindstr[]={"选择分类","自然科学","计算机","金融类","工业类","汽车类"};【存储结构设计】【模块划分及调用关系】【模块流程图】【界面设计】【用户手册】1、程序上机调试报告【语法错误及其排除】if(jtf[1].getText().length()==0
4、
5、jtf[1].getText().length()>4
6、
7、jtf[2].getText().
8、length()==0
9、
10、Integer.parseInt(jtf[2].getText())>12
11、ext().length()==0
12、
13、Integer.parseInt(jtf[3].getText())>30)正确if(jtf[1].getText().length()==0
14、
15、jtf[1].getText().length()>4
16、
17、jtf[2].getText().length()==0
18、
19、Integer.parseInt(jtf[2].getText())>12
20、
21、jtf[3].getText().length()==0
22、
23、Integer.parseInt(jtf[3]
24、.getText())>30)【算法错误及其排除】一开始没有进行异常处理,后来加进去。程序测试结果【测试数据】数据结构王学军261996.06.06【输出结果】【程序性能评价】用于图书馆管理系统的数据的输入、删除、查找等等。【性能改进方向】可以添加背景使页面更加美观。【收获及体会】1、源程序代码//package图书管理系统;importjava.io.*;importjava.util.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.table.DefaultTable
25、Model;classMyBook{intyear,month,day,type,price;Stringname,author;publicMyBook(Stringname,Stringauthor,inttype,intprice,intyear,intmonth,intday){this.name=name;this.author=author;this.type=type;this.price=price;this.year=year;this.month=month;this.day=day;}publicStringprint(){//输出MyBook对象的所有内容S
26、tringstr=name+"--"+author+"--"+type+"--"+price+"--"+year+"--";if(month<10){str+="0"+month+"--";}else{str+=month+"--";}if(day<10){str+="0"+day;}else{str+=day;}returnstr;}publicintgetdata(){//获得时间数Stringstr=year+"";if(month<10){str+="0"+m
此文档下载收益归作者所有