数据结构课程设计

本文档是关于数据结构课程设计的报告,作者通过C++实现了通讯录管理系统。在心得体会中,作者强调了实践和编程的乐趣,尽管遇到了技术挑战,但收获颇丰。系统设计部分详细介绍了系统的目的、背景、环境,以及功能需求,包括添加、删除、查询和显示联系人信息。此外,还提供了部分源代码展示。
摘要由CSDN通过智能技术生成

首先是心得体会:

老实说做完这个真的是有心无力啊,原本计划使用java来实现的,本人自学了半个学期的java,感觉比学了一年的C语言更加有把握,但是,在java领域不知道如何使用链表的知识来完成通讯录的功能,其实我用java已经完成了该通讯录的功能了,但是不会引用链表的知识,最后只能选择用C++了,但是C++我把握得很不好,理解的还不够透切,原本在java里面我已经弄好界面和插入,登录,显示,功能了。这份设计我觉得最大的遗憾就是只能做出这样,远没有达到我想要的效果,没有界面,只有一个黑白的控制台是我十分不爽的。单纯地只有那五个功能,还不能满足我们对于通讯录的需求、

我最大的体会是,其实知识真的是很有魅力的,当我上网百度查找我期望的功能时,我就觉得,自己也能够做出来是多么值得骄傲和高兴的意见事情哦,原本以为是海市蜃楼,现在明明就在我的手指中实现、有人说学编程是一条死胡同,但我真的很享受,这段时间几乎每天都在熬夜做设计,我感觉也不错,真的学了好多东西,这些是在课堂上真的无法学到的,虽然有点累,但是那种喜悦的感觉真的倍儿爽,或许这就是知识点魅力吧。最后,感谢课程设计,感谢老师,感谢知识,但对不起了身子,不过,值了,真的值了

接下来是正文啦:

第一部分  绪论

1.1 课程设计的目的..................................................................................................... 3 

1.2 课程设计的背景与意义....................................................................................... 3

1.3 课程设计的环境...................................................................................................... 3 

第二部分  需求分析 

2.1 问题论述.................................................................................................................... 3 

2.2 功能要求................................................................................................................... 3 

 第三部分  系统设计

   3.1 项目说明,包括...........................................3

  3.2 设计的思路和关键数据结构............................................................................... 4

 第四部分   实现功能........................................... 4

第五部分   设计心得和体会                                      5

第一部分  绪论

1.1  课程设计的目的

通过设计一个较为简单的管理系统设计,进一步熟悉和了解数据结构的概念、实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与VisualC++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。

1.2  课程设计的背景与意义

    数据结构是一门实践性和抽象性很强的学科,光靠读书听课是学不好的。衡量学习好坏的标准并不是听不听得懂,作业会不会做,因此在强调多编程多实践。所以课程设计的目的,要熟练掌握数据结构的知识,C++语言的知识和基本技能,利用所学的知识解决面向对象的基本问题,这也是一个巩固基本知识的好的途径。

1.3  课程设计的环境

       本通讯录信息管理系统用计算机管理电子通讯录的一种计算机应用技术,在计算机还未普及之前通讯管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通讯录管理都是采用计算机作为工具的实用的计算机通讯录管理程序来帮助人们进行更有效的通讯录信息管理。通讯录管理系统是典型的信息管理系统,要求应用程序功能完备,易使用等特点。

本次课程设计通讯录管理系统采用的是Microsoft Visual C++6.0 编写程序

第二部分  需求分析

2.1   问题论述

     为方面大家整理自己的联系人,告别杂乱无章的生活。简单整洁的通讯录是现在大众所需的必要产品。

  

2.2   功能要求

实现通讯录管理系统的基本功能,可以实现电话用户的查询、电话号码的查询、电话号码的添加及删除等功能,以方便人们的记录和通讯,极大地方便人们的生活

 第三部分   系统设计

3.1 项目说明

(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。  

(2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。

(3)运行上可行性

(4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,同时会

得到学校工作人员的一致同意的。

综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。

3.2 设计的思路和关键数据结构

 .程序流程

系统的执行应从功能菜单选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如图所示

 第四部分   实现功能

 

1、      通讯录信息添加功能

查询这个方面:用户可以输入联系人的姓名、电话号码及住址,联系方式等。

进入主菜单界面,按照提示,输入1,进入通讯录添加功能模块。 输入你想要搜索通讯人的姓名  屏幕输出所搜索通讯人相关信息。  出现提示信息,是否继续,选1,回到主菜单, 选择0,退出程序。

2、      通讯录信息删除功能

在删除功能模板里面,用户只需要输入所需要删除的联系人的名字,就可以删除该联系人的所有信息,包括住址,联系方式等等。

3、通讯录信息查找功能

     在这个功能模板里面,用户只需要知道想要查找的联系人的名字,就可以查找到该联系人的所有的信息。

3、      通讯录信息显示功能

在通讯录信息显示功能模板,用户可以显示出之前所有输入的联系人的所有的信息,包括姓名,联系方式,家庭住址等等

5、用户登录

       登陆界面,用户必须输入正确的密码用用户账号才可以登陆通信录管理系统,其他外来用户无法进入本系统,保护了用户的信息安全。    

第五部分   心得体会

#include<iostream>

#include<iomanip>

#include"windows.h"

using namespace std;

 

struct Phone

{

 charname[10];            //姓名

 charnumber[12];         //电话号码

 charadd[30];           //住址

 charpost[20];         //邮编

 intage;              //年龄

 charsex[2];         //性别

 charQQ[11];        //QQ

 charweixin[11];   //微信

 charbirth[20];   //生日

 struct Phone *next;

};

 

typedef struct Phone Node;

typedef Node *pNode;

 

void Check(pNode pHead)

{

 pNode ptr;

 ptr=pHead;

 charckName[10];

 cout<<"请输入您要查询人的姓名:"<<endl;

 cin>>ckName;

 while (ptr)

 {

  if(strcmp(ptr->name,ckName)==0)//strcmp是比较两个字符串是否相等

  {

  cout<<"您要查询的人的号码是:"<<ptr->number<<endl;

  cout<<"您要查询的人的地址是:"<<ptr->add<<endl;

  cout<<"您要查询的人的邮编是:"<<ptr->post<<endl;

  cout<<"您要查询的人的年龄是:"<<ptr->age<<endl;

  cout<<"您要查询的人的性别是:"<<ptr->sex<<endl;

  cout<<"您要查询的人的QQ是:"<<ptr->QQ<<endl;

  cout<<"您要查询的人的微信是:"<<ptr->weixin<<endl;

  cout<<"您要查询的人的生日是:"<<ptr->birth<<endl;

  break;

  }

 else

  {

  ptr=ptr->next;

  cout<<"您要查询的人的号码不存在!"<<endl;

  }

 

 }

}

 

void AddNewItem(pNode &pHead)

{

 pNode ptr;

 pNode newnode=new Node;

 ptr=NULL;

 

 cout<<"请输入您要添加人的姓名:"<<endl;

 cin>>newnode->name;

 cout<<"请输入您要添加人的电话号码:"<<endl;

 cin>>newnode->number;

 cout<<"请输入您要添加人的地址:"<<endl;

 cin>>newnode->add;

 cout<<"请输入您要添加人的邮编:"<<endl;

 cin>>newnode->post;

 cout<<"请输入您要添加人的年龄:"<<endl;

 cin>>newnode->age;

 cout<<"请输入您要添加人的性别:"<<endl;

 cin>>newnode->sex;

 cout<<"请输入您要添加人的QQ:"<<endl;

 cin>>newnode->QQ;

 cout<<"请输入您要添加人的微信:"<<endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值