구조체에 공용체 쓰는거...
너만을
질문 제목 : 구조체에 공용체 쓰는거...공용체 사용법좀 알려주세요.질문 내용 :
구조체 car를 정의하고, 자동차 2대를 선언하여 적당한 값을 입력하고 출력하는 프로그램을 작성하시오. 멤버의 구성은 다음과 같으며, 등록주인은 공용체를 이용하고 개인인 경우는 위의 구조체 person을 이용하고, 회사인 경우는 회사의 이름으로 입력한다.
라는 문제인데요.
여기에 맞춰 짜본게
#include stdio.h
struct person
{
char n[99];
int c[99];
char a[99];
};
union resi
{
struct person per;
char cor;
};
struct car
{
int yea[99];
char sp[99];
union resi res;
};
int main(void)
{
struct car veh[2];
int a, b;
for(a=0;a2;a++)
{
printf(자동차%d의 년식, 차종, 등록주인을 입력하세요.\n, a+1);
gets(veh[a].yea);
gets(veh[a].sp);
printf(등록주인이 개인이면 1, 회사면 2를 입력하세요.\n);
scanf(%d, &b);
if(b==1)
{
printf(이름, 전화번호, 주소를 입력하세요.\n);
gets(veh[a].res.per.n);
gets(veh[a].res.per.c);
gets(veh[a].res.per.a);
}
else
{
printf(회사의 이름을 입력하세요.\n);
gets(veh[a].res.cor);
}
b=0;
printf(\n);
}
for(a=0;a2;a++)
{
printf(자동차%d의 년식=%s, 차종=%s, 등록주인=%s\n, a+1, veh[a].yea, veh[a].sp, veh[a].res);
}
return 0;
}이거예요.
등록주인 부분 문제가 있네요
회사이름도 안받고 주소도 안받고 넘어가고 출력은 또 어떻게 해야되나요?
-
라일락
제가 보통 하는 방법은 struct 에 int 형을 하나 추가하여 그 인트형이 1이면 유니온에서 어떤 형태가 저장되어있는지 저장을 하는 방법을 사용합니다..
-
걸때
\tprintf(\자동차%d의 년식, 차종, 등록주인을 입력하세요.\\n\
-
우람늘
char * gets(char *_buffer) 입니다..
gets() 괄호 사이에는 char 배열을 써주셔야되는데 int 형 배열이네요??