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;
}
相关推荐
煤泥做不到的!1 小时前
挑战一个月基本掌握C++(第十一天)进阶文件,异常处理,动态内存
开发语言·c++
F-2H1 小时前
C语言:指针4(常量指针和指针常量及动态内存分配)
java·linux·c语言·开发语言·前端·c++
苹果酱05671 小时前
「Mysql优化大师一」mysql服务性能剖析工具
java·vue.js·spring boot·mysql·课程设计
axxy20002 小时前
leetcode之hot100---24两两交换链表中的节点(C++)
c++·leetcode·链表
_oP_i2 小时前
Pinpoint 是一个开源的分布式追踪系统
java·分布式·开源
mmsx2 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
bryant_meng2 小时前
【python】OpenCV—Image Moments
开发语言·python·opencv·moments·图片矩
武子康3 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
若亦_Royi3 小时前
C++ 的大括号的用法合集
开发语言·c++
资源补给站4 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机