PDA

View Full Version : مبتدی: رکورد در سی پلاس پلاس



#Elahe#
دوشنبه 07 دی 1388, 11:05 صبح
یه کم در مورد رکوردها اطلاعات میخواستم
در مورد ساختار و . . .
اگه با مثال ساده هم همراه باشه عالی میشه .
البته خودم یه چیزایی یاد گرفتم ، ولی نمیتونم تو برنامه هام ازش استفاده کنم .
یه نمونه کد هم میذارم اینجا تا رفع اشکال کنید .
ممنون

R_Rajaee_Rad
دوشنبه 07 دی 1388, 11:14 صبح
یه کم در مورد رکوردها اطلاعات میخواستم
در مورد ساختار و . . .
اگه با مثال ساده هم همراه باشه عالی میشه .
البته خودم یه چیزایی یاد گرفتم ، ولی نمیتونم تو برنامه هام ازش استفاده کنم .
یه نمونه کد هم میذارم اینجا تا رفع اشکال کنید .
ممنون
اگر منظورتون از ساختار struct هست باید بگم این یه نمونه از برنامه نویسی شی گرا هست
یعنی شما میتونید شی بسازید
این هم یه مثال در رابطه با ساختار (دانشجو)

struct student{
int id;
char name[21];
int num;
};
حالا شما میتونید یه متغیر از نوع student تعریف کنید و بهش مقدار بدید

student std;
clrscr();
ofstream("st.dat",ios::out|ios::in|ios::binary);
int r=2;
gotoxy(1,r);
cin>>std.id;
gotoxy(20,r);
cin.getline(std.name,20);
gotoxy(35,r);
cin.>>std.num;
fp.close();
امیدوارم که تونسته باشم بهتون کمک کنم

#Elahe#
دوشنبه 07 دی 1388, 11:39 صبح
از کد دوم که چیزی سردرنیاوردم.
لازمه که این مقادیر
int id;
char name[21];
int num;

تو بدنه اصلی تابع یعنی تو main هم تعریف کنم ؟
مثلا میخام یه برنامه بنیسم که نام و شماره دانشجوئی و نمره 10 تا دانشجو رو بگیره و بعد تو حلقه از کاربر شماره دانشجوئی بخاد . اگه عدد وارد شده تو آرایه وجود داشته باشه مشخصات اون دانشجو رو چاپ کنه .
واسه این یه کد نوشتم که مشکل اصلی همون struct هستش !

R_Rajaee_Rad
دوشنبه 07 دی 1388, 12:15 عصر
از کد دوم که چیزی سردرنیاوردم.
لازمه که این مقادیر
int id;
char name[21];
int num;

تو بدنه اصلی تابع یعنی تو main هم تعریف کنم ؟
مثلا میخام یه برنامه بنیسم که نام و شماره دانشجوئی و نمره 10 تا دانشجو رو بگیره و بعد تو حلقه از کاربر شماره دانشجوئی بخاد . اگه عدد وارد شده تو آرایه وجود داشته باشه مشخصات اون دانشجو رو چاپ کنه .
واسه این یه کد نوشتم که مشکل اصلی همون struct هستش !
نه بعد از include کردن فایل های سرآیند

#include <iostream.h>
#include <fstream.h>
//************************************************** *******
struct student{
int id;
char name[21];
int num;
};
//************************************************** *******
main()
{

بقیه کدها...............
.......................
}
در مورد دوم هم مثالی در رابطه با کار با فایل هاست
و هم نحوه ی استفاده از sturct

clover
دوشنبه 07 دی 1388, 12:26 عصر
لازمه که این مقادیر
int id;
char name[21];
int num;

تو بدنه اصلی تابع یعنی تو main هم تعریف کنم ؟

اینها اعضای ساختار student هستند، با تعریف یک متغیر از نوع student این اعضا هم خود به خود برای آن متغیر تعریف می شوند:

struct student
{
int id;
char name[21];
int num;
};

int main()
{
student std1, std2;

std1.id = 241;
std2.id = 341;
std2.name = "Mohammad";

return 0;
}
std1 و std2 دو متغیر از نوع student هستند که هر کدام دارای اعضای name, id و num مختص به خودشون هستند.

نام و شماره دانشجوئی و نمره 10 تا دانشجو
یک آرایه 10 تایی از نوع student تعریف کنید:

student stdArray[10];
وارد کردن مشخصات دانشجو را می توانید با یک حلقه ی for مانند زیر انجام دهید:

for (int i = 0; i < 10; i++)
{
cin >> stdArray[i].id;
cin >> stdArray[i].name;
cin >> stdArray[i].num;
}
دربقیه موارد هم مانند بالا می توانید به مشخصات هر دانشجو دسترسی پیدا کنید.
موفق باشید

#Elahe#
دوشنبه 07 دی 1388, 15:06 عصر
پس برم کدهامو ویرایش کنم . اگه باز مشکلی داشتم همینجا میگم تا دوستان کمک کنند
خیلی خیلی ممنونم از دوستان