数据结构课程设计【附上代码】

数据结构课程设计

好友通讯录


好友通讯录

一 实验题目

李刚是一爱折腾的人,当然爱折腾的人均有梦想,他想当中国的盖次呢。可不,现在个人好友信息多了,复杂了,他想制作一个个人通讯录的制作管理软件。刚好这个学期学了数据结构课,所以他准备使用数据结构知识来实现了。并考虑使用双向链表作数据结构。并制定了初步要求:

(1)每个好友信息包含姓名、性别、住址、邮编、几岁、电话、QQ、微信帐号、生日等。

(2)作为一个完整的系统,应具有友好的界面和较强的容错能力。

二 实验目的

算法是一个程序的核心,没有算法,没有一个明确清晰的逻辑思路,对于搞软件开发的人来说,是一个头痛的问题。而学校开设的这一门数据结构课程,就是专业地讲解了一些基本和重要的结构和算法,让我们接触最底层的逻辑开发。这一切都是一个好的开始。期末悄悄来临了,随着时间的消逝,我们慢慢地进步的吸收了这方面的知识,感觉受益匪浅,这都归功于我们老师的认真负责教学,在这里对易学明老师表示真诚的感谢。而这一次的课程设计报告就是验收我们学生成果的见证。

三 实验环境

本人在这之前只接触C++一门语言,在答辩课程设计前一个月,我就每天很努力地去学习java语法,接触tomcat,各种jar包,集成环境jdk,平台eclipse,学会如何查看问题和解决问题,总之林林总总的开始接触有关JAVA的知识,最终请教了师兄师姐,终于能做出了一个小小的程序。这一次课程设计我是java web来做的。

四 需求分析

顾题思义,好友通讯录,就是用来记录好友的信息,方便查找。同时要满足基本的增删改查才符合人性化。具体请看功能分析。

五 功能分析

这是首页:

1 在这里你会看到一个友好的界面,上面有四个按钮,分别是查增改删的功能,默认首页是查的功能,即是看到个人通讯录的所有好友。在这里还可以通过上一页,下一页,首页,尾页来导航看到众多的好友信息。每个好友都具备了九个属性,分别是姓名,性别,年龄,生日,号码,地址,编码,qq,微信。每个客户都会有一个id号,用来标识就算用户信息一样也存在两个客户。

 





 

2以下是添加好友的界面。进入添加好友界面,就填上好友的个人信息,如果你在添加的时候不知道好友的微信,你可以不填。这个时候程序不会报错,因为我在后台添加了初始默认值,这增强了程序的牢固性。对比上下两张图,你就会发现添加是否成功了。与此同时,你会在页面左上角收到是否插入成功的信息。




3 下面是编辑模块,首先请输入用户名ID号,后台就会自动获取次id号的好友,此时我们就可以对这个用户进行编辑,然后再次提交。看图。






4 删除功能:若果某个好友把我拉近黑名单了,我就会把此好友给删掉了。对比,以下两张图,就会发现此好友真的删掉了。



六 体会

做这个小程序,说简单,其实也挺简单的。但是,我很自豪,因为是自己做的,而且是在挑战自己,因为我用的是课本上还没讲授的一门语言。完全通过自学能力来实现的。但是,唯一不足的是,虽然分页上我实现了通过上一页来找到下一页,但这并非是数据结构老师讲授的知识。或许,当初我就应该用C++语言来实现。但是,老师不要担心,虽然这一次我没有用到这个知识,但其实我已掌握这个双向链表。

七 代码

以下是我的一些关键代码:

Menu.jsp

<%@ page language="java"contentType="text/html; charset=UTF-8"

         pageEncoding="UTF-8"%>

<%@ pageimport="java.util.*,index.*"%>

<%@ tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%> 

<!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">

<title>menu</title>

<link href="css/menu.css"type="text/html" rel="stylesheet">

</head>

<body>

         <div><span>hereis the message:</span>${message}

         </div>

         <center>

                   <formaction="" method="post" id="form_css">

                            <inputtype="button" name="button1" value="个人好友"id="all">

                            <!--<input type="button" name="button1" value="个人好友"id="all" οnclick="window.location.href='open?method=total'">-->

                            <inputtype="button" name="button2" value="添加好友"id="addbtn">

                            <inputtype="button" name="button3" value="编辑好友"id="edit">

                            <inputtype="button" name="button4" value="删除好友"id="delete">

                            <inputtype = "hidden" name = "method" value ="total"><br>

                   </form>

         </center>

<%

                   List<User>lists = (List<User>)request.getAttribute("lists");

                   List<User>list = (List<User>)request.getAttribute("list");

         %>

         <divid="Person">

                   <center>

                   <br>

                            <tableid="grid" border="1px">

                                     <thead>

                                     <tr>

                                               <th>ID</th>    

                                               <th>姓名</th>

                                               <th>性别</th>

                                               <th>年龄</th>

                                               <th>生日</th>

                                               <th>号码</th>

                                               <th>地址</th>

                                               <th>编码</th>

                                               <th>QQ</th>

                                               <th>微信</th>        

                                     </tr>

                                     </thead>

                                     <tbody>

                            <%if(lists!= null){

                                      for(int i =0 ; i <lists.size(); i++){

                                               Useruser = new User();

                                               user= lists.get(i);

                            %>

                            <tr>

                                

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值