আমাদের নতুন ব্যাংকের একটি টেলার লেনদেন সিস্টেম দরকার তবে সমস্যা আছে। আমাদের সার্ভারে স্থানের কয়েকশ বাইট বাকি রয়েছে, সুতরাং আপনাকে খুব কমপ্যাক্ট কোড লিখতে হবে।
তথ্যশালা
ধন্যবাদ আমাদের ডেটাবেস খুব সহজ (এটি আমাদের ব্যাংকের প্রেসিডেন্টের স্কুলপুত্র পুত্র দ্বারা নির্মিত হয়েছিল), এবং আমাদের এখনও পর্যন্ত কয়েকটি গ্রাহক রয়েছেন।
ফাইলটি Bank.data
হ'ল:
Account Firstname Lastname Balance Date
123 Maree Jones 346.22 2014-12-13
035 Thomas Breakbone 3422.02 2015-01-03
422 Henrietta Throsby-Borashenko 277847.74 2014-11-21
501 Timmy Bongo 7.95 2014-11-04
105 William Greene 893.00 2015-01-06
300 Mary Galoway 1228.73 2014-12-28
203 Samantha Richardson 2055.44 2014-11-01
151 Bruce Wayne 956119.66 2014-10-09
166 Chip Stonesmith 266.71 2014-12-15
888 Alexandria Cooper 1299.82 2014-12-30
অ্যাপ্লিকেশন স্পেসিফিকেশন
আমাদের ব্যাংক অ্যাপ্লিকেশন অবশ্যই নিম্নলিখিত কমান্ড প্রয়োগ করতে হবে:
open <firstname> <lastname>
একটি অনন্য 3 ডিজিটের অ্যাকাউন্ট নম্বর মুদ্রণ করে একটি নতুন অ্যাকাউন্ট তৈরি করে (খোলে)।
withdraw <account> <amount>
কোনও অ্যাকাউন্ট থেকে অর্থ প্রত্যাহার করুন।
deposit <account> <amount>
কোনও অ্যাকাউন্টে পরিমাণ জমা দিন।
close <account>
খালি থাকলে অ্যাকাউন্ট বন্ধ করুন।
report <fieldname>
ক্ষেত্রের নাম অনুসারে বাছাই করা ডাটাবেসের একটি প্রতিবেদন মুদ্রণ করুন। ক্ষেত্রের নাম কলামটি প্রথম অবস্থানে নিয়ে যান। প্রতিটি কলামের প্রস্থ এক স্পেস দ্বারা বিভক্ত সর্বোচ্চ প্রশস্ত ডেটা এবং ক্ষেত্রের নাম প্রস্থ হবে। প্রথম লাইনটি মাঠের শিরোনাম হবে। ব্যালেন্সগুলি অবশ্যই একটি শীর্ষস্থানীয় $
চিহ্ন সহকারে ন্যায়সঙ্গত হওয়া উচিত ।
print <account>
প্রতিবেদনের মতো এই অ্যাকাউন্টটির জন্য ক্ষেত্রের নামগুলি রেকর্ড করুন এবং রেকর্ড করুন।
প্রতিবার একটি রেকর্ড পরিবর্তন করা হয়, রেকর্ডের Date
ক্ষেত্রটি বর্তমান তারিখে আপডেট করতে হবে।
কমান্ডের জন্য অপেক্ষা করার সময় অ্যাপ্লিকেশনটি "#" প্রম্পট প্রদর্শন করবে। যদি কোনও কমান্ড ব্যর্থ হয় (যেমন কোনও অজানা অ্যাকাউন্টে অপারেশন বা অপর্যাপ্ত তহবিল), অ্যাপ্লিকেশনটিকে অবশ্যই তথ্যমূলক ত্রুটি বার্তা "ব্যর্থ" মুদ্রণ করতে হবে। প্রোগ্রামটি অবশ্যই প্রতিটি পরিবর্তনের পরে ফাইলে ফিরে যেতে হবে এবং প্রতিটি কমান্ডের ফাইল থেকে পড়তে হবে কারণ বিশ্বজুড়ে অনেকগুলি টেলারের প্রোগ্রাম রয়েছে যা ফাইলটি একই সাথে অপারেটিং করে (আমাদের ফাইল লকিংয়ের দরকার নেই - এটি পারফরম্যান্স হ্রাস করতে পারে)।
সম্পাদনা: স্ট্রিং ফিল্ডগুলি সাদা স্থান ছাড়াই সহজ এএসসিআইআই (এজেড, এজেড, -) হয় এবং পরিমাণটি সর্বদা 0.00 থেকে 1000000000.00 (1 বিলিয়ন) ডলারের মধ্যে থাকবে 2 সেন্টিমিটারের সাথে নির্দেশ করে ating তারিখটি প্রতিটি শাখায় স্থানীয় সময় হবে (একটি সহজ সমাধান তবে পরে কিছু সমস্যা হতে পারে ...)।
আউটপুট
উত্তরগুলি তারা নির্দিষ্টকরণের সাথে মেলে তা প্রমাণ করতে হবে। নিম্নলিখিত আদেশগুলি প্রক্রিয়া করার পরে দয়া করে আপনার প্রোগ্রাম থেকে আউটপুট সংযুক্ত করুন:
report Balance
open Clark Kent
print 001
deposit 001 4530
withdraw 105 893
close 105
report Date
আপনি Bank.data
উপরে বর্ণিত ফাইলটির একটি আসল অনুলিপি ব্যবহার করেছেন তা নিশ্চিত করুন ।
স্কোরিং
এটি কোড-গল্ফ, সুতরাং আপনার স্কোরটি আপনার কোডের বাইট গণনা হবে। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়েছে।
<firstname>
এবং <lastname>
এবং পরিসীমা এবং এর স্পষ্টতা <amount>
? (উদাহরণস্বরূপ কিছু অপ্টিমাইজেশন থাকতে পারে যা <amount>
সর্বদা ঠিক দুটি দশমিক জায়গা থাকলে - বা আপনি মধ্য প্রাচ্যের শাখার মাধ্যমে প্রোগ্রামটি ব্যবহারযোগ্য হয়ে উঠতে চান, যেখানে বেশিরভাগ মুদ্রাগুলি তিন দশমিক স্থান ব্যবহার করে)।
<firstname>
এবং এটি <lastname>
উভয়ই কেবল ব্যবহার করে a-zA-Z
তবে এমন একটি সাধারণ বিবৃতি যা তাদের মাঝে ট্যাব অক্ষর থাকে না তা টিএসভি ব্যবহারের অনুমতি দেয়। যদি তারা এএসসিআইআই অক্ষরের কোনও অনুক্রম হতে পারে তবে এক-চর ডিলিমিটার বাদে পালানোর বা সীমানার কিছু প্রকারের প্রয়োজনীয়।