C++菜鸟日记2

news2024/11/17 21:54:59

关于getline()函数,在char和string输入的区别

参考博客
1.在char中的使用:
在这里插入图片描述
2.在string中的使用:
在这里插入图片描述
在这里插入图片描述

关于char字符数组拼接和string字符串拼接方法

参考博客
字符串拼接方法:
1.直接用 + 号
在这里插入图片描述
2.利用append()函数
在这里插入图片描述
字符数组的拼接方法
1.使用strcpy()和strcat()函数;

const int Size;
int main()
{
cout << "字符数组的拼接方法:" << endl;

char FirstName[Size], LastName[Size];
char FullName[Size*2];
cout << "Enter the FirstName:";
cin.getline(FirstName, Size);
cout << "Enter the LastName:";
cin.getline(LastName, Size);
strcpy_s(FullName, FirstName);
strcat_s(FullName, ",");
strcat_s(FullName, LastName);
cout << "Here is the Information in a sample string:" << FullName << endl;
cout << FullName << endl;
}

在这里插入图片描述
在代码编写阶段容易存在的问题:
1.一般char[n]里面的n必须为常量要用const进行修饰,不然会报错。
2.容易提示函数不安全问题;参考博客

关于结构体创建,申明结构体变量,和初始化结构体变量问题

1.结构体初始化方式:
创建结构体,定义结构变量,初始化同时进行;
先创建结构体,再同时定义结构变量和初始化结构体;
先创建结构体,在定义结构变量,后对结构变量成员进行赋值;
参考博客1
参考博客2
2.书写结构体注意的地方:在创建结构体时, struct 结构类型名 {;;;};要用“;”号间隔,在初始化结构体变量时 变量名={,,,}; 要用“,”间隔。
在这里插入图片描述

关于cin.getline()面向行输入注意的事项

在做测试题时,当遇到数字和面向行输入同时要出现时,若要先输入数字,则一定要在后面加上cin.get()语句,不然后面的getline()输入就会出现问题。但是当getline()先于数字输入可以正常输入显示。

#include<iostream>
#include<cstring>
using namespace std;


struct Pizza
{
	char Company[29];
	float Diameter;
	float weight;
};
int main()
{
	cout << "第八题:--------------" << endl;
	Pizza* PPizza = new Pizza;
	cout << "Please enter the diameter of Pizza:";
	cin >> PPizza->Diameter;
	cin.get();//面向行输入和数字输入混合时,要在数字输入后面加上cin.get()语句
	cout << "Please enter the Company of the Pizza:";
	cin.getline(PPizza->Company,40);
	//cin >> PPizza->Company;
	cout << "Please enter the Weight of the Pizza:";
	cin >> PPizza->weight;
	//cout << "Please enter the diameter of Pizza:";
	//cin >> PPizza->Diameter;

	cout << "Company:" << (*PPizza).Company << "\n" << "Diameter" << (*PPizza).Diameter << "\n" << "Weight:" << (*PPizza).weight << endl;
	delete PPizza;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1222362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【草料】uni-app ts vue 小程序 如何如何通过草料生成对应的模块化二维码

一、查看uni-app项目 1、找到路径 可以看到项目从 src-race-pages-group 这个使我们目标的查询页面 下面我们将这个路径copy到草料内 2、找到进入页面入参 一般我们都会选择 onload() 函数下的入参 这里我们参数的是 id 二、草料 建议看完这里的教程文档 十分清晰&#xff01…

详解自动化测试之 Selenium

目录 1. 什么是自动化 2.自动化测试的分类 3. selenium&#xff08;web 自动化测试工具&#xff09; 1&#xff09;选择 selenium 的原因 2&#xff09;环境部署 3&#xff09;什么是驱动&#xff1f; 4. 一个简单的自动化例子 5.selenium 常用方法 5.1 查找页面元素&…

【STM32】RTC(实时时钟)

1.RTC简介 本质&#xff1a;计数器 RTC中断是外部中断&#xff08;EXTI&#xff09; 当VDD掉电的时候&#xff0c;Vbat可以通过电源--->实时计时 STM32的RTC外设&#xff08;Real Time Clock&#xff09;&#xff0c;实质是一个 掉电 后还继续运行的定时器。从定时器的角度…

三十分钟学会zookeeper

zookeeper 一、前提知识 集群与分布式 ​ 集群&#xff1a;将一个任务部署在多个服务器&#xff0c;每个服务器都能独立完成该任务。 ​ 分布式&#xff1a;将一个任务拆分成若干个子任务&#xff0c;由若干个服务器分别完成这些子任务&#xff0c;每个服务器只能完成某个特…

Vite -静态资源处理 - SVG格式的图片

特点 Vite 对静态资源是开箱即用的。 无需做特殊的配置。项目案例 项目结构 study-vite| -- src| -- assets| -- bbb.svg # 静态的svg图片资源| -- index.html # 主页面| -- main.js # 引入静态资源| -- package.json # 脚本配置| -- vite.co…

探索Scrapy中间件:自定义Selenium中间件实例解析

简介 Scrapy是一个强大的Python爬虫框架&#xff0c;可用于从网站上抓取数据。本教程将指导你创建自己的Scrapy爬虫。其中&#xff0c;中间件是其重要特性之一&#xff0c;允许开发者在爬取过程中拦截和处理请求与响应&#xff0c;实现个性化的爬虫行为。 本篇博客将深入探讨…

Pycharm之配置python虚拟环境

最近给身边的人写了脚本&#xff0c;在自己电脑可以正常运行。分享给我身边的人&#xff0c;却运行不起来&#xff0c;然后把报错的截图给我看了&#xff0c;所以难道不会利用pycharm搭建虚拟的环境&#xff1f;记录一下配置的过程。 第一步&#xff1a;右键要打开的python的代…

什么是单域名SSL安全证书?

单域名证书是什么&#xff1f; 单域名证书是指只包含一个具体域名的SSL/TLS证书&#xff0c;它可以用于保护单个主机名的HTTPS通信。例如&#xff0c;如果您有一个网站http://www.example.com&#xff0c;则单域名证书将仅为该域名颁发。 这种证书在保护单个域的安全方面很有…

hash 哈希表

哈希表是一种期望算法。 一般情况下&#xff0c;哈希表的时间复杂度是 O(1)。 作用 将一个复杂数据结构映射到一个较小的空间 0~N&#xff08;10^5~10^6&#xff09;&#xff0c;最常用的情景&#xff1a;将 0~10^9 映射到 0~10^5。 离散化是一种及其特殊的哈希方式。离散化…

【978.最长湍流子数组】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:int maxTurbulenceSize(vector<int>& arr) {int narr.size();vector<int> f(n),g(n);f[0]g[0]1;if(n1) return 1;int retmax(f[0],g[0]);for(int…

鸿蒙4.0开发笔记之DevEco Studio启动时不直接打开原项目

1、想要在DevEco Studio启动时不直接打开关闭前的那个项目&#xff0c;可以在设置中进行。 有两个位置可以进入“设置”&#xff0c;一个是左上角的File>Settings&#xff0c;二是右上方的设置图标。 2、进入Settings界面以后&#xff0c;选择Appearance&Behavior下面…

redis + celery

首先&#xff0c;部署Redis数据库&#xff1a; 先下载包&#xff1a; wget http://download.redis.io/releases/redis-5.0.7.tar.gz 解压redis包&#xff1a; tar -xvf redis-5.0.7.tar.gz 编译&#xff1a; make sudo make install &#xff08;这样没有指定安装目录&#…

Linux入门(三)

Linux grep 命令 1&#xff1a; 作用 ​ grep是一种文本搜索工具&#xff0c;它能使用特定的搜索模式&#xff0c;包括[正则表达式]搜索文本&#xff0c;并默认输出匹配行。 ​ windows类似的命令是findstr. 2&#xff1a;语法 grep -options&#xff08;参数&#xff09;…

eclipse启动无法找到类(自定义监听器)

一.报错 二.排查 1.首先检查代码是否有问题 本人报错是找不到监听器&#xff0c;故检查监听器的代码和web.xml文件是否有问题 public class DoorListener implements ServletContextListener 监听器是否继承并实现ServletContextListener中的方法。 web.xml中&#xff1a; &…

el-table固定表头(设置height)出现内容过多时不能滚动问题

主要原因是el-table没有div包裹 解决&#xff1a;加一个div并设置其高度和overflow 我自己的主要代码 <div class"contentTable"><el-tableref"table":data"tableData"striperow-dblclick"onRowDblclick"height"100%&q…

前置语音群呼与语音机器人群呼哪个更好

最近通过观察自己接到的营销电话&#xff0c;通过语音机器人外呼的量应该有所下降。同时和客户交流获取到的信息&#xff0c;也是和这个情况类似&#xff0c;很多AI机器人群呼的量转向了OKCC前置语音群呼。询问原因&#xff0c;说是前置语音群呼转化更快&#xff0c;AI机器人群…

ChatGPT 从零到一打造私人智能英语学习助手

近几年&#xff0c;随着智能化技术的发展和人工智能的兴起&#xff0c;越来越多的应用程序开始涌现出来。在这些应用中&#xff0c;语音识别、自然语言处理以及机器翻译等技术都得到了广泛的应用。其中&#xff0c;聊天机器人成为了最受欢迎的人工智能应用之一&#xff0c;它们…

Go 字符串处理:fmt.Sprintf与string.Builder的比较

在Go语言中&#xff0c;我们通常会遇到两种主要的方式来处理和操作字符串&#xff1a;使用fmt.Sprintf函数和string.Builder类型。尽管两者都可以实现字符串的格式化和连接&#xff0c;但它们在性能和用法上有一些关键区别。 1. fmt.Sprintf fmt.Sprintf是一个函数&#xff0c…

23111707[含文档+PPT+源码等]计算机毕业设计基于javawebmysql的旅游网址前后台-全新项目

文章目录 **软件开发环境及开发工具&#xff1a;****功能介绍&#xff1a;****论文截图&#xff1a;****实现&#xff1a;****代码:** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及开发工具&#xff1a; 前端使用技术&a…

Bulk RNA-seq上下游分析

Bulk-RNA-seq上下游分析还是相对简单的&#xff0c;这次我以mouse为例&#xff0c;进行Bulk-RNA-seq上下游分析&#xff0c;并进行对应的图片绘制。 上游分析 1.软件准备 #安装所需软件 sudo apt install fastqc sudo apt install hisat2 sudo apt install cutadapt sudo ap…