עבור לתוכן

#c קטע קוד לא פועל

Featured Replies

פורסם

בתור תרגיל כתבתי תוכנה שממירה מבסיסים שונים (לא מכולם) לבסיס 10.

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

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

זה הקוד.

וזה איך התוכנה בנויה: אגב מצטער שלא לכל המשתנים יש שמות עם משמעות נכונה, לא הצלחתי למצוא שמות עם יותר משמעות

נערך על-ידי eido300

פורסם

לדעתי השורות הבאות עושות לך בעיות


int base1 = Convert.ToInt32(base1);
coded[i1] = Convert.ToInt32(dec);

אם אני מבין נכון base1 וdec הם textboxים ולכן כדי לקחת את הערך שלהם עליך לעשות את זה ככה


int base1 = int.Parse(base1.Text);
coded[i1] = int.Parse(dec.Text);

הסיבה שהשתמשתי בint.Parse זה מכיוון שלטעמי זה יותר קריא ויותר נכון לתת למחלקה שאליה אתה רוצה להמיר לעשות בבשבילך את ההמרה.

נערך על-ידי UnPluggeD

  • 3 שבועות מאוחר יותר...
פורסם
  • מחבר

תודה, עכשיו זה עובד, אבל משום מה זה לא מביא תוצאות נכונות...

זה הקוד החדש, אשמח לעזרה איתו.

פורסם
  • מחבר

כשאני מנסה להמיר (מבינארי) 1010 הוא כותב 5 וכשאני מנסה להמיר 0101 הוא כותב 10, בהתחלה חשבתי שזה פשוט הפוך, אבל כשהכנסתי 01010 הוא כתב 20.

פורסם

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

פורסם
  • מחבר

השתמשתי בדיבאגר (שמובנה בvs) ותיקנתי את הבעיות, תודה רבה :)

ארכיון

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

דיונים חדשים