C++菜鸟日记2

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

参考博客

1.在char中的使用:

2.在string中的使用:

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

参考博客
字符串拼接方法:

1.直接用 + 号

2.利用append()函数

字符数组的拼接方法

1.使用strcpy()和strcat()函数;

cpp 复制代码
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()先于数字输入可以正常输入显示。

cpp 复制代码
#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;
}
相关推荐
格林威3 分钟前
工业相机异常处理实战:断连重连、丢帧检测、超时恢复状态机
开发语言·人工智能·数码相机·计算机视觉·视觉检测·机器视觉·工业相机
Gse0a362g7 分钟前
Go - Zerolog使用入门
开发语言·后端·golang
KhalilRuan7 分钟前
Burst编译器的底层原理
java·开发语言
Shirley~~11 分钟前
力扣hot100:每日温度
开发语言·javascript·ecmascript
Zww089118 分钟前
idea配置注释模板
java·ide·intellij-idea
Renhao-Wan20 分钟前
Docker 核心原理详解:镜像、容器、Namespace、Cgroups 与 UnionFS
java·后端·docker·容器
Rsun0455127 分钟前
ScheduledExecutorService类作用
java
froginwe1132 分钟前
《WebPages 邮局》
开发语言
小钊(求职中)34 分钟前
算法知识、常用方法总结
java·算法·排序算法·力扣
萧逸才38 分钟前
【learn-claude-code】S07TaskSystem - 任务系统:大目标拆成小任务,持久化到磁盘
java·人工智能·ai