مرحبا مرة أخرى
جيد جدا
لقد استخدمت نوع string للمتغير f و هو نوع يحفظ عبارة تتكون من أكثر من حرف ، هذا النوع مناسب جدا لحفظ أسماء الطلاب
قمت بعد إعلان المتغير بإدخال أسماء الطلاب في المتغير f و هذا صحيح
لكنك بعدها قمت بإدخال درجات الطلاب في نفس المتغير f ، هذا يعني أنك مسحت الأسماء و كتبت مكانها الدرجات
إضافة إلى ذلك فإنك قمت بحفظ الدرجة في متغير من نوع string و هو يحفظ نصوصا و لا يحفظ أعدادا و هذا خطأ
بعد هذا الأفضل أن تسمي المتغيرات بأسماء واضحة ، مثلا متغير الأسماء names فبهذا نعرف أنك تريد حفظ الأسماء في هذا المتغير ، تخيل لو أنك كتبت :
int f;
ربما أردت حفظ الدرجات و عندها سأقول لك أن السطر صحيح ، لكن ربما تريد حفظ الأسماء و عندها سأقول لك أن النوع خطأ و عليك استخدام string ، الأفضل أن تكتب معرفات معبرة حتى أعرف ما تعني من المتغير
أخيرا بالنسبة للإعلان و التعريف ، لا فرق أبدا في أن تعرف الدالة مع إعلانها أو في مكان آخر لكنك أحيانا تحتاج إعلانها
تخيل أن لدينا دالتين ، الأولى تستدعي الثانية ، عندها يجب أن تعرف الثانية قبل الأولى لأنك تستخدم الدالة الثانية داخل الأولى :
كود الـ PHP:
void fun2(int a) {
cout << a << endl;
}
void fun1 () {
fun2();
}
لكن تخيل أن الدالة الأولى تستدعي الثانية و الثانية أيضا تستدعي الأولى :
كود الـ PHP:
void fun2 (int a) {
if (a <= 0) return;
else {
cout << a << endl;
fun1(a-1);
}
}
void fun1(int a) {
fun2(a-1);
}
في هذه الحالة إذا عرفت الدالة الأولى أولا فإنك ستستخدم الدالة الثانية داخل الأولى و أنت لم تعرفها بعد و هذا لا يجوز في لغة سي++
و إذا عرفت الدالة الثانية قبل الأولى فإنك ستستخدم الأولى داخل الثانية و أنت لم تعرفها بعد و هذا مثل الأول تماما و لا يجوز في لغة سي++
الحل هو أن تعلن الدالتين أولا دون تعريف و بعدها يجوز لك استخدامهما ، عندها تستطيع تعريف الدالتين و استخدام كل منهما داخل الأخرى بشكل عادي
بإمكانك أن تعلن واحدة منهما ثم تعرف الأخرى و بعدها تعرف الأولى
نحن بانتظارك
تحياتي
روح سامية
المفضلات