أهلا ومرحبا. في هذا العرض التوضيحي ، أود تقديم
حل لتحدينا الأخير. لذلك أريد أن أقدم
حلاً لبرنامج c الخاص بنا والذي يستغرق عددًا
من الدقائق ويحوله إلى ما هو عليه هذا التمثيل بالأيام
وعدد السنوات.
ليس بالضرورة برنامجًا عمليًا ، ولكنه
سيوضح بعض المفاهيم الأساسية التي يمكنك
أن تتعلمها يا رفاق بشكل أساسي باستخدام عوامل حسابية ، والحصول
على مدخلات من لوحة المفاتيح.
وأيضًا يتعين عليك استخدام مشغل فريق التمثيل لهذا الأمر الذي ربما
لم أذكره في التحدي ، ولكن آمل أن تكونوا
قد توصلتم إلى هذا لأنه عندما تفعل - لا تحتاج إلى استخدام مشغل
فريق التمثيل ، فلن تحتاج في البداية كنت
أفكر في أن الحل يحتاج إلى عامل معامل. ولكن إذا قمت بعمل معامل ،
فإن الأمر لا يتطلب سوى 2 ints على
ما أعتقد.
على أي حال ، لنبدأ. لنبدأ كولد بلوك ، ودعنا ننشئ
مشروعًا ، ونمر بالأشياء الأساسية التي نجيدها في هذه المرحلة.
لذلك لن أخوض في التفاصيل ، يمكنك فقط المشاهدة.
لكنني سأقوم بإنشاء مشروع جديد وسيكون مشروع وحدة تحكم وبالتأكيد
سيكون c وما سأطلق عليه اسم هذا المشروع مرة
أخرى هو أنك تريد دائمًا الحصول على أسماء جيدة ذات معنى.
سأقول دقيقة التحويل.
لذلك فهو يشبه تطبيق تحويل الدقائق.
والآن سأقوم بتعديل الأساسي. ج ملف.
لذلك دعونا نتخلص من هذا. وسنحتفظ ببيانات التضمين.
وكما هو الحال دائمًا ، سترغب في إضافة تعليقات ، تأكد من إضافة التعليقات
، فقط لأنني لا أفعل ذلك لا يعني أنه لا ينبغي عليك القيام بذلك.
إنها ممارسة قياسية. إنها فقط لأغراض الكفاءة والوقت ، أتركها خارجًا.
ما أحب القيام به في الجزء العلوي من البرنامج
هو مسح المتغيرات الخاصة بي التي أحتاج إلى استخدامها ثم تهيئتها.
لذلك دعونا نبدأ بهذه الطريقة. سأقوم بإنشاء متغير عدد صحيح للدقائق
، سيقوم المستخدم بالدخول. وسأسمي أن الدقائق دخلت. سأقوم بتهيئته إلى 0.
سأقوم بإنشاء نسخة مزدوجة لسنوات. قد يكون هذا في الواقع طويلًا
أيضًا اعتمادًا على مقدار الحساب الذي تريد القيام به لأنه يمكنك بالفعل
الوصول إلى رقم عشري كبير جدًا.
قد يكون خيارًا أفضل لفترة طويلة. لكنني سأستخدم المضاعفة
في الوقت الحالي ، وأبدأ هذا 0. 0 وأيام تساوي
ذلك 0. 0.
والآن أريد الحصول على مدخلات من المستخدم.
من أجل الحصول على مدخلات من المستخدم ، فإن أول شيء تفعله هو أن تخبر المستخدم بإدخال المدخلات.
لذلك سأقوم بعرض بعض المخرجات التي
تقول من فضلك أدخل عدد الدقائق.
وستضع نقطتين هناك ومسافة وتنهيها
بفاصلة منقوطة.
بعد ذلك سأحصل على المدخلات.
هنا حيث من المحتمل أن تقول الحصول على مدخلات من المستخدم كتعليق.
كيف نحصل على مدخلات من المستخدم؟ نستخدم وظيفة scanf.
لذا تذكر هذا منذ فترة ، فقط قل scanf ، على غرار printf.
والمعامل الأول على الرغم من الوسيطة هو
نوع البيانات التي تريد قراءتها للتحويل.
تذكر أن كل شيء يُقرأ كسلسلة أو نص.
لذلك عليك تحويلها إلى طريقة تخزينها.
لذلك يمكنك وضعها بين علامتي اقتباس مثل printf. يمكنك استخدام محدد التنسيق.
هنا. سأقول فقط إنني أريد تخزينه كعدد عشري.
لذلك سأقول d عددًا صحيحًا
، وليس عددًا عشريًا ، آسف.
ثم الحجة التالية هي المتغير الذي ستخزنه.
سأقوم بتخزينه في دقائق دخلت.
الآن تذكر أن المسح f وأنا في الواقع قد
قمت بإجراء مسح ضوئي هناك ، ومسح ضوئي لكل نوع بيانات
واحد باستثناء سلسلة ، يجب عليك توفير علامة
العطف. المشغل العنوان الفرعي.
لذلك علينا توفير ذلك. نحن نقرأ في عدد لذا علينا عمل علامة العطف.
تذكر ذلك من المحاضرة. ثم أريد أن أضيف هذا بفاصلة منقوطة.
وفي هذه المرحلة ، ربما يجب أن تختبر.
تأكد من أنه يمكنك الحصول على مدخلات من المستخدم. وربما يكون لديك فقط نسخة مطبوعة لعرض ما قمت بإدخاله.
لكن بما أنني أعلم أن هذا صحيح ، فسأنتقل إلى الأمام.
سأحتاج إلى إجراء عملية حسابية في السطر 15.
في الأساس ، أريد تخزين الدقائق بالسنوات.
لذا فإن ما سأفعله هو إنشاء متغير آخر نسيت بشأنه
والذي سيخزن الدقائق في السنة.
لأن هذا سيجعل الأمر أسهل. لذا هنا سأقول الدقائق والسنة.
ستلاحظ أن الاصطلاح الذي أستخدمه هنا لتسمية المتغيرات هو حالة الجمل.
إنه المكان الذي لديك فيه أحرف صغيرة
للجناح الأول ثم كل كلمة بعد ذلك تكتب الحرف الأول بأحرف كبيرة.
لم أشرح ذلك في وقت سابق لذلك اعتقدت أنني سأذكره.
إذن ، أول عملية حسابية أريد تحديد الدقائق والسنة الخاصة
بي لأن هذه هي الطريقة التي
سأحسب بها سنواتي. لذا فإن الدقائق والسنوات في الواقع ستكون مساوية
- وأنا أحب استخدام الأقواس فقط للتنظيم ، لذلك كل شيء واضح. يجعله أكثر قابلية للقراءة.
سيكون 60 ، لأن 60 هو عدد الدقائق
في الساعة. وسأضرب في ذلك في عدد الساعات في اليوم وهو 24.
سأضرب ذلك في عدد الأيام في السنة
، وهو 365.
ولذا فإن هذا الحساب سوف يعطيني عدد الدقائق في السنة الواحدة.
ويمكنني الآن استخدام هذا لحساب سنواتي.
هنا في السطر التالي ، يمكنني القول إن السنوات متساوية - لذلك نحن نستخدم عوامل
الإسناد هنا ، المتساوي.
ثم ما نفعله بين هذين القوسين في السطر 16 هو أننا نستخدم
علامة النجمة وهي عملية الضرب. أنيق جدا.
السنوات ستساوي - ومرة أخرى أريد استخدام الأقواس.
الدقائق التي تم إدخالها والتي تم إجراؤها بواسطة المستخدم
مقسومة على الدقائق في السنة.
لذا إذا أدخلت 5000 دقيقة وكان هناك 20000 دقيقة في السنة ، فإن
5000 مقسومة على 20000 سيمنحك عدد السنوات
التي ستكون 0 نقطة.
لحساب الأيام ،
سأقول هنا أن الدقائق
التي تم إدخالها مقسومة
على 60 و 60. 0 لأن هناك
60 دقيقة في الساعة.
وبمجرد أن أحصل على الساعات ، يمكنني بعد ذلك تقسيمها على
عدد الأيام وهو 24. 0.
وكان بإمكاني وضع هذا في حساب آخر إذا أردت ذلك.
لكن مرة أخرى ، أريد أن أتأكد من أننا نقوم بذلك بالترتيب الصحيح.
أولًا ، سأقسم الدقائق على 60.
لا داعي للقلق بشأن هذا في الواقع لأننا
نقوم بالقسمة هنا ، لذا فإن الترابطية ستترك لليمين ولن أحتاج
إلى هذه الأقواس في الواقع. لكنني دائمًا أحب إضافة الأقواس لأنها تجعل الأشياء أكثر قابلية للقراءة.
لذلك دعونا نضيف ذلك الأخير.
هذا نوع من الزائدة عن الحاجة. أنا لا أحتاج حتى واحد هنا. لذلك دعونا نتركها
فقط ، فقط الأوائل. وهذا يجب أن يظهر أيامنا.
الآن بعد أن أجريت حساباتي واستخدمت بعض العوامل.
أريد أن أقوم بعملية طباعة لطباعة بياناتي.
سأقول هنا اطبع الدقائق أولاً ، النسبة
المئوية د دقيقة
هي تقريبًا في المائة من السنوات ونسبة الأيام.
ثم سأضيف خط تغذية.
إذن ما يفعله هذا هو أننا نستخدم printf لعرض مخرجات المتغيرات وتتذكر
رموز النسبة المئوية محددات الترميز الخاصة بنا.
أول شيء أريد طباعته هو الدقائق ، لذا يجب أن أضع دقائق بعد الفاصلة الأولى عند إدخالها.
والثاني هو العام لذا أريد أن أقول سنوات لأن هذه في المائة من السنوات.
والثالث هو أيام شيء من هذا القبيل.
يجب أن أقوم الآن بالتجميع والتشغيل ، ويجب أن يقوموا بتحويلي.
لذلك دعونا نمضي قدمًا ونبني. ليس لدي صباح ، ولا أخطاء.
دعنا نركض ولست متأكدًا من عدد الدقائق
في السنة. لذلك لست متأكدًا من كيفية اختبار
ذلك ، ولكن دعنا نخصص 5000 دقيقة للبدء بها.
عندما أقوم بتشغيل البرنامج ، يطلب مني إدخال عدد الدقائق ، سأضع 5000.
وإذا لم تضع رقمًا ، فقد يكون لديك عطل لأنك تقوم
بتحويله إلى رقم في وظيفة scanf الخاصة بك.
ضربت رجوعًا ، وهذا يعني أن 5000 دقيقة تساوي
0 تقريبًا. 009513
سنة و 3. 47222 يومًا ، وهو
ما يبدو منطقيًا لأن ما 60 دقيقة في الساعة مضروبًا
في 24 ، سيكون هذا تقريبًا 2400 أو نحو ذلك
في يوم واحد ، لذا 2400 و 2400
، لا 60 مرة. أنا آسف 60 ضرب
24 سيكون 1200 تقريبًا.
إذن ، 1200 تدخل في 5000 كيف ، عدة مرات لكل يوم
ربما حوالي 3. 4 هناك.
لذلك يبدو هذا صحيحًا تقريبًا.
لذا يمكنك تشغيل هذا عدة مرات ، ووضع بعض الأرقام الكبيرة التي ستلاحظها بالرغم من ذلك.
نحن نخزن فقط الزوجي هنا. لذلك إذا قمت بتشغيله وحاولت إدخال
عدد كبير جدًا ، مثل 600 مليار أو شيء من هذا القبيل
، فقد تحصل على خطأ - لذلك
قد يكون لديك أخطاء هنا. هذا يوضح لك مشاكل أنواع البيانات.
لذلك أنا أقوم بالتخزين في عدد صحيح. كثافة العمليات 8 بايت فقط. لقد أدخلت هذا الرقم الضخم.
لا يمكن تخزين ذلك فيه. لذلك عندما أذهب لطباعته
، فإنه يطبع على رقم مختلف تمامًا ، 184298154.
هذا لأن ما أدخله أكبر من عدد صحيح.
لذلك قد ترغب في التفكير فيما إذا كنت تريد أن يكون هذا
البرنامج أكثر دقة وتريد إدخال أرقام أكبر لتغيير بعض أنواع البيانات
أو تغيير ints إلى زوجي أو حتى من الزوجي إلى عقود طويلة.
هذا يعني 350 سنة و 127000 يوم أو نحو ذلك.
إذن ، تطبيق تحويل صغير لطيف يحاول ، مرة أخرى ، تزويدك
ببعض الفهم لأنواع البيانات
وكذلك المشغلين.
يمكن أن يكون لدينا الكثير من تطبيقات التحويل المختلفة. تطبيق آخر لطيف تريد
كتابته لمزيد من الممارسة هو تطبيق Fahrenheit to Celsius.
اكتب تطبيقًا يسمح للمستخدم بإدخال فهرنهايت ثم تحويله إلى درجة مئوية.
أعني أن هناك العديد من السيناريوهات المختلفة التي تطرحها. لكن هذا سيجبرك على استخدام عوامل التشغيل.
ويمكننا أيضًا إجراء عملية اختيار
هنا إذا أردنا ذلك. إذا لم يعجبنا أن الأيام كانت
دقيقة جدًا وربما نريد تغيير المضاعفة إلى عدد صحيح.
ونريد أن نجعلها أقل دقة. يمكننا في الواقع أن نقول
طرح هذا عليه عن طريق توفير الأقواس
ثم عمل int.
وسيأخذ هذا الرقم في الواقع لعدة أيام.
وإذا كان العدد العشري 3. 549 أو ما شابه ، سيحولها إلى 3.
ربما يكون ذلك أفضل للمستخدم ، ويعود إليك.
لكن دعونا نحتفظ بها الآن كمضاعفة.
لكن هذه هي الطريقة التي تتعلم بها. أنت تتلاعب بالبرنامج ، جرب سيناريوهات مختلفة
، جرب مدخلات مختلفة ، تأكد من أن كل شيء على ما يرام. شكرًا لك.