الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في الكود

مغلق
بدأه maas في 17 فبراير 2006 · 6 رد · 460 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يا شباب عندي مشكلة في كتابة هالكود

و البرنامج يطلب اني أدخل أي رقم و من ثم عملية حسابية و رقم و لازم يكون معرفين char نفس الكود اللي مبين و في الأخير يطلع الجواب

و انه واجهتني المشكلة و اني خربطت في البرنامج ف إن شاء الله تقدرون تساعدوني

#include<iostream.h>
int main()
{
	float r[3];
	float op[3];
	char chr;
	for (int i=0;i<3;i++)
  cin>>chr[r];
	char=getchar();
	switch (chr)
  case "1"
  op=1
  case "2"
  op=2
  case "3"
  op=3
  case "4"
  op=4
  case "5"
  op=5
  case "6"
  op=6
  case "7"
  op=7
  case "8"
  op=8
  case "9"
  op=9
  case "0"
  op=0
  case "+"
  op=+
  case "-"
  op=-
  case "*"
  op=*
  case "/"
  op=/

	return 0;
}
#2

السلام عليكم ورحمة الله

أعتقد يا أخي العزيز ان لديك خطاء في السطر 8

 float r[3];
float op[3];
char chr;
for (int i=0;i<3;i++)
 cin>>chr[r];

انت اعلنت عن chr كمتغير من نوع char وليس مصفوفة من نوع char !!

وهناك اخطاء في جملة switch حيث قمت بأعطاء قيمة الى المصفوفة [3]op من دون استخدام الأقواس

يوجد أيظاً بعض الأخطاء في جملة switch من الناحية النحوية فبما انك ستستخدم أكثر من حالة case فيجب ان تكون جميعها

محصورة بين قوسين متعرجين وأ ستخدام الأمر break للفصل بينها :

switch(x)
{
case 0:
one or more statment
..................
break;
case 1:
.................
.......................
case 32:
break;
default :
}

ايظاً في جملة for يوجد خطاء :

 float r[3];
float op[3];
char chr;
for (int i=0;i<3;i++)
 cin>>chr[r];

chr هو متغير من نوع char وانت في هذه الجملة تعاملت معه على انه مصفوفة من نوع []char كما انك أستخدمة

المصفوفة r التي هي من نوع float وعلى اعرف حقيقة ما القصد من هذه الحركة.

هذا والله أعلم

شكراً واسف على الأطالة

#3

السلام عليكم

مشكور أخوي على المساعدة

و لكن للأسف ما فهمت قصدك في بعض النقاط

#include<iostream.h>
int main()
{
	float r[3];
	float op[3];
	char chr;
	for (int i=0;i<3;i++)
  cin>>chr[r];
	for(int j=0;j<3;j++)
	{
	chr[j]=getchar();
	switch (chr[j])
	{
  case "1"
  op=1
  break;
  case "2"
  op=2
  break;
  case "3"
  op=3
  break;
  case "4"
  op=4
  break;
  case "5"
  op=5
  break;
  case "6"
  op=6
  break;
  case "7"
  op=7
  break;
  case "8"
  op=8
  break;
  case "9"
  op=9
  break;
  case "0"
  op=0
  break;
  case "+"
  op=+
  break;
  case "-"
  op=-
  break;
  case "*"
  op=*
  break;
  case "/"
  op=/
  break;
	}
	}

	return 0;
}

فممكن أخوي أو أحد من الإخوان يساعدني في حل هالكود

و طريقة البرنامج اني أدخل رقم و عملية حسابية و رقم بالترتيب

و في الآخر يقوم البرنامج بوضع الجواب للعملية الحسابية

فانه أواجه صعوبة في الfor loop و كيفية استدعاء الرقم و العملية الحسابية و الرقم من الarray و إتمام العملية الحسابية

#4

راجع استخدام جملةswitch جيدا واقرأ بعض الأمثلة ...

لا تتعجل في كتابة الكود.

تعامل مع أنواع البيانات بحذر ...

الفرق بين المصفوفة والمتغير...

راجع هذه الأمور

وتقبل تحياتي.

#5

مشكور أخوي على النصايح

و و لكن للأسف حاولت قبل أن أضع الموضوع

إني أجوف بعض الNotes و عملت search و طبقت الخطوات

و لكن للأسف ما عرفت

#6

هذا الاستخدام خاطيء:

case "+":

لا تستخدم علامـة التنصيص " " .... بل استخدم هذه العلامـة ' '

#7

مشكور أخوي على التصحيح للخطأ

و لكن هالمشكلة أواجهه فانه أواجه صعوبة في الfor loop و كيفية استدعاء الرقم و العملية الحسابية و الرقم من الarray و إتمام العملية

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…