پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

فروشگاه آنالین ساده به زبان c

پنج سال پیش منتشر شده

تعداد بازدید: 377

کد پروژه: 233650


شرح پروژه

در این پروژه باید از نحوه خواندن فایل و ساختار داده Struct استفاده کنید. شما تنها مجاز به نمایش پیغام های عددی که در جدول انتهایی ذکر شده اند هستید و نمایش هر عبارتی به جز آن چه در این متن ذکر شده است باعث از دست رفتن نمره خواهد شد.

توضيح پروژه و و،یژگی های مورد نظر در این فاز از پروژه:

باید ویژگی های زیر را در محیط Line Command پیاده سازی نمایید. دقت کنید که پس از اجرای هر کدام از دستورات زیر به صورت موفقیت آمیز، باید پیغامی مناسب به کاربر نشان دهید و در صورت خطا، باید با پیغامی مناسب که در انتهای این متن ارائه شده است، کاربر را از خطای رخ داده مطلع سازید.

 تمام اطلاعات را به کمک لیستهای پیوندی اخذ کنند و هیچ گونه آرایه ثابتی در نظر نگیرند.

در ابتدای اجرای برنامه باید اطالعات محصوالت از حافظه خوانده شود و در آرایه مربوطه ذخیره شود. نام فایل اطالعات محصوالت به صورت زیر می باشد.

goods_db.txt 

اطالعات محصوالت شامل نام محصول، قیمت محصول و تعداد موجودی در انبار می باشد. ترتیب ذخیره سازی این اطالعات در فایل به صورت زیر می باشد که در هر خط از فایل اطالعات یک محصول نوشته شده است. ,, Example: watch,1000,20 phone,10000,5 ... ثبت نام یک کاربر جدید در ابتدا، هر کاربر جدیدی که وارد سامانه می شود، باید در آن ثبت نام کند. برای ثبت نام یک کاربر جدید، باید نام کاربری )usemname ،)رمز عبور )password )به فرم زیر، وارد شوند. توجه کنید که نام های کاربری یکتا بوده و اجازه اضافه شدن هیچ کاربری با نام کاربری مشابه وجود ندارد و در صورت نقض این شرط و وجود کاربر تکراری در سامانه، باید یک پیغام خطای مناسب چاپ شود. همچنین توجه کنید که موارد مشخص شده در فرم زیر، با استفاده از کاراکتر space از یکدیگر جدا شده و در فیلدهای نام کاربری و رمز عبور، نمی توان از این کاراکتر استفاده نمود

ورود به حساب کاربری در صورتی که یک کاربر، پیش از این در سامانه ثبت نام کرده باشد، با استفاده از دستور زیر می تواند وارد حساب کاربری خود شود. دقت کنید که یک کاربر پس از ثبت نام )Signup )به صورت مستقیم وارد سامانه نشده و باید در سامانه login کند. ضمنا برای مثال، همان طور که در ابتدای این بخش نیز ذکر شده در اثر ورود موفقیت آمیز به سامانه باید پیغامی مناسب به کاربر نشان دهید و همچنین در صورت عدم وجود کاربری با اطالعات وارد شده، باید خطای مناسبی چاپ شود. همه این خطا ها و پیغام ها در جدول انتهای این متن ذکر شده اند. login Example: login person 231

خروج از حساب کاربری برای خروج از حساب کاربری، از دستور logout به فرم زیر استفاده می شود. توجه کنید که برنامه بعد از اجرای دستور logout باید همچنان در حال اجرا بوده و بسته نشود؛ زیرا ممکن است کاربر دیگری قصد وارد شدن به سامانه را داشته باشد. logout Example: logout

افزایش اعتبار هر کاربر هر کاربر اختیار آن را دارد که مبلغی را به موجودی حساب خود اضافه کند. برای این کار باید مبلغ مورد نظر خود را به فرم زیر مشخص کند deposit Example: deposit 1000 در مثال باال، به موجودی حساب کاربر که در حال حاضر فعال است، 1۰۰۰ واحد واریز می شود.

موجودی کاربر هر کاربر با وارد کردن دستور زیر می تواند موجودی حساب خود را مشاهده کند که خروجی تنها به صورت یک عدد نامنفی خواهد بود. credit

مشاهده ی کاالهای موجود هر کاربر باید بتواند اطالعات تمامی کاالهای سیستم را با وارد کردن دستوری به فرم زیر مشاهده کنند. این اطالعات شامل موارد زیر هستند. در این حالت نباید پیغام موفقیت آمیز در خروجی نمایش داده شود. show_goods Example: show_goods

نحوه نمایش خروجی این دستور نام کاال، قیمت واحد کاال، موجودی کاال Example: good name, price, count watch, 1000, 20 phone, 10000, 5 laptop, 200000, 3 خرید کاال هر کاربر می تواند با دستوری به فرم زیر، کاالیی را خریداری کنند. در صورت خرید موفقت آمیز، باید این کاال به تعداد خریداری شده از لیست کاالهای سامانه خارج شود و موجودی خریدار کاهش یابد. buy

Example: buy watch 1 توجه کنید که اگر کاربر خریدار به میزان کافی موجودی نداشته باشد، باید با استفاده از یک پیام مناسب این موضوع را انتقال دهید. همچنین اگر موجودی کاالیی به صفر رسیده باشد، دیگر نمی توان از این کاال سفارش داد

ذخيره سازی اطالعات کاالها با ارائه دستور save کلیه اطالعات جدید محصوالت )تغییر در تعداد انبار آن ها رخ داده است( در فایل txt.goods_new را با همان فرمت اولیه ذخیره کند. سبد خرید کاربر)امتيازی( – 10 امتياز هر کاربر بعد از ثبت نام در برنامه یک سبد خرید خالی برای آن در نظر گرفته می شود که پس از خرید هر محصول اطالعات خرید در آن ذخیره می شود. در این مورد می توانید دو متغیر سراسری دیگر عالوه بر محدودیت ذکر شده برای متغیر های سراسری، استفاده کنید. اطالعات خرید شامل موارد نام کاال قیمت خریداری شده )الزم به ذکر است ممکن است بعد از مدتی قیمت کاال تغییر کند و بنابراین الزم است قیمت لحظه خرید ذخیره شود( و تعداد خریداری شده ذخیره شود. کاربر با وارد کردن دستور زیر می تواند سبد خرید خود را مشاهده کند. برای محل ذخیره سازی این اطالعات خرید می توانید فرض کنید که بیشتر از 1۰ کاال خریداری نخواهد شد. )طبیعتا دانشجویان چهار واحدی از لیست پیوندی باید استفاده کنند.( show_cart که در صورتی که قبال محصولی را خریداری کرده باشد سبد خرید به صورت زیر نمایش داده می شود. good name, price, count watch, 1000, 2 phone, 10000, 1

امتياز کاربر)امتيازی(-10 امتياز کاربر با هر خرید امتیاز وفاداری دریافت می کند و بعدا میتواند با جمع کردن امتیازات خود از فروشگاه محصوالتی را خریداری کند. محاسبه امتیاز هر کاربر در این فروشگاه به این صورت است که به ازای هر 10 تومان خرید در فروشگاه کاربر 1 امتیاز دریافت می کند و در نهایت بعد از این که جمع امتیازات کاربر از حداقل قیمت یک محصول در فروشگاه بیشتر یا مساوی شد می تواند با تبدیل امتیازات خود به اعتبار خرید، از فروشگاه خرید کند. برای این کار دو کار را باید انجام دهد. نمایش امتياز کاربر کاربر با وارد کردن دستور زیر می تواند امتیاز خود را مشاهده کند. my_bonus که خروجی این دستور در صورتی که کاربر امتیازش صفر نباشد به صورت زیر و تنها یک عدد خواهد بود. Example: 200 تبدیل امتيازات به اعتبار کاربر پس از اینکه مجوز تبدیل امتیاز های خود را دریافت کرد می تواند با وارد کردن دستور زیر درخواست تبدیل امتیاز های خود را ثبت می کند. convert_bonus که در صورت موفقیت آمیز بودن یا ناموفق بودن پیغام مناسب را نمایش می دهد. ذخيره کردن و فراخوانی اطالعات کاربران از فایل – 10 امتياز برای این کار می توانید در ابتدای برنامه از فایل txt.users اطالعات کاربران را وارد کنید. این اطالعات با همان فرمت کاالها به ترتیب نام، پسورد وامتیاز است. همچنین در قسمت ذخیره سازی کاربران جدید در txt.newusers ذخیره شود.

چند نکته و راهنمایی شما موظف هستید که انواع خطاهای ورودی را چک کنید. برای مثال سه نمونه از این خطاها عبارتند از: 1 .اشتباه تایپی در وارد کردن دستورها مانند logot 2 .اشتباهات معنایی این که تا زمانی که کاربری وارد نشده است بتوان خرید کرد. 3 .این که قبل از خروج یک کاربر، کاربر دیگری وارد شود. در این پروژه می توانید از آرایه ها، اشاره گرها و Struct استفاده کنید. در کد خود تنها مجاز به استفاده از 4 متغیر سراسری)Global )هستید.

ليست خطا ها و پيغام ها 

Successful 800 عملیات با موفقیت انجام شد found Not Command 801 دستور نامعتبر همچنین اگر کاربر وارد سامانه نشده و دستوراتی را وارد می کند که نیاز به ورود به سامانه دارند Exists already Username 802 ثبت نام با نام کاربری تکراری found not User 803 پیدا نشدن نام کاربری password Wrong 804 اشتباه بودن رمز عبور کاربر Command Invalid 801 در حالتی که کاربر وارد سامانه شده است و دستور ثبت نام یا ورود به حساب کاربری را وارد می کند؛ یا وارد سامانه نشده ولی دستور خروج را وارد می کند Error Unexpected 805 اروری که باعث بروز خطای حین اجرا شود مانند خالی بودن ورودی که اجرای برنامه باید خاتمه یابد input Invalid 806 نامعتبر بودن ورودی مانند منفی بودن مقدار افزایش اعتبار found not Good 807 کاال وجود نداشته باشد

d enough Not 808 کاال به اندازه درخواستی کاربر در انبار موجود نباشد good this afford cannot You 809 کاربر موجودی کافی برای خرید کاال نداشته باشد successful Bought 810 خرید با موفقیت انجام شد. الزم به ذکر است در این حالت نیاز به نمایش پیغام 800 نیست Empty is Cart 811 در صورتی که کاربر درخواست نمایش سبد خرید خود را دارد ولی تا کنون محصولی را خریداری نکرده است zero is Bonus 812 در صورتی که کاربر میخواهد امتیاز خود را مشاهده کند اما تا کنون هیچ خریدی انجام نداده است Unsuccessful Convert 813 کاربر حد نصاب تبدیل امتیازات خود به اعتبار را کسب نکرده است Successful Convert 814 تبدیل امتیازات کاربر به اعتبار با موفقیت انجام شد

مهارت ها و تخصص های مورد نیاز


مبلغ پروژه

300,000 تومان

مهلت برای انجام

6روز

وضعیت مناقصه

انجام شده


درباره کارفرما

عضویت پنج سال پیش

7 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 57%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار