问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用结构体数组(三个元素)存放图书信息(包括书名、作者、出版社、存放数量)从键盘逐一输入各元素数据,

发布网友 发布时间:2022-05-24 13:02

我来回答

3个回答

热心网友 时间:2023-10-14 17:13

#include<iostream>

#include<string.h>

using namespace std;

class Book

{

public:

Book(string name,string auther,string Press,int num)

name(name),auther(auther),Press(Press),num(num){}

~Book(){}

//void setbook(){};

void print()

 {

cout<<name<<endl<<auther<<endl<<Press<<endl<<num<<endl;

}

private:

string name;

string auther;

string Press;


扩展资料:


结构体的大小不是结构体元素单纯相加就行的,因为我们主流的计算机使用的都是32bit字长的CPU,对这类型的CPU取4个字节的数要比取一个字节要高效,也更方便。所以在结构体中每个成员的首地址都是4的整数倍的话。

取数据元素时就会相对更高效,这就是内存对齐的由来。每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。

1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。

2、结构(或联合)的整体对齐规则:在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。

3、结合1、2可推断:当#pragma pack的n值等于或超过所有数据成员长度的时候,这个n值的大小将不产生任何效果。

参考资料来源:百度百科-结构体

热心网友 时间:2023-10-14 17:14

#include<iostream>
#include<string>
using namespace std;
struct Book
{
string name;
string author;
string publisher;
int num;
};

void main()
{
Book books[3];
int i,j;
cout<<"请输入图书信息:"<<endl;
for(i=0;i<3;i++)
{
cin>>books[i].name;
cin>>books[i].author;
cin>>books[i].publisher;
cin>>books[i].num;
}
cout<<"现有图书信息为:"<<endl;
for(j=0;j<3;j++)
{
cout<<books[j].name<<endl
<<books[j].author<<endl
<<books[j].publisher<<endl
<<books[j].num<<endl;
}
fflush(stdin);
getchar();
}
用C++写的,以下为测试结果:
请输入图书信息:
shuxue zhangsan beijing 5
yuwen lisi shanghai 15
yingyu wangwu tianjin 34
现有图书信息为:
shuxue
zhangsan
beijing
5
yuwen
lisi
shanghai
15
yingyu
wangwu
tianjin
34

热心网友 时间:2023-10-14 17:14

#include <stdio.h>

struct Book
{
char name[21];
char writer[21];
char press[21];
unsigned num;
};

int main()
{
struct Book A;
int i;

gets(A.name);
gets(A.writer);
gets(A.press);
scanf("%d", &A.num);
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么电脑上的word界面变小为什么WORD里面的页面变的很小怎么设置回来... AHA拯救心脏救命术(Basic Life Support,BLS) 基础生命的基本顺序 机械制图第一视角与第三视角的区别 明日之后野外感染者据点都在什么地方 感染就聚集点位置分享 明日之后 明日之后哪些地图有强力感染者? 《明日之后》野外感染者据点一览 明日之后野外感染者据点去哪找 妙洁提醒你注意:保鲜膜有些不能加热 有些不能包肉 C盘里文件的修改日期是不是就代表那天我用过电脑,我是上午用的,可文件... c语言怎么用文件保存和读取 结构体数组/ C++ 将结构体中的数据存入文件 哪位大侠棒棒我,小妹谢谢!急啊!好的话,再加分! 苏州怎么挂失身份证啊? c语言中如何在结构体中输入数据,并将结构体储存到文件之中。比方说输入影片的信息 struct N 如何把结构体里的数据输出保存到文件里,等用的时候在提取出数据到结构体,请大神指教,非常感谢! 请问扬州的驾驶证丢失了可以在苏州补办吗?如果可以都需要哪些资料。 苏州驾驶证补办流程是什么?另外需要登报挂失吗?可以委托别人补办吗?补办人和委托人都需要什么手续? c#结构体数据的存取 苏州的牌照、车辆行驶证掉了去哪里补办?要带什么东西吖?各位大虾帮帮忙 起名字,带北含水 写一段抒情文字久违的太阳公公终于露出笑脸希望心情 以 太阳出来了 为题,写一篇作文 有关久违的太阳出来了的个性签名 久违的太阳终于出来了,你们的心情舒畅吗?是不是压郁久了的身心,终于得到了慰藉?嘿嘿 关于题目为《久违的太阳》的作文 房产证丢失如何补办? 苏州房产证丢失登报流程 我的户口迁移证丢失需要登报作废,苏州这边哪里有报社可以办理?? 女友的胸围88大小怎么样啊 久违的太阳出来啦,与缤瑞逆光拍摄走起! 怎么区别电阻 电容 电感 苏州身份登报证挂失多少钱??? 苏州报社遗失声明 在苏州名硕厂上班厂牌丢失没身份证能补办吗? 外套太大怎么么办 sin2x的图像怎么画?求步骤,不要只是画图。谢谢O(∩_∩)O好的加分 制图员的职业定义 制图员。。 制图员需要会什么 正面是女皇,反面雄鹿,面值是25元,请问是那个国家的硬币 想当制图员,需要读大学什么专业 请问一下这是哪个国家面值多少的硬币?正面有加拿大的英文和25 制图员跟绘图员有什么区别? 帮我看看加拿大的硬币,分别多少钱 制图员的职业规划 加拿大的硬币面值问题 加拿大硬币 肥城技校在哪 有哪位大仙对肥城技校了解,就是那个分配到矿上的。今天刚托人花钱报的名,感觉上当了,学校是不是随便进 泰安技校和肥城技校哪个好 肥城高级技工学校 焊工培训多久