مدیریت کارمندان


سلیب که به تازگی شرکت خود را تاسیس کرده اکنون با چالش جدیدی مواجه شده، مدیریت کارمندان! در حال حاضر او نیاز دارد تا بتواند هرگاه که اراده کرد به هر کارمند خود به عنوان تشویق پاداش بدهد یا اطلاعات تمامی کارمندان ساکن شهر خاصی را ببیند.

سلیب اطلاعات تمامی کارمندان خود را در یک فایل با نام employee.csv ذخیره کرده که محتوای آن به فرمت زیر است:

extensionFromNameemployee.csv
10012,Tehran,Seyed Ali Babaei,09121212121,4000,Narmak-Kooche-Aval
20221,Tehran,Mostafa Karimi,09131313131,3900,Kerman-Kooche-Aval
40521,Semnan,Amin Anvari,09123456789,3800,Piroozi-Kooche-Aval
12140,ALborz,Nima Heydari Nasab,09383838383,4100,Fardis-Kooche-Aval
CSV

در ستون اول آیدی کارمند، در ستون دوم شهر کارمند، در ستون سوم نام کارمند، در ستون چهارم شماره تلفن کارمند، در ستون پنجم حقوق کارمند و در ستون ششم آدرس کارمند مشاهده می‌شود.

او که چیزی از ترمینال لینوکس و اسکریپت‌نویسی نمی‌داند از شما کمک خواسته تا برای او دو کار زیر را انجام دهید:

  • دستوری با نام bonus تعریف کنید تا با دریافت آیدی کارمند، به میزان ۵ درصد حقوق او به او پاداش دهد. یعنی با اجرای دستور زیر:
extensionFromNamebash
./manager.sh bonus 40521
Terminal

خروجی زیر مشاهده شود:

extensionFromNamebash
Amin Anvari will get $190 bonus
Terminal
  • دستوری با نام city تعریف کنید تا با دریافت شهر مورد نظر سلیب، نام و شماره تلفن تمام کارمندان ساکن آن شهر او را خروجی بدهد. یعنی با اجرای دستور زیر:
extensionFromNamebash
./manager.sh city ALborz
Terminal

خروجی زیر مشاهده شود:

extensionFromNamebash
Customer Name: Nima Heydari Nasab
Mobile No: 09383838383
Terminal
  • در صورتی که پارامتر اول ورودی هیچ‌کدام از دو حالت بالا نبود، اسکریپت باید عبارت command not found را چاپ کند.

مثال🔗

برای مثال اگر اسکریپت شما را مانند زیر اجرا کنیم:

extensionFromNamebash
./manager.sh bonus 10012
Terminal

باید خروجی زیر را دهد:

extensionFromNamebash
Seyed Ali Babaei will get $200 bonus
Terminal

یا اگر اسکریپت شما را مانند زیر اجرا کنیم:

extensionFromNamebash
./manager.sh city Tehran
Terminal

باید خروجی زیر را دهد:

extensionFromNamebash
Customer Name: Seyed Ali Babaei
Mobile No: 09121212121
Customer Name: Mostafa Karimi
Mobile No: 09131313131
Terminal

پروژه اولیه🔗

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

Employee-Management
├── employee.csv
└── manager.sh
Plain text

راه‌حل خود را درون فایل manager.sh پیاده‌سازی کنید.

توجه کنید🔗

  • به تمامی فاصله‌های خالی بین حروف خروجی دقت کنید.
  • اطلاعات مورد نیاز شما در سیستم داوری درون فایل employee.csv در کنار اسکریپت شما قرار دارد.
  • دسترسی اجرا به فایل ارسالی شما به طور خودکار در سیستم داوری داده می‌شود.
  • تضمین می‌شود ۵ درصد حقوق کارمندان همواره عددی صحیح است.

نحوه ارسال🔗

برای ارسال جواب دستورات خواسته شده را درون فایلی با نام manager.sh وارد کنید و آن را انتخاب و سپس ارسال کنید.