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

בעיה קטנה לולאות for בC#


intel suck

Recommended Posts

יש לי בעיה קטנה בתרגיל הזה

 using System;

class Program
{
static void Main(string[] args)
{
const double MILE = 1.6;
double sum;
sum = 0;
int i;
Console.WriteLine("enter the number {0}",i);
i= int.Parse(Console.ReadLine());
for (i = 1; i < 20; i = i + 1)
{
sum = MILE * i;
Console.WriteLine("the sum is {0}", sum);
}
}
}

הקומפיילר רושם: Error 1 Use of unassigned local variable 'i'l

מישהו יודע מה הבעיה?

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

  • תגובות 30
  • נוצר
  • תגובה אחרונה

הקומפיילר מזהיר אותך שיצרת את num בלי לשים בו ערך, ואחר כך אתה ניגש אליו (שורה אחר כך).

לא הבנתי למה אתה מדפיס אותו בכלל.

ואין קשר ללולאה. שים לב שהקומפיילר אומר לך באיזו שורה הבעיה.

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

בשורה הזו:

int i;

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

בשורה הבאה:

Console.WriteLine("enter the number {0}",i);

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

רק בשורה שאחרי כן:

i= int.Parse(Console.ReadLine());

אתה שם ב-i ערך אמיתי.

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

אוקיי יש לי בעיה בעוד תרגיל מצטער

 using System;

class Program
{
static void Main(string[] args)
{
int i, num, sum;
sum = 0;
for (i = 1; i <= 50; i = i + 1)
{
Console.WriteLine("enter the num");
num = int.Parse(Console.ReadLine());
}
if (num < 10)
{
sum = sum + num;
Console.WriteLine("the sum is {0}", sum);

}
}

}

הקומפיילר רושם: Error 1 Use of unassigned local variable 'num'

כן אותה הבעיה אבל הפעם הכנסתי ערך שהוא לא אפס

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

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

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

 using System;

class Program
{
static void Main(string[] args)
{
int i, num, sum;
sum = 0;
Console.WriteLine("enter the num");
num = int.Parse(Console.ReadLine());
for (i = 1; i <= 50; i = i + 1)
{
if (num < 10)
{
sum = sum + num;
Console.WriteLine("the sum is {0}", sum);
}



}
}

}

תודה הסתדרתי!

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

ארכיון

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


×
  • צור חדש...