עבור לתוכן

[C#]תעזרו לי בבקשה בקטע תוכנית

Featured Replies

פורסם

  {
int x, y;
x = int.Parse(Console.ReadLine());
y = int.Parse(Console.ReadLine());
if (x > 80 && y > 80)
{ Console.WriteLine("2"); }
else
{ Console.WriteLine("0"); }
if (x > 80 || y > 80)
{ Console.WriteLine("1"); }

}

פתחו אלגוריתם אשר הקלט שלו הוא שני ציונים של תלמיד, שערכם הוא מספר שלם בין 0 ל- 100

והפלט שלו הוא מספר המציין כמה מן הציונים גבוהים מ-80.

הבעיה היא שה-IF הראשון סוטר את ה-IF השני ולהפך למשל אם אני יקליד את הציונים:

90 81 הפלט: 2 1

90 50 הפלט: 1 0

מה אני צריך לעשות כדי שאם הIF הראשון נכון שהתוכנית לא תמשיך לIF השני?

פורסם

אתה צריך לעבוד עם תנאי מקונן. כלומר, תנאי בתוך תנאי. זה יראה כך:


int x, y;
x = int.Parse(Console.ReadLine());
y = int.Parse(Console.ReadLine());
if (x > 80 && y > 80)
Console.WriteLine("2");
else
if (x > 80 || y > 80)
Console.WriteLine("1");
else
Console.WriteLine("0");

דרך נוספת היא ליצור משתנה שימנה את מספר הציונים הגדולים מ 80, ולאחר מכן פשוט להדפיס את התוכן שלו (לדעתי היא פחות "חכמה"):


int x, y, mone;
x = int.Parse(Console.ReadLine());
y = int.Parse(Console.ReadLine());
mone = 0;
if (x>80)
mone++;
if (y>80)
mone++;
Console.WriteLine(mone);

פורסם
  • מחבר

אתה צריך לעבוד עם תנאי מקונן. כלומר, תנאי בתוך תנאי. זה יראה כך:


int x, y;
x = int.Parse(Console.ReadLine());
y = int.Parse(Console.ReadLine());
if (x > 80 && y > 80)
Console.WriteLine("2");
else
if (x > 80 || y > 80)
Console.WriteLine("1");
else
Console.WriteLine("0");

תודה רבה עכשיו זה מובן

פורסם

הדרך הטובה ביותר (בתנאי שלמדת את זה בבית הספר) היא ליצור מערך שקולט את הציונים ולאחר מכן לעבור עליהם ולספר.

למה זה טוב ? מכיוון שאם מחר המורה יבקש ממכם לשנות את הקוד כדי לקלוט 3 ציונים אתה לא תצטרך לעשות שום שינוי (למעט מספר

הפעמים של לולאת הקליטה) בניגוד לכל האופציות האחרות.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים