# **一、项目技术路线说明**
学生信息管理系统所使用的编程语言是C++语言。C++语言具有面向对象的特点,给编写程序带来了极大地方便。学生信息管理系统程序设计通过抽象、封装、继承和多态使程序代码达到了很大限度的可重用和可扩展。而程序中的多种多样的类是此次程序设计的重要组成部分,利用这些类可以实现数据的封装,隐蔽。通过这些类的派生与继承,能够实现对问题的抽象描述。除此之外,此次程序设计所运用到的泛型程序设计思想、STL标准模板库、I/O流类库、文件操作以及异常处理是本程序设计的核心。
在程序设计中,数据的共享与保护显得尤为重要。设置常成员、常对象、常引用和常指针等对数据进行保护,增强程序代码的安全性可靠性。
在程序的组织上,采用多文件结构。将类的声明和定义在不同文件中实现,可以对不同文件进行单独编写、编译,最后再连接。同时利用类的封装性,在调试程序、修改代码时,只对某一个类的定义和实现进行修改,可以提高程序编写效率。
在程序中适当使用多态机制。声明抽象类,为整个类族提供了统一的对外接口。使用指向派生类的指针就可以对派生类的对象进行统一操作。
在程序中巧用泛型程序设计及STL标准模板库,可以提高程序编写效率。泛型程序设计是一种重标要的程序设计方法,在程序中合理利用泛型程序设计,提高了代码可重用性。STL准模板库是C++标准库的一部分,协调使用其中的容器,迭代器,函数对象以及算法,会使学生信息管理系统程序的编写更容易。
学生信息的管理实质就是数据的管理,数据的管理离不开文件操作和输入输出。因此,在程序中合理使用文件操作和输入输出,能给数据处理带来极大得方便。
数据处理会出现许多极端情况,在程序中增加异常处理,能提高程序的容错能力。
学生信息管理系统算法的实现主要依赖于对泛型程序设计思想、STL标准模板库、I/O流类库、文件操作以及异常处理的充分理解和恰当使用。利用STL标准模板库及文件操作设计了一个简单的数据库,极大得方便了数据的的存储和访问,也方便了学生信息的格式化输出。
项目需求分析
# **二、项目需求分析**
## **2.1项目介绍**
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如信息的录入、浏览、排序、查询、统计、修改、删除,针对这些要求设计了学生信息管理系统。
## **2.2功能需求**
### 2.2.1 管理员对系统的管理功能
管理员可以通过账号登入系统,系统主要对学生信息进行收集整理和存储。管理员在学生基本信息上可以进行添加、修改和删除数据。除此之外,管理员可以对系统进行升级和维护。
### 2.2.2 学生和教师对系统的查看、查询和信息录入等功能
(1) 学生登入系统后可以查看自己的相关信息:
学生个人信息:姓名、学号、性别、年龄、出生年月、籍贯、家庭住址、电话号码、邮箱、班级和政治面貌。
(2) 教师登入系统后可以查看和操作学生的相关信息
可以查看:姓名、学号、性别、年龄、出生年月、籍贯、家庭住址、电话号码、邮箱、班级和政治面貌等学生基本信息。
可以录入、浏览和查询学生信息,也可以对学生信息进行排序、统计、删除和修改等。
# **三、系统分析与设计**
## **3.1本程序需解决的关键技术问题**
### 3.1.1个人账号注册
学生信息管理系统应具有账户注册功能,账户由账号和密码组成,其中需要解决的关键技术问题有:
1) 如何存储账号和密码,使得二次登陆时,可以通过验证账号和密码登入系统。
1) 当注册账户和登陆账户时,如何实现隐藏输入密码,保证信息安全。
1) 如何将固定账户与固定学生信息进行绑定,使得每次使用账户登入系统,学生信息都存在且可以直接进行操作。
1) 一个账户应具有修改密码功能,如何实现密码修改,使得与账号绑定的学生信息不变。
### 3.1.2学生信息管理
学生信息管理系统主要实现对学生信息的存储和整理,其中需要解决的技术问题有:
1. 学生信息管理系统可以对学生信息进行录入,格式化录入学生信息以及存储学生信息,便是主要问题。其中存储学生信息本质上是对数据的存储,如何设计数据结构,使得内存可以动态分配,数据动态存储。
1. 学生信息管理系统可以对学生信息进行不同程度的排序,按不同排序标准对学生信息排序,是当下面临的问题。
1. 学生信息管理系统可以对学生信息进行广度和深度查询,实现按不同查询标准对学生信息进行精准查询,是写程序所面临的问题之一。
1. 学生信息管理系统提供了分类统计学生信息功能,如何运用分类统计的思想,实现对学生信息的分类统计。
1. 学生信息管理系统还可以对学生信息进行修改和删除,如何实现对学生信息进行修改和删除。
1. 如何在基于以上操作的情况下,当再次进入固定账户时,学生信息依然可以同步。
## **3.2程序流程**
程序流程如图流程图 图3-2所示
![qt\_temp](img/Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.008.png)
图3-2
## **3.3功能模块**
学生信息管理系统功能模块分为:
1) 账户注册:用户在学生信息管理系统上注册一个属于自己的账号,用此账号管理学生信息。
1) 信息录入:允许用户录入学生信息,并对学生信息分类保存到磁盘文件中。当用户再次登入系统时,磁盘文件信息会自动被读取到内存中,起到同步作用。
1) 信息浏览:可对学生信息进行浏览。
1) 信息排序:允许用户按学号、出生日期对学生进行排序。
1) 查询信息:用户可以按学号、姓名、性别、出生日期和籍贯进行信息查询。
1) 统计信息:允许用户按性别、出生日期、籍贯、班级和政治面貌进行统计学生情况,并计算出所占比例,输出统计表。
1) 删除信息:允许用户输入学号,删除学号对应的所有信息。
1) 修改信息:用户可以按学号,修改学号对应的学生信息。
1. 修改密码:当用户输入正确的账号和密码时,才能修改本账号的密码。修改密码会有确定密码进行验证,防止用户手误输错。
## **3.4类的设计**
依据2.2功能需求分析以及3.1需要解决的关键技术问题进行类的设计。
### 3.4.1 账户类设计
用户可以在学生信息管理系统上注册一个属于自己的账号,用此账号管理学生信息。
首先,可以设计一个账户类Account来表示账户,类内含账号和密码两个主要数据成员。通常,我们在注册账号时,设置密码会有两个环节,一个是设置密码,另一个是输入确认密码,确认密码有效防止了用户手误输错。因此,可以用一个数组code[2]存储密码,数组元素code[1]表示确认密码。
为了保证用户账号密码安全,可以设计一个函数hide Password来隐藏输入密码,用\*号代替密码,同时支持退格重新输入。
当用户在进�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如信息的录入、浏览、排序、查询、统计、修改、删除,针对这些要求设计了学生信息管理系统。 详细介绍参考:https://blog.csdn.net/sheziqiong/article/details/129911818
资源推荐
资源详情
资源评论
收起资源包目录
基于C++的学生信息管理系统.zip (75个子文件)
smsbonc
LICENSE 1KB
img
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.034.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.003.png 154B
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.026.png 9KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.029.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.032.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.044.png 3KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.009.png 177KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.020.png 26KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.012.png 9KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.008.png 73KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.041.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.030.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.015.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.042.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.024.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.002.png 154B
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.017.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.007.jpeg 22KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.019.png 9KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.021.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.038.png 9KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.013.png 5KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.010.png 5KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.028.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.045.png 5KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.040.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.014.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.027.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.011.png 5KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.035.png 5KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.025.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.022.png 7KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.006.png 150B
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.036.png 5KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.018.png 9KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.016.png 4KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.031.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.023.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.033.png 8KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.037.png 20KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.043.png 10KB
Aspose.Words.ebaeb890-28fd-479b-b38f-e73db28561b6.039.png 9KB
README.md 36KB
project
Student Information Management System.sln 1KB
.gitattributes 2KB
Student Information Management System
ReadMe
Test Data.txt 960B
readMe.txt 31B
帮助.txt 345B
Student Information Management System.vcxproj.filters 2KB
SConsole.h 651B
SStudent.h 2KB
SConsole.cpp 2KB
Data output
8002118181.txt 122B
8002118184.txt 122B
8002118182.txt 122B
8002118169.txt 121B
8002118187.txt 116B
8002118180.txt 114B
8002118179.txt 120B
8002118168.txt 116B
SManage.h 5KB
main.cpp 879B
SAccount.cpp 5KB
Student Information Management System.vcxproj 8KB
STime.cpp 1KB
男 310B
SManage.cpp 11KB
SMenu.h 425B
SMenu.cpp 6KB
STime.h 467B
Password
123456.txt 21B
SAccount.h 946B
SStudent.cpp 850B
.gitignore 4KB
共 75 条
- 1
资源评论
shejizuopin
- 粉丝: 9497
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功