嵌套结构 [英] nested structure
问题描述
这是我的代码,但我似乎有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屋!