עבור לתוכן

יש לי שגיאה בc# ואני לא מבין למה

Featured Replies

פורסם

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

Index was outside the bounds of the array

ומצביע על השורה inmin = inhour % 100;

ואם אני שם אותה כהערה הוא עובר להצביע על השורה הבאה וככה הלאה

הקוד המלא בקובץ txt כדי שהוא לא יתבלגן:

http://www.fps.co.il/Files/1156790691.txt

מישהו יכול להגיד לי מה השגיאה?

פורסם

for (int i = 1; 1 < 3; i++)

זה תנאי ללולאה אין סופית אחד תמיד יהיה קטן מ3.

למה כל לולאה מתחילה מ1 כאשר המערכים מתחילים מ0?

ולמה להקצות 31 תאים אם אתה משתמש רק ב3?

פורסם
  • מחבר

כן עליתי על זה.. במקום i כתבתי 1 .

ה3 זה לבדיקה בעיקרון זה אמור להיות 31 וזה שהמערכים מתחילים מ1 זה כדי שזה יסתדר עם התאריכים (המקום הראשון הוא לראשון לחודש השני הוא לשני לחודש וככה הלאה)

פורסם

אז או שתתחיל מ- 0 או שתגדיל את המערך שלך ל- 32. כרגע יש במערך שלך רק 31 תאים, ואם תנסה לגשת לתא שמיוצג ע"י 31(התא ה- 32 במספרו, מתחיל מ- 0) אז תקבל שגיאה.

פורסם
  • מחבר

הנה הקוד הסופי אחרי כל התיקונים :

http://www.fps.co.il/Files/1156859622.txt

אבל עכשיו הוא זורק לי את השגיאה Use of unassigned local variable והוא מצביע על הsum השני בשורה sum= sum+hours;

למרות שהצהרתי עליו בתחילת הmain ... ניסיתי גם להצהיר עליו בתחילת הלולאת for אבל הוא עדיין מראה את אותה שגיאה

פורסם

הוא אומר לך שsum לא מאותחל אין לו ערך התחלתי

ארכיון

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

דיונים חדשים