You are on page 1of 33

‫درس ‪11‬‬

‫ساختمان (‪ )Structure‬و فایل‬


‫مقدمه‬
‫• از ساختمانها معموال برای تعریف رکوردهای در یک فایل استفاده شود‬

‫‪2/33‬‬
‫مقدمه‬

‫‪3/33‬‬
‫مقدمه‬
‫• دانشجو {‬
‫نام؛‬
‫سن؛‬
‫جنسیت؛‬
‫رشته؛‬
‫معدل؛‬
‫}‬

‫‪4/33‬‬
‫مقدمه‬
‫• ساختمانها مجموعهای از متغیرهایی هستند که به هم مربوط بوده ولی میتوانند از یک نوع‬
‫نباشند‬

‫‪5/33‬‬
‫مقدمه‬
‫• دانشجو {‬
‫‪string‬‬ ‫نام؛‬
‫‪int‬‬ ‫سن؛‬
‫‪character‬‬ ‫جنسیت؛‬
‫‪string‬‬ ‫رشته؛‬
‫‪float‬‬ ‫معدل؛‬
‫}‬

‫‪6/33‬‬
‫مقدمه‬
‫• در هنگام تعریف ساختمان هیچ حافظهای برای آن اختصاص داده نمیشود‬
‫• به متغیرهای داخل ساختمان‪ ،‬عضو ساختمان (‪ )member‬گفته میشود‬

‫‪7/33‬‬
‫تعریف ساختمان‬
struct Student
{
string name;
int age;
‫ تعریف شده باشد‬main ‫ساختمان حتما باید پیش از تابع‬
char gender;
string department;
float grade;
};
8/33
‫استفاده از ساختمان‬
‫ساخت یک نمونه از روی ساختمان‬
‫;‪Student stu1‬‬

‫نام ساختمان‬ ‫نام نمونه‬

‫‪9/33‬‬
‫دسترسی به اعضای یک ساختمان‬
‫;‪stu1.age = 25‬‬

‫نام نمونه‬ ‫مقدار مورد نظر‬

‫عملگر ‪.‬‬
‫نام عضو مربوط‬

‫‪10/33‬‬
‫تعریف ساختمان و تولید نمونه به صورت همزمان‬
struct Student
{
string name;
int age;
char gender;
string department;
float grade;
}stu1;
11/33
‫مقداردهی اولیه به نمونهها‬
‫;}‪Student stu1 = {“Ali” , 25 , ’m’ , ”Electrical Engineering” , 17.32‬‬

‫مانند آرایهها میتوان فقط برای برخی از اعضاء مقداردهی اولیه انجام داد‬
‫;} ‪Student stu1 = {“Ali” , 25‬‬ ‫حتما باید به ترتیب مقداردهی شوند‬

‫میتوان با استفاده از نام اعضاء و بدون ترتیب مقداردهی اولیه را انجام داد (فرض کنید فقط‬
‫میخواهیم نام و معدل را مقداردهی اولیه نماییم)‬
‫;} ‪Student stu1 = {.name = “Ali” , .grade = 17.32‬‬

‫‪12/33‬‬
‫مثال ‪1‬‬

‫‪13/33‬‬
‫مثال ‪1‬‬

‫‪14/33‬‬
‫مثال ‪ :2‬جدول ‪csv‬‬

‫‪15/33‬‬
‫مثال ‪3‬‬

‫‪16/33‬‬
‫مثال ‪4‬‬

‫‪17/33‬‬
‫مثال ‪4‬‬

‫‪18/33‬‬
‫آرایهای از ساختمانها‬
‫فرض کنید میخواهیم برای ذخیره اطالعات ‪ 330‬دانشجو برنامهای بنویسم‪ .‬راه حل اشتباه این‬
‫است که ‪ 330‬نمونه از روی ساختمان بسازیم‬
‫راه حل درست‪ ،‬تعریف آرایهای از ساختمان به طول ‪ 330‬است‪.‬‬
‫;]‪Student stuArr[330‬‬
‫اکنون میتوانید مقداردهی کنید‬
‫;‪stuArr[22].age = 22‬‬

‫‪19/33‬‬
‫مثال ‪:5‬‬

‫‪20/33‬‬
‫مثال ‪:5‬‬

‫‪21/33‬‬
‫مثال ‪:5‬‬

‫‪22/33‬‬
‫مثال ‪:5‬‬

‫‪23/33‬‬
‫مثال ‪ :6‬ساخت یک فایل و ذخیره اطالعات‬

‫‪24/33‬‬
‫مثال ‪ :6‬ساخت یک فایل و ذخیره اطالعات‬

‫‪25/33‬‬
‫مثال ‪ :7‬خواندن اطالعات فایل‬

‫‪26/33‬‬
‫مثال ‪ :7‬خواندن اطالعات فایل‬

‫‪27/33‬‬
‫مثال ‪ :8‬ذخیره ساختمان در فایل‬

‫‪28/33‬‬
‫مثال ‪ :8‬ذخیره ساختمان در فایل‬

‫‪29/33‬‬
‫مثال ‪ :9‬ذخیره فایل ‪ csv‬در ساختمان‬

‫‪30/33‬‬
‫مثال ‪ :9‬ذخیره فایل ‪ csv‬در ساختمان‬

‫‪31/33‬‬
‫مثال ‪ :9‬ذخیره فایل ‪ csv‬در ساختمان‬

‫‪32/33‬‬
‫مثال ‪ :9‬ذخیره فایل ‪ csv‬در ساختمان‬

‫‪33/33‬‬

You might also like