برای اطلاعات بیشتر به سایت برنامه جو مراجعه نمایید: http://www.barnamejoo.com
با کلاس ها در ++c
در این سیستم اعضا با وارد کردن نام کاربری و کلمه عبور در یک صفحه ورود ، می توانند وارد سیستم شوند .
توضیح صفحه ورود :
هنگام اجرای برنامه باید اطلاعات کاربران عادی از فایل userdata.txtو مدیران از admindata.txt (برای کار با فایل متنی) یاuserdata.datو admindata.dat(برای کار فایل باینری) خوانده شده و در RAM بارگذاری شود .(در یک آرایه ذخیره گردد)
در صفحه ورود کاربر 3 انتخاب دارد :
1 – ورود
با انتخاب گزینه 1 مکان نما به جایی که نوشته شده username انتقال داده می شود و برنامه منتظر وارد کردن نام کاربری می ماند ، پس از وارد کردن نام کاربری و فشردن کلید enterمکان نما به جایی که نوشته شده password انتقال داده می شود و برنامه منتظر وارد کردن کلمه عبور می ماند ، پس از آن در صورت مطابق بودن نام کاربری با کلمه عبور ، وارد فضای کاربری مناسب شود . (برای این کار کافی است یک جست و جو روی آرایه حاوی اطلاعات اعضا انجام دهید و در صورت موجود بودن username و مطابقت password با کلمه عبور آن کاربر ، اجازه ورود دهید )
نکته : به هنگام وارد کردن کلمه عبور باید به جای کلمات وارد شده کاراکتر چاپ شود .
2 – ثبت نام
با انتخاب این گزینه کاربر اطلاعات لازم را وارد می کند و پس از تایید مدیر می تواند از سیستم استفاده کند .
توضیح : کاربر تایید نشده یعنی کاربری با status = 0 و کاربر تایید شده یعنی کاربری با status = 1
3 – خروج از برنامه
با انتخاب این گزینه باید اطلاعات در فایل ذخیره شده و برنامه خاتمه یابد .
دو نوع کاربر وجود دارد : 1 – کاربر مدیر 2 – کاربران عادی
نوع 1 : کاربر وارد شده مدیر باشد.
در این صورت باید منویی با گزینه های زیر نمایش داده شود .
1 – Add user
2 – Edit user
3 – [not allowed]user
4 – Verify user
5 – List users
6 – Sort users (by username)
7 – Search user (by username)
8 – Change password
9 – Save
10 – Num of users
11 – Logout
شرح وظیفه هر یک از گزینه ها :
گزینه 1 : برای اضافه کردن کاربر جدید توسط مدیر .(بدیهی است کاربری که توسط مدیر ایجاد می شود لازم نیست منتظر تایید مدیربماند - به عنوان مثال اگر یک متغییر به نامstatus به این کار اختصاص داده اید از ابتدا باید مقدار 1 داشته باشد. )
نکته1: انتظار برای تایید فقط در مورد کاربران عادی وجود دارد و کاربرانی که از نوع مدیریت هستند برای استفاده از سیستم نیاز به تایید ندارند .
نکته2: کاربر از نوع مدیر یت فقط توسط مدیر اضافه می شود و از طریق ثبت نام امکان پذیر نیست .
گزینه 2 : برای ویرایش اطلاعات یک کاربر توسط مدیر ( باید تغییر وضعیت فعال یا غیر فعال بودن را هم شامل شود )
گزینه 3 : برای حذف یک کاربر توسط مدیر
گزینه 4 : با انتخاب این گزینه مدیر لیستی از افراد که ثبت نام کرده اند و هنوز تایید نشده اند را مشاهده می کند . با انتخاب شماره کاربر می تواند آن را تایید کند .پس از هر تایید باید از مدیر سوال شود آیا می خواهد کاربر دیگری را تایید کند یا خیر .در صورت مثبت بودن جواب شماره کاربر بعدی را وارد کند ، در غیر این صورت به منوی اصلی بازگردد .
گزینه 5 : لیستی از کاربران فعال را نمایش میدهد .(ترتیب مهم نیست )
گزینه 6 : لیستی از کاربران فعال را که بر اساس username مرتب شده اند را نمایش می دهد .
گزینه 7 : با گرفتن username یک کاربر از ورودی ، اطلاعات کاربر را نمایش می دهد .
گزینه 8 : توسط این گزینه کاربر می تواند رمز عبور خود را عوض کند .
گزینه 9 : اطلاعات اعضا را برای دستیابی های بعدی در یک فایل دودویی یا متنی ذخیره می کند .( انتخاب این که با فایل دودویی بنویسید یا متنی با شماست )
گزینه 10 : نمایش تعداد اعضای سیستم ( به دو روش می توانید آن ها را بشمارید : 1 – استفاده از متغییر سراسری 2 – استفاده از نوع داده static در کلاس مربوطه )
مثالا بعد از انتخاب این گزینه ، نمایش داده شود : Num of users = 10 and Num of administrators = 2
گزینه 11 : خروج و بازگشت به صفحه ورود
نوع 2 : کاریر وارد شده کاربر عادی باشد.
در این صورت باید منویی با گزینه های زیر نمایش داده شود .
1 –Edit profile
2 – [not allowed]profile
3 – Save
4 – Logout
شرح وظیفه هر یک از گزینه ها :
گزینه 1 : با انتخاب این گزینه کاربر می تواند اطلاعات مربوط به کاربری خودش را تعییر دهید .
گزینه 2 : با انتخاب این گزینه کاربر می تواند پروفایل خود را حذف کند .(بدیهی است پس از این کار باید دسترسی او به منوی کاربری حذف شده و در همان لحظه به صفحه ورود منتقل گردد )
گزینه 3 : ذخیره تغییرات در فایل
توضیح : به دو صورت می توانید اطلاعات را در فایل بروز کنید .
1 – در صورت استفاده از فایل متنی: باید فایل را کاملا پاک کنید و همه رکورد ها را از ابتدا در فایل بنویسید .
2 – در صورت استفاده از فایل باینری : می توانید از تابع seekp استفاده کنید و فقط همان رکورد را [not allowed]کنید .
گزینه 4 : خروج و بازگشت به صفحه ورود