מישהו כאן מבין בC# ?

  • פותח/ת השרשור snirz
  • פורסם בתאריך

snirz

משתמש פעיל
808
10
נק' מוניטין:
1,559
808
10
אני צריך שבהקלדת המספר 1- תיפסק הלולאה, הבעיה היא שאני רושם 1- הוא מחשיב לי אותו כעוד מספר בלולאה ורק אז יוצא(כלומר נגיד היו לי 3 מספרים, אחרי שרשמתי 1- הוא מחשיב את זה כ4 ורק אז ניפסקת הלולאה). איך אני מתקן את זה?
 
תרשום את הקוד , אבל בדרך כלל פשוט עושים פקודה של ברייק וזה זורק אותך מהלולאה .
 
  • פותח/ת השרשור
  • #3
111
{
class Program
{
static void Main(string[] args)
{
int sw=1 ,x, y, mone = 0;
while (sw > 0)
{
Console.WriteLine("Please Enter The Male and then the Female Number In Your Family");
x = int.Parse(Console.ReadLine());
y = int.Parse(Console.ReadLine());
{
if (x == -1)
sw = 0;
}
if (x == y)
mone++;
}


{
if (sw == 0)
Console.WriteLine("The number of families that their males number is like the female number is:");
Console.WriteLine(mone);
}

}
}
}
 
למה שהוא יצא לך מהלולאה , אין לך שום תנאי שמוציא אותו .
אתה צריך להגיד שאם X או Y שווים -1 , הוא יזרוק אותך מהתוכנה .
אצלך הוא פשוט ממשיך כי לא אמרת לו לצאת .
 
א) זה לא קשור ל C#. זה יראה ככה בכל שפה
ב) תעקוב אחרי הקוד ותבין שאין סיבה שזה ייצא מהלולאה כשאתה מצפה שזה ייצא. אתה צריך בדיקה אחרי כל קלט.
 
אתה צריך על הקלט השני שלך תנאי
if(x!=-1( ואז הוא לא יחכה לקבל עוד מספר
 
  • פותח/ת השרשור
  • #8
מוזר, עדיין לא .. הקוד שלי נראה ככה:
{
int sw=1 ,x, y, mone = 0;
while (sw > 0)
{
Console.WriteLine("Please Enter The Male and then the Female Number In Your Family");
x = int.Parse(Console.ReadLine());
{
if (x == -1)
sw = 0;
}
y = int.Parse(Console.ReadLine());
if (x == y)
mone++;
}


{
if (sw == 0)
Console.WriteLine("The number of families that their males number is like the female number is:");
Console.WriteLine(mone);
}
 
מוזר, עדיין לא .. הקוד שלי נראה ככה:

{
int sw=1 ,x, y, mone = 0;
while (sw > 0)
{
Console.WriteLine("Please Enter The Male and then the Female Number In Your Family");
x = int.Parse(Console.ReadLine());

if (x != -1)
{
y = int.Parse(Console.ReadLine());
if (x == y)
mone++;
}
else
sw = 0;

}


{
if (sw == 0)
Console.WriteLine("The number of families that their males number is like the female number is:");
Console.WriteLine(mone);
}

היית צריך משהו בסגנון הזה
 
ד"א זה גם בלי בדיקה של Y (האם הוא -1) אתה תצטרך להוסיף גם את זה
 
  • פותח/ת השרשור
  • #11
צודק, הרצתי את הקוד עובד פיקס. תודה רבה 😃
 
נערך לאחרונה:
לא הבנתי את הקטע של X=-1
איך מספר אנשים יכול להיות -1 ?
זה אמור להיות sanity check?
 
  • פותח/ת השרשור
  • #14
פשוט כשאני יקליד 1- אז תסתיים התוכנית.. זה לא אמור להיות מספר של אנשים
 
שימו לב! השרשור ישן: לא היו תגובות בשרשור מעל 90 יום.

ייתכן שהתוכן בשרשור כבר אינו רלוונטי ולכן עדיף לפתוח שרשור חדש.
Back
למעלה תחתית