自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tianya_team

欢迎订阅公众号:IT程序员开发

  • 博客(221)
  • 收藏
  • 关注

原创 航空公司管理系统(迷你版12306)

今天分享一个之前辅导留学生的作业,作业要求如下:seats.功能主要有3个模块:1.管理员模块,管理员可以管理新航班、价格、日期、机场等。2.票务代理模块,可以灵活搜索客户查询的航班信息。这些信息包括航班id、付款详细信息、预订截止日期、,路线、分配的座位、座位计划的观看设施等。客户可以进行预定,修改以及退票操作。3.统计模块:可以检索航空公司运营的统计数据,例如每种类型的飞机数量、每次航班的乘客总数、总收入等。

2024-01-06 21:53:26 1235

原创 代理模式

尽管Decorator的实现部分与代理相似,但Decorator的目的不一样。Decorator为对象添加一个或多个功能,而代理则控制对对象的访问。意图:       为其他对象提供一种代理以控制对这个对象的访问。适用性:       在需要用比较通用和复杂的对象指针代替简单的的指针的时候,使用代理模式。       1、远程代理,也就是为一个对象在不同的地

2018-01-13 17:28:05 304

原创 docker使用

什么是Docker•是一个开源的引擎。•可以轻松的为任何应用创建一个轻量级、可移植、自给自足的容器。•开发者在笔记本测试通过的容器可以批量的在生产环境中部署。Docker特性•速度飞快以及优雅的隔离框架•物美价廉•CPU/内存的低消耗•快速开/关机•跨云计算基础框架Docker三个基本要素•Docker Containers:负责应用程序

2017-11-07 21:02:47 400

原创 生成Send Report的rtcp包接口

RTP需要RTCP为其服务质量提供保证,因此下面介绍一下RTCP的相关知识。RTCP的主要功能是:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。在RTP会话期 间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,各参与者可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,它们能以有效的反

2017-10-12 20:43:42 1993

原创 QtCharts动态的显示折线图

本本提供一个可以动态绘制折线图的接口Graph,该接口只提供了每次加入一个点的方法,其他方法可以在此基础上添加。绘制曲线图等类似。QT版本:QT5.7或以上QT5.5或5.6可以按照如下方法部署QtCharts:1.下载qtchartsgit clone https://github.com/qt/qtcharts.gitgit checkout 5.72.配置

2017-09-12 11:20:20 4629 1

原创 GetUdpTable获得UDP端口使用信息

函数原型参考https://msdn.microsoft.com/zh-cn/library/windows/desktop/aa366033(v=vs.85)本文主要使用windows系统提供的GetUdpTable函数来获得指定端口是否被UDP使用,TCP端口使用情况类似,GetTcpTable函数可以实现。// PortMonitoring.h: interface for

2017-08-23 11:50:12 1929

原创 QT通过按钮browse文件夹

使用QFileDialog非常好用。void HandleThreadAndTest::sBrowseFile(){ QString path = QFileDialog::getOpenFileName(this, tr("Open .pacp"), ".", tr("Pcap Files(*.pcap *.pcapng)")); if (path.length() == 0) {

2017-08-09 10:14:58 1539 1

原创 QT实现记录上一次用户名和密码功能

说明:在登录时,为了避免每次打开软件都要重新输入账号和密码,可以用QSettings来实现记录功能。本例子中记录的是ip和port号。#ifndef PERFORMANCETESTING_H#define PERFORMANCETESTING_H#include #include "ui_performancetesting.h"class PerformanceTesting

2017-08-08 20:42:17 8362 1

原创 poco之文件系统

在Poco库中,封装了一些类去完成文件系统的操作,这些类包括:              1. Poco::Path              2. Poco::File              3. Poco::TemporaryFile              4. Poco::DirectoryIterator              5.

2017-07-17 21:57:42 2669 1

原创 QT之局域网聊天实现

功能:1.用户注册登录功能2.群聊功能3.私聊功能客户端代码://tcpclient.h#ifndef TCPCLIENT_H#define TCPCLIENT_H#include #include #include //#include "userinterface.h"namespace Ui {class TcpClient;}c

2017-06-15 18:42:46 7223 16

原创 QT开启摄像头及截图保存图片

本例使用QT来开启电脑摄像头,同时能够在拍摄过程中针对某一张图片截图并保存。未实现功能:录制视频保存下一步工作:远程监控,服务器端可以开启客户端摄像头监视//widget.h#ifndef WIDGET_H#define WIDGET_H#include #include #include #include namespace Ui {class Widge

2017-06-15 08:25:06 4089 5

原创 QT实现用户登录功能

功能:1.提供登录界面(客户端)2.服务器端用数据库来存储用户名和密码3.注册时客户端将注册信息发送给服务器端,并进行验证,如果注册名可用,添加进数据库并返回客户端添加成功信息。4.登录时客户端将登录信息发送给服务器端进行验证,服务端返回验证结果。待添加:1.服务器端并发功能实现#include "tcpclient.h"#include int

2017-05-19 21:38:17 31326 11

原创 ubuntu上传代码文件到github

1.申请一个github帐号,然后新建一个repositories,取个名字。本例所取名字为Student-Information-Manage-System2.在ubuntu上安装gitsudo apt-get install git3.生成密钥 ssh-keygen -t rsa -C "[email protected]"其中"[email protected]"是你的邮

2017-05-18 00:04:19 9561

原创 基于QT的学生信息管理系统开发

1.首先创建工程文件,在创建过程中添加主窗口类以及对应的ui文件。Mainwindow.ui的界面如下:下面分别实现上图中4个按钮的功能。我们用MYSQL来对学生的注册信息进行保存。2.编写与MYSQL相关程序创建类过程如下:#ifndef MYSQL_H#define MYSQL_H#include #include #include #include

2017-04-23 01:32:08 32550 18

原创 linux下QT+MYSQL开发

SQL安装好后,给普通用户授权操作数据库和登录数据库在终端输入:#mysql -u root -p以上一条命令是以root登录数据库1.在Ubuntu系统中,点击【Application】>>【Program】>>【QT Creator】,打开QT Creator点击New File or Project,如下图所示,选择Qt C++

2017-04-22 20:29:41 1558

原创 linux下QT5.6.2连接MYSQL过程

安装好QT5.6.2后,使用MYSQL时会出现如下错误:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7针对上面问题,解决方法如下:传统解决方法:一、解决问题  本文解决在U

2017-04-22 15:41:43 1836 1

转载 QT之涂鸦板实现

源代码下载地址:https://github.com/onlyou2030/TuYaBan-BaiBan(说明:这是我们Qt系列文章的一个例子,请先学习2D绘图部分内容,再学习本教程)前面学习了Qt 2D绘图的基本知识,现在我们将所学习的知识进行一下综合,设计一个简单的画图软件。因为前面已经有了记事本的例子,所以这里对一些细节知识将不会多讲。而且

2016-11-29 19:48:13 5024 3

原创 git将本地文件上传到远程仓库

第一步:进入本地文件夹,单击右键,点击git bash here输入命令git init,即可在本地初始化一个空的仓库.git/第二步:在本地文件夹,单击右键,点击git gui here选择remote->add其中Name:填写工程名,Location为远程仓库的连接。点击Stage Changed缓存修改。然后点击c

2016-11-25 10:01:37 484

原创 QT图形的一些基本操作

#include "dialog.h"#include "ui_dialog.h"#include Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(this);}Dialog::~Dialog(){ delete ui;}vo

2016-11-24 19:16:00 495

原创 求二范数C++代码

#include #include using namespace std;#define NUM 3float num[NUM][NUM] = { 1,2,3,4,5,6,7,8,9 };void Loop(float a[NUM][NUM], float u[NUM], int n){ float S, U[NUM]; int i, j; for (int i = 0

2016-11-23 20:07:16 5320 2

原创 QT之不同主机之间TCP通信

一、客户端实现1.tcpclient.h#ifndef TCPCLIENT_H#define TCPCLIENT_H#include #include #include namespace Ui {class TcpClient;}class TcpClient : public QMainWindow{ Q_OBJECTpublic: expl

2016-11-23 10:08:32 5051 1

原创 QT之利用QSqlQuery类执行SQL语句

1.connection.h#ifndef CONNECTION_H#define CONNECTION_H#include #include #include static bool createConnection(){ QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseN

2016-11-09 16:01:45 728

原创 QT之文本编辑器实现

1.mainwindow.h[cpp] view plain copy  #ifndef MAINWINDOW_H  #define MAINWINDOW_H    #include   #include   #include     namespace Ui {  class MainWindow

2016-11-09 15:57:10 2201

原创 QT之TCP通信简单实现

一、服务器端实现1.tcpserver.h#ifndef TCPSERVER_H#define TCPSERVER_H#include #include namespace Ui {class TcpServer;}class TcpServer : public QMainWindow{ Q_OBJECTpublic: explicit TcpS

2016-11-01 22:32:56 916

原创 跳跃表

一、相关面试题:1.跳跃表有没有听说过?2.如何让链表的元素查询接近线性时间?二、跳跃表的引入我们知道,普通单链表查询一个元素的时间复杂度为O(n),即使该单链表是有序的,我们也不能通过二分的方式缩减时间复杂度。  如上图,我们要查询元素为55的结点,必须从头结点,循环遍历到最后一个节点,不算-INF(负无穷)一共查询8次。那么用什么办法能够用更少的

2016-10-03 18:11:24 906

原创 碰到的笔试题

1.将一个从大到小的数组,用以下排列方法排序成从小到大的,()最快。【参考】考察几种排序方法的特征:排序方法        平均情况        最好情况        最坏情况        辅助空间        稳定性冒泡排序         O(n^2)           O(n)              O(n^2)            O(1)          

2016-10-02 22:34:01 327

原创 小明一家过桥

题目:小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟过桥要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可以过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃30秒后就会熄灭。问:小明一家如何过桥?思路:其实要求最短时间过桥方法。原则一:尽量让速度差不多的一起走。原则二:尽量让两个最快的人返回。

2016-09-21 10:20:32 877

原创 天平分盐

题目:有一个天平,2克和7克砝码各一个。如何利用天平砝码在3次内将140克盐分成50,90克两份。方法一:第一次:先称2+7=9g盐第二次:再称2+7+9=18g盐第三次:左边放7g砝码+18g盐,右边放2g砝码+xg盐,得到x=23。这样一共可以得到9+18+23=50g盐。方法二:第一次:把140g盐分成两份,每份70g。第二

2016-09-21 09:44:50 574

原创 小白鼠试药问题

题目:有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只老鼠才能在24小时时鉴别出哪瓶水有毒?思路:可以用二进制来解决这个问题。给1000个瓶分别标上如下标签(10位长度):0000000001(第一瓶)0000000010(第二瓶)0000000011(第三瓶)...1111101000(第1000瓶)从编号最后1位是

2016-09-20 19:06:54 1262 2

原创 面试题95:最小堆的调整、插入和删除

题目:一个最小堆,也是完全二叉树,用按层遍历数组表示。1.求结点a[n]的子结点的访问方式2.插入一结点的程序void add_element(int *a,int size, int val);3.删除最小结点的程序。思路:1.下标为n的结点,其子节点的下标为2*n+1和2*n+22.插入一个结点时,先插入到最后,然后再从下向上调整堆。3.删除最小

2016-09-20 10:22:33 927

原创 面试题94:删除最少字符,使字符串为回文串

题目:给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符的个数。思路:先求字符串s的反转串rs,然后求s和rs的最大公共子序列(子序列和子串的区别是子序列不要求连续,子串要求连续),则最大公共子序列的长度即为最大回文串的长度。(注意:字符串和其反转串的最大公共子序列一定是对称的,即回文)关于求两个字符串s1和s2

2016-09-10 17:14:40 6248

原创 面试题93:二叉树的存储和还原

bool Binary_Tree::Save(string filename) { ofstream fout(filename.c_str()); if (fout.fail()) return false; fout<<size<<endl; if (root) Save(root,1,fout); fout.close(); return true;

2016-07-30 10:54:08 551

原创 面试题92:两个链表集合做差

题目:已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。思路:遍历链表A一次,遍历链表B多次。时间复杂度:O(n1*n2)实现如下:struct node{

2016-06-08 15:34:22 909

原创 模板方法模式

模板方法模式:在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。这个模式比较简单,下面先来看咖啡和茶的例子:#include using namespace std;class CaffeineBeverage{public: virtual void prepareRecipe() final

2016-06-08 10:07:01 225

原创 面试题91:清除矩阵0所在行列

题目:请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。给定一个MxN的int[][]矩阵(C++中为vector)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中为vector),保证n小于等于300,矩阵中的元素为int范围内。思路:定义两个bool类型的数组,分别表示矩阵的行或列是否出现0。第一步:扫描整个矩阵,如果检测到

2016-06-02 09:55:04 851

原创 面试题90:旋转数组

题目:有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。测试样例:[[1,2,3],[4,5,6],[7,8,9]],3返回:[[7,4,1],[8,5,2]

2016-06-02 09:01:25 598

原创 计算机网络面试题

1.OSI参考模型及各层作用。开放式系统互联模型的作用是为了解决异种网络互联时引起的兼容性问题,其最主要的功能是帮助不同的主机实现数据传输。最大的优点是将服务、协议、接口这三个概念明确的分开来。1)物理层:在信道上传输原始比特流。2)数据链路层:加强物理层传输原始比特流同能,为保证传输,从网络层接受的数据被分割成特定的可被物理层传输的帧,按顺序传送出去并处理接收方回送的确认

2016-04-21 11:35:26 1775 1

原创 外观模式

外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。其目的是让接口更简单,将一个或数个复杂的一切都隐藏在背后,只露出一个干净美好的外观。类图:注意:1)外观模式没有“封装”子系统的类,外观只提供简化的接口。客户如果觉得有必要,依然可以使用子系统的类。2)外观和适配器的区别:适配器的意图是,“改变”接口符合客户的期望

2016-04-19 20:29:58 464

原创 面试题89:字符串数组首尾字符相同

题目:输入一个字符串数组,如果该字符串数组能够调整顺序后使得前面的字符串的尾字符和后面一个字符串的首字符相同,则返回1,如果不能,则返回0。对第一个字符串没有任何限定。

2016-04-19 19:23:31 2920 1

原创 适配器模式

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。下面先看一个简单的适配例子:#include #include #include #include using namespace std;/*定义鸭子接口*/class Duck{public: virtual void quack() = 0; virtual

2016-04-19 16:00:09 409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除