PDA

View Full Version : مشکل در فراخوانی struct



ramin149
چهارشنبه 20 بهمن 1389, 22:23 عصر
با سلام به دوستان عزیز
من یک struct ساختم به صورت زیر


struct Sbook {
int id;
char name[20];
char Author[20];
char on[20];
}

و می خواهم به حلقه داخل ارایه بالا اطلاعات بریزم این کار رو هم با موفقیت انجام دادم ولی مشکل اصلی این که می خوام در متغییر on در Struct به صورت ثابت یک ایتم قرار گیره که در اینجا خطا می ده


void getBook() {
struct Sbook add[5];
int i;
for(i=0;i>5;i++)
{
printf("Plese Enter id");
scanf("%c",add[i].id);
printf("Plese Enter name");
scanf("%c",add[i].name);
printf("Plese Enter Author");
scanf("%c",add[i].Author);
add[i].on="available";
}
}

sh4mid
چهارشنبه 20 بهمن 1389, 23:12 عصر
strcpy (http://www.cplusplus.com/reference/clibrary/cstring/strcpy/)(add[i].on,"available");

ramin149
چهارشنبه 04 اسفند 1389, 10:15 صبح
چه شکلی این دوتا struct رو داخل هم بریزم ؟


struct sTrust {
int id;
int idBook;
char nameBook[50];
char Author[50];
int idUser;
char name[50];
char family[50];
}
struct sUser{
int id;
char name[50];
char family[50];
char namebook[50];
char Available[10];
};
trust.name=user.name;

kitten
چهارشنبه 04 اسفند 1389, 10:40 صبح
سلام دوست عزیز
فقط می شه دو نمونه از یه ساختمان را با هم مساوی قرار داد در غیر این صورت باید به صورت دستی انها را داخل هم بریزی

ramin149
چهارشنبه 04 اسفند 1389, 10:48 صبح
به نظر شما من باید چه کار کنم و می تونید یک مثال صحیح بنویسید

kitten
چهارشنبه 04 اسفند 1389, 10:59 صبح
به این صورت که من نوشتم یه تعداد از فیلدهای sUser از نمونه x با فیلدهای sTrust از نمونه y مقدار دهی می شند

struct sTrust {
int id;
int idBook;
char nameBook[50];
char Author[50];
int idUser;
char name[50];
char family[50];
}
struct sUser{
int id;
char name[50];
char family[50];
char namebook[50];
char Available[10];
};
struct sUser x;
struct sTrust y;
x.id = y.id;
strcpy(x.namebook,y.namebook);
strcpy(x.name,y.name);
strcpy(x.family,y.family);