嵌套结构 [英] nested structure

查看:78
本文介绍了嵌套结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码,但我似乎有2个错误,我不明白他们是如此可以有人请帮助我。谢谢


这是代码

#include< iostream.h>

#include< conio.h>


struct faculty

{

char fact1;

char fact2;

char fact3;

};


struct dean

{

char dean1;

char dean2;

char dean3;

};


struct seniorlecture

{

char seniorlec1;

char seniorlec2;

char seniorlec3;

};
< br $>
结构部长

{

char sec1;

};


void main()

{


faculty uni;

dean uni2;

seniorlecture uni3 ;

秘书uni4;


uni.fact1 =''business'';

uni.fact2 =''law'';

uni.fact3 =''engineering'';


uni2。 dean1 =''john'';

uni2.dean2 =''sara'';

uni2.dean3 =''jane'';


uni3.seniorlec1 =''sam'';

uni3.seniorlec2 =''pat'';

uni3.seniorlec3 =''tom' ';


uni4.sec1 =''kate'';


cout<< Faculty is:"<< uni.fact1<< endl;

cout<< 部门主管是:<<< uni2.dean1<< endl;

cout<< 部门的高级讲座是:<<< uni3.seniorlec1<< endl;

cout<< 部门秘书是:<< uni4.sec1<< endl;


cout<< Faculty is:"<< uni.fact2<< endl;

cout<< 部门主管是:<<< uni2.dean2<< endl;

cout<< 部门的高级讲座是:<<< uni3.seniorlec2<< endl;

cout<< 部门秘书是:<< uni4.sec1<< endl;


cout<< Faculty is:"<< uni.fact3<< endl;

cout<< 部门主管是:<<< uni2.dean3<< endl;

cout<< 部门的高级讲座是:<<< uni3.seniorlec3<< endl;

cout<< 部门秘书是:<<< uni4.sec1<< endl;

}


getche();



这是我的错误信息


[常数中的字符太多]

hi this is the code that i have but i seem to have 2 errors and i dont understand were they are so can some one please help me. thanks

this is the code
#include<iostream.h>
#include<conio.h>

struct faculty
{
char fact1;
char fact2;
char fact3;
};

struct dean
{
char dean1;
char dean2;
char dean3;
};

struct seniorlecture
{
char seniorlec1;
char seniorlec2;
char seniorlec3;
};

struct secretary
{
char sec1;
};

void main()
{

faculty uni;
dean uni2;
seniorlecture uni3;
secretary uni4;

uni.fact1=''business'';
uni.fact2=''law'';
uni.fact3=''engineering'';

uni2.dean1=''john'';
uni2.dean2=''sara'';
uni2.dean3=''jane'';

uni3.seniorlec1=''sam'';
uni3.seniorlec2=''pat'';
uni3.seniorlec3=''tom'';

uni4.sec1=''kate'';

cout<< "Faculty is:"<<uni.fact1<<endl;
cout<< "Dean of department is:"<<uni2.dean1<<endl;
cout<< "Senior lecture of department is:"<<uni3.seniorlec1<<endl;
cout<< "Secretary of department is:"<<uni4.sec1<<endl;

cout<< "Faculty is:"<<uni.fact2<<endl;
cout<< "Dean of department is:"<<uni2.dean2<<endl;
cout<< "Senior lecture of department is:"<<uni3.seniorlec2<<endl;
cout<< "Secretary of department is:"<<uni4.sec1<<endl;

cout<< "Faculty is:"<<uni.fact3<<endl;
cout<< "Dean of department is:"<<uni2.dean3<<endl;
cout<< "Senior lecture of department is:"<<uni3.seniorlec3<<endl;
cout<< "Secretary of department is:"<<uni4.sec1<<endl;
}

getche();


and this is the error message that i have

[too many characters in constant]

推荐答案


struct faculty

{

char fact1;

char fact2;

char fact3;

};
struct faculty
{
char fact1;
char fact2;
char fact3;
};


faculty uni;

uni.fact1 =''business'';

uni.fact2 =''law'';

uni.fact3 =''engineering'';
faculty uni;
uni.fact1=''business'';
uni.fact2=''law'';
uni.fact3=''engineering'';



你好,

根据上面的声明,你有一个名为faculty的结构,它有三个成员。那些成员具有类型特征(即)它一次只能容纳一个字符。因为(例如)你可以存储uni.fact1 =''a'';

因此,如果你想在事实1中存储一个字符数组,你必须将fact1作为字符数组转换为

char fact1 [50];

现在

strcpy(uni.fact," Business");会工作的。

试一下。如果您有任何问题请告诉我,

谢谢和问候,

Aarthy。

Hi There,
According to the declaration above you have a structure named faculty which has three members. Those members are of type character (i.e) it can hold only one character at a time. for (e.g) you can store uni.fact1=''a'';
So if you want to store a array of characters in fact1 you have to decalre fact1 as character array as
char fact1[50];
now
strcpy(uni.fact,"Business"); will work.
Try this. If you have any problem do let me know,
Thanks and Regards,
Aarthy.


你能告诉我你的意思吗?因为这是我第一次使用c ++而且我不明白我将如何添加你告诉我放入程序的更改。

谢谢
could you show me what you mean as it is the first time i''m using c++ and i dont understand how i''m going to add the changes that you have told me to put in the program.
thanks



你能告诉我你的意思,因为这是我第一次使用c ++并且我不明白我将如何添加你告诉我要加入程序的更改。

谢谢
could you show me what you mean as it is the first time i''m using c++ and i dont understand how i''m going to add the changes that you have told me to put in the program.
thanks



这是程序,

#include< iostream.h>

#include< conio.h>


struct faculty

{

char fact1 [50];

char fact2 [50];

char fact3 [50];

};


struct dean

{

char dean1 [50];

char dean2 [ 50];

char dean3 [50];

};

struct seniorlecture

{

char seniorlec1 [50];

char seniorlec2 [50];

char seniorlec3 [50];

};


结构秘书

{

char sec1 [50];

};


void main()

{


faculty uni;

dean uni2;

seniorlecture uni3;

秘书uni4;


strcpy(uni.fact1," business");

strcpy(uni.fact2," law");

strcpy(uni。 fact3,engineering);


strcpy(uni2.dean1," john");

strcpy(uni2.dean2," sara" );

strcpy(uni2.dean3," jane");


strcpy(uni3.seniorlec1," sam");

strcpy(uni3.seniorlec2," pat");

strcpy(uni3.seniorlec3,"''tom");


strcpy(uni4.sec1," kate");


cout<< Faculty is:"<< uni.fact1<< endl;

cout<< 部门主管是:<<< uni2.dean1<< endl;

cout<< 部门的高级讲座是:<<< uni3.seniorlec1<< endl;

cout<< 部门秘书是:<< uni4.sec1<< endl;


cout<< Faculty is:"<< uni.fact2<< endl;

cout<< 部门主管是:<<< uni2.dean2<< endl;

cout<< 部门的高级讲座是:<<< uni3.seniorlec2<< endl;

cout<< 部门秘书是:<< uni4.sec1<< endl;


cout<< Faculty is:"<< uni.fact3<< endl;

cout<< 部门主管是:<<< uni2.dean3<< endl;

cout<< 部门的高级讲座是:<<< uni3.seniorlec3<< endl;

cout<< 部门秘书是:<<< uni4.sec1<< endl;

}


getch();


所以编译上面的程序并查看结果。我已经更改了声明部分。基本上在C和c ++中,你不能使用等号来分配字符串。你必须使用strcpy函数。希望这对你有所帮助,

Aarthy。

Here goes the program,

#include<iostream.h>
#include<conio.h>

struct faculty
{
char fact1[50];
char fact2[50];
char fact3[50];
};

struct dean
{
char dean1[50];
char dean2[50];
char dean3[50];
};

struct seniorlecture
{
char seniorlec1[50];
char seniorlec2[50];
char seniorlec3[50];
};

struct secretary
{
char sec1[50];
};

void main()
{

faculty uni;
dean uni2;
seniorlecture uni3;
secretary uni4;

strcpy(uni.fact1,"business");
strcpy(uni.fact2,"law");
strcpy(uni.fact3,"engineering");

strcpy(uni2.dean1,"john");
strcpy(uni2.dean2,"sara");
strcpy(uni2.dean3,"jane");

strcpy(uni3.seniorlec1,"sam");
strcpy(uni3.seniorlec2,"pat");
strcpy(uni3.seniorlec3,"''tom");

strcpy(uni4.sec1,"kate");

cout<< "Faculty is:"<<uni.fact1<<endl;
cout<< "Dean of department is:"<<uni2.dean1<<endl;
cout<< "Senior lecture of department is:"<<uni3.seniorlec1<<endl;
cout<< "Secretary of department is:"<<uni4.sec1<<endl;

cout<< "Faculty is:"<<uni.fact2<<endl;
cout<< "Dean of department is:"<<uni2.dean2<<endl;
cout<< "Senior lecture of department is:"<<uni3.seniorlec2<<endl;
cout<< "Secretary of department is:"<<uni4.sec1<<endl;

cout<< "Faculty is:"<<uni.fact3<<endl;
cout<< "Dean of department is:"<<uni2.dean3<<endl;
cout<< "Senior lecture of department is:"<<uni3.seniorlec3<<endl;
cout<< "Secretary of department is:"<<uni4.sec1<<endl;
}

getch();

So compile the above program and see the result. I have changed the declaration part. Basically in C and c++ you can''t assign strings using equal to sign. You have to use strcpy function. Hope this helps you,
Aarthy.


这篇关于嵌套结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆