C++核心编程
C++核心编程本阶段主要针对C++==面向对象==编程技术做详细讲解,探讨C++中的核心和精髓。 1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义: 不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程 1.1 程序运行前 在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域 代码区: 存放 CPU 执行的机器指令 代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可 代码区是只读的,使其只读的原因是防止程序意外地修改了它的指令 全局区: 全局变量和静态变量存放在此. 全局区还包含了常量区,...
C++提高编程
C++提高编程 本阶段主要针对C++==泛型编程==和==STL==技术做详细讲解,探讨C++更深层的使用 1 模板1.1 模板的概念模板就是建立通用的模具,大大提高复用性 例如生活中的模板 一寸照片模板: PPT模板: 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 1.2 函数模板 C++另一种编程思想称为 ==泛型编程== ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 1.2.1 函数模板语法函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: 12template<typename T>函数声明或定义 解释: template — 声明创建模板 typename — 表面其后面的符号是一种数据类型,可以用class代替 T — ...
演讲比赛流程管理系统
演讲比赛流程管理系统1、 演讲比赛程序需求 1.1 比赛规则 学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。 比赛方式:分组比赛,每组6个人;选手每次要随机分组,进行比赛 每名选手都有对应的编号,如 10001 ~ 10012 第一轮分为两个小组,每组6个人。 整体按照选手编号进行抽签后顺序演讲。 当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮的比赛。 第二轮为决赛,前三名胜出 每轮比赛过后需要显示晋级选手的信息 1.2 程序功能 开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段 查看往届记录:查看之前比赛前三名结果,每次比赛都会记录到文件中,文件用.csv后缀名保存 清空比赛记录:将文件中数据清空 退出比赛程序:可以退出当前程序 1.3 程序效果图: 2、 项目创建创建项目步骤如下: 创建新项目 添加文件 2.1 创建项目 打开vs2017后,点击创建新项目,创建新的C++项目 如图: 填写项目名称以及选取项目路径,点击确定生成项目 2.2...
机房预约系统
机房预约系统1、机房预约系统需求1.1 系统简介 学校现有几个规格不同的机房,由于使用时经常出现”撞车”现象,现开发一套机房预约系统,解决这一问题。 1.2 身份简介分别有三种身份使用该程序 学生代表:申请使用机房 教师:审核学生的预约申请 管理员:给学生、教师创建账号 1.3 机房简介机房总共有3间 1号机房 — 最大容量20人 2号机房 — 最多容量50人 3号机房 — 最多容量100人 1.4 申请简介 申请的订单每周由管理员负责清空。 学生可以预约未来一周内的机房使用,预约的日期为周一至周五,预约时需要选择预约时段(上午、下午) 教师来审核预约,依据实际情况审核预约通过或者不通过 1.5 系统具体需求 首先进入登录界面,可选登录身份有: 学生代表 老师 管理员 退出 每个身份都需要进行验证后,进入子菜单 学生需要输入 :学号、姓名、登录密码 老师需要输入:职工号、姓名、登录密码 管理员需要输入:管理员姓名、登录密码 学生具体功能 申请预约 — 预约机房 查看自身的预约 — 查看自己的预约状态 查看所有预约 — ...
通讯录管理系统
通讯录管理系统1、系统需求通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C++来实现一个通讯录管理系统 系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人 显示联系人:显示通讯录中所有联系人信息 删除联系人:按照姓名进行删除指定联系人 查找联系人:按照姓名查看指定联系人信息 修改联系人:按照姓名重新修改指定联系人 清空联系人:清空通讯录中所有信息 退出通讯录:退出当前使用的通讯录 2、创建项目创建项目步骤如下: 创建新项目 添加文件 2.1 创建项目打开vs2017后,点击创建新项目,创建新的C++项目 填写项目名称,选择项目路径 2.2添加文件 添加成功后,效果如图: 至此,项目已创建完毕 3、菜单功能功能描述: 用户选择功能的界面 菜单界面效果如下图: 步骤: 封装函数显示该界面 如 void...
职工管理系统
职工管理系统1、管理系统需求职工管理系统可以用来管理公司内所有员工的信息 本教程主要利用C++来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责 普通员工职责:完成经理交给的任务 经理职责:完成老板交给的任务,并下发任务给员工 老板职责:管理公司所有事务 管理系统中需要实现的功能如下: 退出管理程序:退出当前管理系统 增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号 显示职工信息:显示公司内部所有职工的信息 删除离职职工:按照编号删除指定的职工 修改职工信息:按照编号修改职工个人信息 查找职工信息:按照职工的编号或者职工的姓名进行查找相关的人员信息 按照编号排序:按照职工编号,进行排序,排序规则由用户指定 清空所有文档:清空文件中记录的所有职工信息 (清空前需要再次确认,防止误删) 系统界面效果图如下: 需根据用户不同的选择,完成不同的功能! 2、创建项目创建项目步骤如下: 创建新项目 添加文件 2.1...
Design-patterns
🎉 Ultra-simplified explanation to design patterns! 🎉 A topic that can easily make anyone's mind wobble. Here I try to make them stick in to your mind (and maybe mine) by explaining them in the simplest way possible. Check out my blog and say “hi” on Twitter. IntroductionDesign patterns are solutions to recurring problems; guidelines on how to tackle certain problems. They are not classes, packages or libraries that you can plug into your application and wait for the magic to...
Mybatis
第一章 初识Mybatis 1.1 框架概述 生活中“框架” 买房子 笔记本电脑 程序中框架【代码半成品】 Mybatis框架:持久化层框架【dao层】 SpringMVC框架:控制层框架【Servlet层】 Spring框架:全能… 1.2 Mybatis简介 Mybatis是一个半自动化持久化层ORM框架 ORM:Object Relational Mapping【对象 关系 映射】 将Java中的对象与数据库中表建议映射关系,优势:操作Java中的对象,就可以影响数据库中表的数据 Mybatis与Hibernate对比 Mybatis是一个半自动化【需要手写SQL】 Hibernate是全自动化【无需手写SQL】 Mybatis与JDBC对比 JDBC中的SQL与Java代码耦合度高 Mybatis将SQL与Java代码解耦 Java POJO(Plain Old Java Objects,普通老式 Java 对象) JavaBean 等同于 POJO 1.3...
Maven
回顾:JavaSE JavaWeb SSM阶段 高级 项目阶段 …. JavaSE JDK 变量 数据类型 运算符 流程控制 数组 类和对象【JavaOOP】 集合与泛型 IO 常用类 反射 设计模式 网络编程 JDBC Mysql … JavaWeb【B/S】 浏览器:HTML、CSS、JavaScript、Vue、Axios、Cookie … 服务器:Tomcat、Http、Servlet、Filter、Listener、Session、Thymeleaf… SSM【Spring SpringMVC Mybatis】 Maven第一章...
C++基础入门
C++基础入门 1 C++初识1.1 第一个C++程序编写一个C++程序总共分为4个步骤 创建项目 创建文件 编写代码 运行程序 1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 1.1.2 创建文件右键源文件,选择添加->新建项 给C++文件起个名称,然后点击添加即可。 1.1.3 编写代码1234567891011#include<iostream>using namespace std;int main() { cout << "Hello world" << endl; system("pause"); return 0;} 1.1.4 运行程序 1.2 注释作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码 两种格式 单行注释:// 描述信息 通常放在一行代码的上方,或者一条语句的末尾,==对该行代码说明== 多行注释: /* 描述信息...