خب می خوایم شروع کنیم به نوشتن یه برنامه، اصلا هم به این دلیل نیست که پروژه داریم و این حرفا
این برنامه ما چند کار باید انجام بده که هر کدوم رو جداگانه توضیح می دم:
1- از کاربر اطلاعات رو بگیره و توی یه فایل بنویسه
2- ساختار index این اطلاعات رو بسازه و در صورت اضافه کردن اطلاعات اونو به روز رسانی کنه
3- با استفاده از index که ساخته در اطلاعات جستجو کنه و مقدار مورد نظر رو نمایش بده
4- ساختار index رو در یه فایل ذخیره کنه و موقع شروع برنامه اونو بخونه و وارد حافظه کنه
اول می ریم سراغ گرفتن اطلاعات از کاربر: از اون جایی که می خوایم یه ساختار داده ای تعریف کنیم باید بریم سراغ Struct معروف خودمون و مقادیر دلخواه رو توش تعریف می کنیم. مثلا یه مثال ساده برای اطلاعات دانشجو می تونه این باشه:
این برنامه ما چند کار باید انجام بده که هر کدوم رو جداگانه توضیح می دم:
1- از کاربر اطلاعات رو بگیره و توی یه فایل بنویسه
2- ساختار index این اطلاعات رو بسازه و در صورت اضافه کردن اطلاعات اونو به روز رسانی کنه
3- با استفاده از index که ساخته در اطلاعات جستجو کنه و مقدار مورد نظر رو نمایش بده
4- ساختار index رو در یه فایل ذخیره کنه و موقع شروع برنامه اونو بخونه و وارد حافظه کنه
اول می ریم سراغ گرفتن اطلاعات از کاربر: از اون جایی که می خوایم یه ساختار داده ای تعریف کنیم باید بریم سراغ Struct معروف خودمون و مقادیر دلخواه رو توش تعریف می کنیم. مثلا یه مثال ساده برای اطلاعات دانشجو می تونه این باشه:
PHP:
struct student{
int studentNum;
char name[30];
}student[1200];
برای راحتی کار همون جا بعد از تعریف struct یه آرایه از اون تعریف می کنیم تا اطلاعات رو داخلش بذاریم. بعد باید با استفاده از یه حلقه مثل for یا while و دستور scanf اطلاعات رو از کاربر می گیریم. این جا به خودمون بستگی داره که با کدوم حلقه کار کنیم مثلا while رو انتخاب می کنیم:
به این ترتیب شماره دانشجویی رو اول از کاربر سوال می کنیم تا زمانی که صفر نباشه عملیات خوندن رو انجام می دیم و وقتی صفر شد از حلقه خارج میشیم.
تا این جا اطلاعات رو گرفتیم و در یک آرایه ذخیره کردیم. حالا باید عملیات نوشتن روی فایل رو انجام بدیم. برای این کار اول باید فایل مورد نظر رو با استفاده از fopen باز کنیم. برای fopen چند تا انتخاب وجود داره. “r” برای خوندن از فایل “w” برای نوشتن در فایل یا در واقع بازنویسی اون و “a” برای اضافه کردن به فایل که ما چون می خوایم موقع اضافه کردن اطلاعات، اطلاعات قبلی از فایل پاک نشن از “a” برای باز کردن استفاده می کنیم. نام فایل مورد نظر هم باید مشخص کنیم:
PHP:
while (1){
printf ("\nStudent number? ");
scanf ("%d", &student[counter].studentNum);
if (student[counter].studentNum==0)
break;
printf ("\nStudent name? ");
scanf ("%s", student[counter].name);
counter++;
}
به این ترتیب شماره دانشجویی رو اول از کاربر سوال می کنیم تا زمانی که صفر نباشه عملیات خوندن رو انجام می دیم و وقتی صفر شد از حلقه خارج میشیم.
تا این جا اطلاعات رو گرفتیم و در یک آرایه ذخیره کردیم. حالا باید عملیات نوشتن روی فایل رو انجام بدیم. برای این کار اول باید فایل مورد نظر رو با استفاده از fopen باز کنیم. برای fopen چند تا انتخاب وجود داره. “r” برای خوندن از فایل “w” برای نوشتن در فایل یا در واقع بازنویسی اون و “a” برای اضافه کردن به فایل که ما چون می خوایم موقع اضافه کردن اطلاعات، اطلاعات قبلی از فایل پاک نشن از “a” برای باز کردن استفاده می کنیم. نام فایل مورد نظر هم باید مشخص کنیم:
PHP:
FILE *fPointer
fPointer=fopen ("info.txt", "a");
اشاره گر FILE رو معمولا در اول برنامه تعریف می کنیم که در این جا اسمشو fPointer گذاشتیم.