[C#]תעזרו לי בבקשה בקטע תוכנית - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


G.P.S

Recommended Posts

  {
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 ציונים אתה לא תצטרך לעשות שום שינוי (למעט מספר

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...