![]() |
בעיה בהמרת STRING לINT בסי-שארפ.
היי, יש לי בעיה מסוימת. קיבלתי שאלה בה אני מתבקש לעשות את הדבר הבא:
"פתח ויישם אלגוריתם שמקבל כקלט שתי ספרות שונות (1-9). פלט האלגוריתם יהיה - א. שני המספרים הדו-ספרתיים האפשריים מהרכבת הספרות הבודדות למספר. ב. הצגת סכום המספרים שהתקבלו" עכשיו בעיקרון זה מה שעשיתי: int num,num1,total; string dnum, dnum1; Console.WriteLine("Enter two numbers:"); num = int.Parse(Console.ReadLine()); num1 = int.Parse(Console.ReadLine()); dnum=(num+""+num1); dnum1=(num1+""+num); Console.WriteLine(dnum + " " + dnum1); שזה בעצם עונה על סעיף א', אין לי בעיה.. ואז ניגשתי לסעיף ב'. הרעיון הכי טוב שלי היה לקחת את המשתנים dnum ו-dnum1 ופשוט לחבר את שניהם, ואת התוצאה לשים בtotal. אז עשיתי ככה: total=(int)dnum+dnum1. אבל ה#C מודעיה לי את הדבר הבא: "Cannot convert type 'string' to 'int'" מה עושים? |דמעות| |
תעשה המרה עם int.Parse
|
בבקשה
קוד:
int num, num1; |
באיזה שורה זה אומר לך את השגיאה?
|
לNIVI - אתה יכול להדגים לי איך עושים את ההמרה?
לOfir - לא פתרת לי את סעיף ב'.. בסעיף ב' מבקשים את סכום שני המספרים, ולא הספרות.. נניח אם יצא לך בפלט של סעיף א' 32 ו23, אז בסעיף ב' צריך להיות כאילו 23+32.. לRom - השגיאה היא בשורת ניסיון ההמרה total=(int)dnum+dnum1. מקווה לעזרה ופיתרון.. |
לסכום הספרות:
HTML קוד:
using System; HTML קוד:
using System; |
גבאי12,תודה! עזרת לי מאוד :)
שאלה נוספת לגבי התרגיל -- למה לא הצלחתי להמיר את המשתנה מSTRING לINT? האם יש המרה מיוחדת, ואם כן מה היא? |
ציטוט:
קוד:
int num,num1,total; |
הבעיה שלך היתה שבשורה הזאת:
total=(int)dnum+dnum1 המרת רק את dnum לINT ואת dnum1 לא המרת לINT היית צריך להוסיף (int) גם לפני הdnum1 ואז זה היה נראה ככה: קוד:
total=(int)dnum+(int)dnum1 |
ציטוט:
|
כל הזמנים הם GMT +2. הזמן כעת הוא 15:31. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ