# 失物招领系统
## 1 需求分析
如今校园里丢失东西的现象很常见,所以经过自己思考打算做一个学校失物招领系统,将学生捡到的物品进行汇总,同时提供给同学查询丢失物品信息的权利,以便于及时去寻找自己丢失的物品。该系统面向对象有两种,一为管理员,另一为用户(学生),管理员管理丢失物品的信息以及用户的信息。管理员可以录入,增添,删除,修改,查询以及对物品进行排序;同时也可以录入,增加,删除,修改,查询用户的信息。而用户的功能仅仅是查询和浏览物品的信息。另外要求管理员看到的信息与用户看到的是不同的,用户只可以查看到物品的部分信息,而管理员则可以看到物品的全部信息。以便于用户去认领物品时,利用更多关于物品的信息去和用户丢失物品进行比较,判断是否属于该用户。物品的信息,包括序号,物品的名称,物品捡到人的姓名,物品的类别,物品捡到的地点,物品的捡到的时间,以及物品的特点;用户的信息包括姓名,学号和密码。
### 1.1 管理员部分:(对用户信息的管理)
#### 1.1.1 录入用户信息
能录入新数据(姓名、学号、密码),例如:张三 201616010566 878787
当录入的姓名为 0 时录入结束。
#### 1.1.2 增添用户信息
能够添加用户信息(姓名、学号、密码),当输入姓名为 0 时录入结束。
#### 1.1.3 删除用户信息(不同方式查找删除)
可以按照姓名和学号进行删除。
#### 1.1.4 修改用户信息(可选择性修改)
可以根据姓名查找要修改的用户,如果找到则可以修改用户的部分信息(姓名,学号,密码)如果未找到则输出未找到。
### 1.1.5 查询用户信息(不同方式查找,均为精确查找)
可以按照姓名,学号,密码进行查询,而且可以进行部分查询,可以根据学号进行对一个班级的同学或一个年级的同学进行查询。
### 1.1.6 浏览用户信息
浏览用户的全部信息。
### 1.2 管理员部分:(对物品信息的管理)
#### 1.2.1 录入物品信息
能录入新数据,例如:编号,名称,姓名(捡到者),类型,地点,时间,特点。当录入编号为负数时结束录入。
#### 1.2.2 增添物品信息
能增加物品的信息,当输入编号为负数时,增加结束。
#### 1.2.3 删除物品信息(根据不同需求)
可以选择按编号,名称,姓名,类型,地点,时间进行删除。
#### 1.2.4 修改物品信息(选择性修改)
可以根据物品的序号查找到要修改的信息,可以对物品的编号,名称,姓名,类型,地点,时间进行修改。
#### 1.2.5 查询物品信息(模糊(关键字),分类,时间段,精确)
可以根据编号,名称,姓名,类型,地点,时间,时间段来进行查询。而且对名称的查询为模糊查询,对类型的查询为分类查询,对地点的查询为模糊查询可以查询某一地点附近的丢失物品的信息,对时间的查询为精确查询,对时间段的查询,可以查询某一时间段内丢失物品的信息。
#### 1.2.6 给物品进行排序(采用冒泡排序法 )
可以根据物品的序号,日期对其进行排序。
#### 1.2.7 浏览所有物品的信息
遍历物品的链表将物品显示出来。
### 1.3 用户部分
#### 1.3.1 查询物品的信息(部分信息)
用户可以根据名称按照关键字进行模糊查询,按照类型进行分类查询,按照丢失地点部分信息来进行模糊查询,还可更具丢失时间的具体时间来进行精确查询,或者时间段来进行定位查询。但是不管以何种方式查询,查询到的都为物品的部分信息。只有管理员才可查询全部信息。
#### 1.3.2 浏览全部物品的信息(按照时间先后显示)
用户可以浏览全部丢失物品的有关信息,而且是按照时间先后来进行排序的,以方便用户的查看。
#### 1.3.3 统计哪类物品丢失的最严重并显示在用户界面最上方
经过对类型加以统计,在用户界面最上方提醒用户对这类物品注意保存。
### 1.4 密码部分
#### 1.4.1 管理员登录
管理员进行登陆时,三次密码输入错误登陆失败。
#### 1.4.2 管理员修改密码
管理员进行修改密码时需要先输入原来的密码,若输入错误则退出系统,正确则输入修改后的密码,然后再次输入,若两次一致则密码修改成功,否则重新进行输入修改后的密码部分。
#### 1.4.3 用户登录
用户首先输入学号,若学号不存在则输出不存在,登录失败,若存在然后输入密码,若密码错误则重新输入密码,三次密码错误,退出系统。
## 2 概要设计
### 2.1 数据类型的定义
1. 定义物品的单链表类型
```c++
struct node{
int num;
char name[20];
char auther[20];
char type[20];
char where[20];
char date[20];
char Tedian[20];
struct node next;
};
```
2. 定义用户的单链表类型
```c++
struct User
{
char Xingming[20];
char card[20];
char pass[20];
struct User next;
};
```
## 2.2 功能模块结构图
根据需求分析,为了满足用户的功能需求,按照软件开发方法学中的模块划分原则,我将本系统主要划分为如下模块,各模块之间的关系如图 1 所示。![](https://www.writebug.com/myres/static/uploads/2021/10/27/20fb8a33a592f4f6a696c0602cc29d97.writebug)
图 1 模块结构图
为了实现上述功能模块,分别在物品和用户单链表物理结构上定义了多个函数,本系统定义的函数和功能如下:
1. 物品部分
```c++
void input();//录入物品信息函数
void insert(struct node head);//插入物品信息函数
void modify(struct node head);//修改物品信息函数
void search(struct node head );//查询物品信息函数
void rankbynum( struct node head);//排序函数
void swap(struct node p1,struct node p2);//交换函数,用于排序功能中
void showall(struct node pl);//遍历函数,用于浏览物品信息
int deletething(struct node head);//删除物品信息函数
```
2.用户部分
```c++
void inputU();//用户录入
void insertY(struct User head);//添加用户
int deleteUser(struct User head); //删除用户
void showallUser(struct User p1);//浏览用户
void modifyUser(struct User head);//修改用户信息
void searchU(struct User head);// 查询用户信息 。
void loginU(struct User head);//用户登录
void Usearch(struct node head);//用户查询
void Ushowall(struct node pl);//用户浏览 (日期按时间先后的顺序)
void Partshowall(struct node pl);//部分遍历(用于用户浏览)
```
3.权限部分
```c++
void checkfirst();//密码初始化
void login();//登陆
void update();//修改密码
```
## 3 运行环境
1. 硬件环境:PC 机内存 256M;硬盘 40G
2. 软件环境:操作系统:windows7
## 4 开发工具和编程语言
开发环境:Visual C++ 或者 DEV C++
编程语言:C 语言
## 5 详细设计
在概要设计的基础上,对每个模块进行内部逻辑处理部分详细设计。下面分别列出各个模块具体实现流程图:
### 5.1.1 录入用户信息
首先输入姓名,判断姓名是否为字符串“0”若是则结束,否则输入学号,再输入密码,然后节点后移,再按此步骤继续进行直到结束,最后将其写入文件。
![](https://www.writebug.com/myres/static/uploads/2021/10/27/e47d8fa4a00e6800831472b7bf166ad6.writebug)
调试分析:调节字符串的长度,保证名字较长的可以完全存进文件,而且学号和密码可以存进文件中,因为密码为身份证后 6 位,得确保其可以存进数字与字母组合,应当采用字符存储。但应确保不过�
没有合适的资源?快使用搜索试试~ 我知道了~
基于C++实现的(控制台)失物招领系统【100010910】
共5个文件
md:1个
cpp:1个
doc:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 150 浏览量
2023-02-23
09:47:48
上传
评论
收藏 938KB ZIP 举报
温馨提示
如今校园里丢失东西的现象很常见,所以经过自己思考打算做一个学校失物招领系统,将学生捡到的物品进行汇总,同时提供给同学查询丢失物品信息的权利,以便于及时去寻找自己丢失的物品。该系统面向对象有两种,一为管理员,另一为用户(学生),管理员管理丢失物品的信息以及用户的信息。管理员可以录入,增添,删除,修改,查询以及对物品进行排序;同时也可以录入,增加,删除,修改,查询用户的信息。而用户的功能仅仅是查询和浏览物品的信息。另外要求管理员看到的信息与用户看到的是不同的,用户只可以查看到物品的部分信息,而管理员则可以看到物品的全部信息。以便于用户去认领物品时,利用更多关于物品的信息去和用户丢失物品进行比较,判断是否属于该用户。物品的信息,包括序号,物品的名称,物品捡到人的姓名,物品的类别,物品捡到的地点,物品的捡到的时间,以及物品的特点;用户的信息包括姓名,学号和密码。
资源推荐
资源详情
资源评论
收起资源包目录
100010910-基于C++实现的(控制台)失物招领系统.zip (5个子文件)
lost
失物招领整体源码.docx 36KB
LICENSE 1KB
校园失物招领.cpp 46KB
校园失物招领管理系统报告.doc 1.3MB
README.md 72KB
共 5 条
- 1
资源评论
- 拾8992023-06-11资源和描述一致,质量不错,解决了我的问题,感谢资源主。
- 2301_781703252023-06-05终于找到了超赞的宝藏资源,果断冲冲冲,支持!
神仙别闹
- 粉丝: 2676
- 资源: 7663
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功