个人介绍
我是程序员客栈的忆梦怀思,一名在校生,专业是软件工程(嵌入式),前后端都有过涉及;
在时间充裕的情况下喜欢多学习一些新的技能;
也希望通过网上兼职的形式更进一步的提升自己的能力;
如果我能帮上您的忙,请点击“立即预约”或“发布需求”,感谢!
工作经历
2022-08-26 -2023-12-31易云科技有限公司网络工程师
我的主要职能和工作内容就是测试客户发来的网站进行漏洞测试,检查出是否有相关的漏洞并及时反馈给客户
教育经历
2022-08-26 - 2023-12-31淮阴工学院软件工程(嵌入式)本科
资质认证
技能
1. 功能模块和可实现的功能 此项目主要包含以下功能模块: 1)学生信息管理: 通过 Student 类管理学生的基本信息,如姓名、学号、性别、班级和年龄。 2)床位管理: Bed 类负责管理单个床位的信息,包括床位号、是否被占用以及入住学生的信息。 3)宿舍管理: Dorm 类管理单个宿舍的信息,包括宿舍号、床位数量、剩余床位数、宿舍性别属性和床位列表。 4)宿舍集合管理: collegeDormSet 类负责管理整个学校的宿舍集合,提供了添加学生、退房、查询和统计功能。 2. 负责的任务、技术栈和成果 在此项目中,我负责的任务包括: 1)设计和实现学生信息管理系统。 2)实现床位和宿舍的管理逻辑。 3)开发宿舍集合管理系统,用于处理学生入住、退房等操作。 技术栈主要是: 1)使用 C++ 编程语言。 2)采用面向对象编程方法。 3)实现文件读写操作来持久化数据。 最终成果是一个综合的学生宿舍管理系统,它能够有效地处理学生住宿相关的各种操作。 3. 难点与解决方法 1)内存管理: 在 Dorm 和 collegeDormSet 类中使用动态内存分配来管理床位和宿舍的数组。解决方法是确保正确使用 new 和 delete[] 来避免内存泄漏。 2)深拷贝问题: 在类的复制构造函数和赋值运算符中实现深拷贝,以防止共享同一内存地址的问题。解决方法是为每个对象分配新的内存并逐一复制数据。 3)床位分配逻辑: 确保在给定性别和宿舍条件下正确分配床位。解决方法是在 add 方法中加入适当的逻辑判断,以确保宿舍分配的正确性。
1. 功能模块和可实现的功能 该项目作品主要分为以下功能模块: 1)学生信息管理: 包括学生信息的添加、删除和修改。用户可以录入新学生的详细信息,更新现有学生的信息,或从系统中删除学生。 2)成绩管理: 用户可以更新学生的成绩,系统会自动计算总分和平均分。 3)查询功能: 提供根据学号或姓名查询单个学生信息的功能,以及根据班级查询整个班级的学生信息。 4)成绩排序: 用户可以根据学生成绩进行升序或降序排序。 5)不及格统计: 统计指定班级中每门专业课的不及格人数。 6)文件操作: 包括从文件加载学生信息和将学生信息保存到文件。 2. 负责的任务、技术栈和成果 在此项目中,我负责的任务包括: 学生信息管理逻辑实现: 使用 C++ 编程语言实现学生信息的添加、删除和修改逻辑。 成绩管理逻辑: 实现成绩更新功能,并自动计算学生的总分和平均分。 查询和排序功能实现: 开发查询单个学生和班级信息的功能,以及成绩的排序功能。 文件读写操作: 使用 C++ 的文件流(fstream)来实现学生信息的读取和保存。 最终成果是一个能够管理学生信息和成绩的系统,提供了数据持久化和查询排序等功能。 3. 难点与解决方法 数据结构选择: 需要选择合适的数据结构来存储和管理大量学生信息。解决方法是使用 C++ 标准模板库中的数组和字符串来存储学生信息。 文件操作的错误处理: 在读写文件时可能会遇到各种错误,例如文件不存在或格式错误。解决方法是通过检查文件流的状态(如 is_open())并使用异常处理来确保程序稳定运行。 性能优化: 在处理大量数据时,需要考虑算法的效率。解决方法是使用有效的排序算法,并在查询操作中采取优化措施,如避免不必要的遍历。
1.功能模块分析 该项目作品主要分为以下功能模块: 1)创建集合: 用户可以创建一个新集合,指定集合名称和包含的元素。 2)显示所有集合: 显示当前所有创建的集合及其元素。 3)保存集合到文件: 将当前所有集合保存到指定的文件中。 4)从文件读取集合: 从指定文件中读取集合信息。 5)集合的交集、并集和差集: 计算两个集合的交集、并集和差集。 6)检查集合的子集: 判断一个集合是否是另一个集合的子集。 7)集合的笛卡尔积: 计算两个集合的笛卡尔积。 8)计算集合的大小: 获取特定集合的元素数量。 9)计算集合的补集: 计算一个集合相对于另一个集合的补集。 10)计算集合的幂集: 生成一个集合的所有子集构成的集合(幂集)。 11)计算集合的排列: 生成集合元素的所有排列。 12)计算集合的组合: 生成集合中特定数量元素的所有组合。 13)检查两个集合是否相等: 判断两个集合是否包含相同的元素。 2.个人任务和技术栈分析 负责任务: 在项目中,我主要负责实现集合的各项操作功能,包括集合的创建、展示、保存和加载,以及集合间的数学运算(如交集、并集、差集、子集判断、笛卡尔积等)。此外,还包括集合的属性查询(如大小、排列、组合、幂集等)。 技术栈: C++语言: 用于实现整个项目的主要编程语言。 STL(标准模板库): 使用了STL中的容器类如set、map、vector等,以及相关的算法如set_intersection、set_union等。 文件操作: 使用C++的文件流(ifstream和ofstream)进行集合数据的保存和加载。 成果: 成功实现了一个功能完善的集合管理系统,支持各类集合操作和属性查询,具有良好的用户交互界面和数据持久化功能。 3.难点及解决方案 难点1: 实现集合间复杂的数学运算(如笛卡尔积、幂集等)可能比较困难。 解决方案: 熟练掌握STL提供的各种算法和容器的使用,特别是对set和vector的操作,以及如何有效地使用迭代器进行集合操作。 难点2: 文件操作中的异常处理,确保数据的正确保存和加载。 解决方案: 在文件操作时添加异常处理机制,确保在文件无法打开或读写时,可以捕获和处理可能发生的异常,并保护程序不受意外情况的影响。