לומד לבד C#...

lilliltush

New member
לומד לבד C#...

כרגע אני בשלבי הראשונים ב-C# וכותב תוכנה האמורה לזהות ספרה בתוך מספר. בbuild יש כל מיני טעויות שאני לא מבין.מישהו יכול לעזור לי? using System; class finding_sifra_in_num { static void main(int sifra,int num) { do { console.writeline("please enter number!"); console.readline(sifra); if ((sifra>=10)||(sifra<1)) { console.writeline("the number must be beetween 0 ad 10!"); continue; } else { for (int num=1;num<=100;num++) { num1=num%10; num2=num/10; if (num1==sifra)||(num2||sifra) { console.writeline("the sifra{0}is in the number{1}",sifra,num); } else { continue; } } } } while(sifra>=10)||(sifra<1); } }
 

Zeliran

New member
....

קודם תיישר את הקוד לשמאל ותפרטי מהי השגיאה בדיוק...
 

michallev

New member
מהן השגיאות שאתה מקבל?

ובכלל, הייתי הולכת על חיפוש טקסטואלי ולא ספרתי..
 

lilliltush

New member
אני מקבל מספר טעויות

Invalid expression term '||' ; expected Invalid expression term 'else' אתם תוכלו לעשות לזה copy paste לסביבת הפיתוח ואז להריץ את זה?
 

Zeliran

New member
.......

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

Zeliran

New member
. . .

לאחר קריאה קצרה... יש לך די הרבה שגיאות תחביריות שם... קודם כל, c# הינה Case Sensitive כלומר יש הבדל בין אות גדול ואותה קטנה.. ובמקום לרשום למשל
console.writeline("bla bla");​
יש לרשום
Console.WriteLine("bla bla..");​
חוץ מזה אתה גם משתמש בכל מני משתנים... של הכרזת עליהם, אתה לא יכול סתם לקלוט ערך לתוך המשתנה sifra למשל מאחר שהוא... לא קיים.. אתה צריך לקבוע לו את הטיפוס שלו, והרשאות אם צריך.. ועוד דבר.. כשאתה משתמש ב ReadLine.. המתודה הזו לא מקבלת פרמטרים... במקום לעשות
Console.ReadLine(sifra);​
עליך לרשום:
sifra = Console.ReadLine();​
וזה לא הכל.. כאשר אתה משתמש בשני תנאים בתוך תנאי if אחד, אתה צריך לפתוח סוגריים, ואז בסוגריים נוספות לרשום את התנאי הראשון, לאחר מכן סימן כגון ||, !=, ואז בסוגריים חדשות את התנאי השני.. כלומר
if ((num1==sifra)||(num2||sifra)) {}​
יכול להיות מאוד שפספסתי פה ושם.. אבל אתה צריך בהחלט לעבור על הקוד שלך..
 

Zeliran

New member
../images/Emo41.gif

עוד שגיאה ששמתי לב הרגע.. ב if שרשמתי לך.. אתה לא יכול לרשום || בתוך התנאי.. כלומר num2||sifra אם אתה מנסה לרשום "אי-שוויון" אז תשתמש ב =!
 

lilliltush

New member
ומה משמעות הטעות הזאת?

C:\Documents and Settings\דולפין\My Documents\Visual Studio Projects\WindowsApplication3\miki2.cs(18): A local variable named 'num' cannot be declared in this scope because it would give a different meaning to 'num', which is already used in a 'parent or current' scope to denote something else
 

Zeliran

New member
....

אני משער שאתה מנסה להכריז עליו בתוך מתודת ה Main... דבר שלא ממש אפשר לעשות.. אז במקרה שלך תכריז עליו בתחילת המחלקה שלך
 

lilliltush

New member
אני קצת מתקשה להבין...

למה אי אפשר להכריז עליו ב-main?זה לא כמו ב++C?
 

Zeliran

New member
../images/Emo3.gif../images/Emo3.gif

לא שמתי לב.. בלבלתי.. תשכח ממה שאמרתי... לא שמתי לב שאתה אמור לקבל פרמטרים.. ד"א זו לא הדרך לקבל פרמטרים דרך ב command line... ועוד משהו.. ה main אמור להיות Main
 

gilad g

New member
יש לך טעות בהצהרה על ה-for:

צ"ל:
for (num=1;num<=100;num++)​
השגיאה שלך היתה שהצהרת על num (בעצם int num מבצע הצהרה על משתנה), בנוסף להצהרה שבכותרת של הפונקציה.
 

lilliltush

New member
שיחקת אותה שחבל על הזמן

יש המון טעויות קטנות שקשה לי להתמודד איתם לבד וזה עזר לי המון. אני יוכל להעזר בך עוד במקרה הצורך?
 

Zeliran

New member
בפורום..../images/Emo13.gif

וברוך הבא
 

lilliltush

New member
מתודת readline

אני מבין ש-readline ב-C# קולטת תוים אך איך מכניסים משתנה מספרי?
 

סומבודי

New member
תשובה לשתי השאלות

מהמחרוזת המוחזרת מ-ReadLine אתה מפצל את הערך המספרי ע"י Parse.
string str =Console.ReadLine(); int i = int.Parse(str);​
 

itaym02

New member
אגדה סינית

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

lilliltush

New member
תודה היה מעניין..

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