我试图在一个结构程序中创建一个结构,它将找到一个房子,并测量它的建造时间和它的区域。
我收到此错误。
[错误]' izgradnja'没有名为' povrsina'
的成员#include<stdio.h>
#include<string.h>
typedef struct {
char drzava[30];
char grad[30];
char adresa[50];
char tip[10];
int brojsoba;
int brojradnika;
struct povrsina {
int sirina;
int duzina;
int povrsinasobe;
};
}izgradnja;
main() {
int i,n,j;
printf("Koliko objekata cemo obraditi:");
scanf("%d",&n);
izgradnja objekat[n];
for(i=0;i<n;i++) {
printf("Unesite drzavu u kojoj je Vasa kuca:");
gets(objekat[i].drzava);
printf("Unesite grad u kojoj je Vasa kuca:");
gets(objekat[i].grad);
printf("Unesite adresu:");
gets(objekat[i].adresa);
printf("Da li gradite kucu ili stan:");
gets(objekat[i].tip);
printf("Koliko ima soba?");
scanf("%d",&objekat[i].brojsoba);
for(j=0;j<objekat[i].brojsoba;j++) {
printf("Unesite sirinu i duzinu:");
scanf("%d%d",&objekat[i].povrsina.sirina,&objekat[i].povrsina.duzina);
objekat[i].povrsina.povrsinasobe = objekat[i].povrsina.sirina * objekat[i].povrsina.duzina;
}
printf("Unesite broj radnika koji radi na kuci:");
scanf("%d",&objekat[i].brojradnika);
}
}
答案 0 :(得分:1)
有几种解决方法,但这应该有效:
typedef struct {
char drzava[30];
char grad[30];
char adresa[50];
char tip[10];
int brojsoba;
int brojradnika;
struct {
int sirina;
int duzina;
int povrsinasobe;
} povrsina;
} izgradnja;
或者只是把它分开:
typedef struct {
int sirina;
int duzina;
int povrsinasobe;
} Povrsina;
typedef struct {
char drzava[30];
char grad[30];
char adresa[50];
char tip[10];
int brojsoba;
int brojradnika;
Povrsina povrsina;
} izgradnja;