第三周作业

本文通过多个实例展示了C++编程中的核心概念和技术应用,包括布尔类型的使用、赋值表达式、加密算法实现、类型强制转换、三角形面积及周长计算、数据溢出问题、数学运算表达式解析、一元二次方程求解、运算符使用详解以及条件运算符的应用。

布尔类型

/*****************************************
***功能:布尔类型使用举例*****************
*****************************************/
#include<iostream>

#include<iomanip>
using namespace std;

int main()
{
 bool flag =true;
 cout<<flag<<endl;
 cout<<boolalpha<<flag<<endl;
 cout<<flag + 5<<endl;
 flag = 0;
 cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
 flag = 0.0;
 cout<<"执行语句flag=0.0;后flag的值为:"<<boolalpha<<flag<<endl;

 return 0;
}



赋值表达式

/***************************
**赋值表达式***************/
#include<iostream>
using namespace std;

int main()
{
 int a, b, c, d;
 a=4;
 b=a;
 a=5;
 c=d=6;
 c *=a;
 d %=a+b;
 cout<<"a="<<a<<endl
  <<"b="<<b<<endl
  <<"c="<<c<<endl
  <<"d="<<d<<endl;

 return 0;
}



加密算法

#include <iostream>  
using namespace std;  
int main()  
{  
 int n;  
 char a[]={"llj"};  
 n=sizeof(a)-1;  
 for (int i=0;i<n;i++)  
 {
 a[i]=a[i]-1;  
 cout<<a[i];  
 }
}


强制转换类型

#include<iostream>
using namespace std;
int main()
{
 int ab, ac;
 double b = 3.14;
 char c = 'A';
 ab = int(b);
 ac = int(c);
 cout<<"b="<<b<<endl;
 cout<<"ab="<<ab<<endl;
 cout<<"c="<<c<<endl;
 cout<<"ac="<<ac<<endl;

 return 0;
}


求三角形


#include<iostream>
#include<string>
#include<math.h>
using namespace std;
class Triangle{
 int a,b,c;
public:
 double Area(){
  double s=(a+b+c)/2;
  return sqrt(s*(s-a)*(s-b)*(s-c));

};
 int Perimeter(){
  return a+b+c;
 }
 void Input(){
  cin>>a>>b>>c;
 }
};
void main(){
 Triangle t1;
 t1.Input();
 cout<<t1.Area()<<" "<<t1.Perimeter();
}


数据溢出



#include<iostream>
using namespace std;

int main()
{
 short i, j ,m ,n;
 i=1000;
 j=1000;
 m=i+j;
 n=i*j;
 cout<<"m="<<m<<endl;
 cout<<"n="<<n<<endl;

 return 0;
}



习题三

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
 int e=1, f=4, g=2;
 float m=10.5, n=4.0, k;
 k=(e+f)/g+sqrt((double)n)*1.2/g+m;

 cout<<"k="<<k<<endl;
 return 0;
}

一元二次方程

#include<iostream.h>  
#include<math.h>  
 
int main()  
{  
double a,b,c,d,e,x1,x2;  
cout<<"请输入要求解的一元二次方程:"<<endl;  
cout<<"a: ";  
cin>>a;  
cout<<"b: ";  
cin>>b;  
cout<<"c: ";  
cin>>c;  
cout<<a<<"*x*x"<<"+"<<b<<"*x"<<"+"<<c<<"=0"<<endl;  
d=b*b-4*a*c;  
 
if(d<0)  
{  
cout<<"There is no x."<<endl;  
}  
if(d==0)  
{  
cout<<"无解."<<endl;  
x1=x2=(-b)/(2*a);  
cout<<"x1=x2="<<x1<<endl;  
}  
if(d>0)  
{  
e=sqrt(d);  
x1=(-b+e)/(2*a);  
x2=(-b-e)/(2*a);  
cout<<"x1="<<x1<<endl;  
cout<<"x2="<<x2<<endl; 
return 0; 
}
}


运算符号使用

#include<iostream>
using namespace std;

int main()
{
 int i = 6, j, k;
 j=++i;
 k=i++;
 ++i=1;
 cout<<"i="<<i<<endl
  <<"j="<<j<<endl
  <<"k="<<k<<endl;
 return 0;
}


条件符号运算与表达

#include<iostream>
using namespace std;
int main()
{
 char ch;
 cout<<"please input a character:";
 cin>>ch;
 ch=ch>='a'&&ch<='z'?ch-'a'+'A':ch;
 cout<<"The result is:"<<ch<<endl;
 return 0;
}




一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值