עבור לתוכן

בעיה בתרגיל בC#

Featured Replies

פורסם

[code]שלום.
היום למדנו פונקציות ואני קצת מתקשה איתם-

using System;
namespace פונקציה
{
class CoolNum
{

static void Main(string[] args)
{
Console.WriteLine("Enter A Number between 0-9");
int n;
n = int.Parse(Console.ReadLine());
switch (n)
{

}
}
}
}

זה בעקרון הקוד

ועם הפונקציות-

using System;
namespace פונקציה
{
class program
{
static void kav();
Console.WriteLine("******");

static void amodyamin();
Console.WriteLine(" *");

static void amodleft();
Console.WriteLine("* ");

static void amod2();
Console.WriteLine("* *");

static void numone();
Console.WriteLine("**");

static void one();
{
for(int i=1;int<=6;int++)
{
Console.WriteLine(numone()
}
}

static void two
{
kav();
amodyamin();
kav();
amodleft();
kav();
}

static void Main(string[] args)
{
Console.WriteLine("Enter A Number between 0-9");
int n;
n = int.Parse(Console.ReadLine());
switch(n)
{

}
}
}

}

לפני הstatic void Main הוא כותב לי כמה בעיות:

Invalid token '(' in class, struct, or interface member declaration

הבעיה הזאת חוזרת על כל אחת מהפונקציות הנ"ל בגלל ה console.writeline

תודה מראש על העזרה.

אלון.

עריכה:

לפי מה שאני מבין אני כנראה לא שם אותם במקום הנכון אז אשמח אם תתקנו אותי.

פורסם

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

תחזור ללמוד איך כותבים פונקציות ב-#C:

אסור ששורת ההצהרה של הפונקציה תסתיים ב-;

הקוד של הפונקציה צריך להיות עטוף בסוגריים מסולסלים - {} (כמו שעשית בפונקציה one ו-two).

גם אם הפונקציה לא מקבלת פרמטרים, היא חייבת סוגריים (במקרה של הפונקציה two).

בלולאת ה-for שעשית, אתה צריך להתייחס ל-i ולא ל-int, כלומר:

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

אל תשים ; באמצע קריאה לפונקציה (מה שעשית בתוך הלולאה הנ"ל).

חוץ מזה, אני גם לא חושב שאתה יכול לעשות switch בלי שום תוכן (למרות שיש מצב שרק תקבל אזהרה במקרה כזה).

פורסם
  • מחבר

לא ממש למדנו אותם לעומק ככה שאני עוד לא יודע בדיוק.

אמרת להוריד את ה(); שאחרי כל אחד מהם?

ולהוסיף סוגריים מסולסלים ביניהם?

עריכה:

עשיתי כמו שאמרת והוספתי לכולם אבל עכשיו כתוב לי 7 ERRORS שכולם על כל הconsole.writeline

ואומרות: A get or set accessor expected

ולסוויצ' אני אוסיף עוד מעט.

פורסם

תעקוב אחרי כל מה שאמרתי בהודעה הקודמת ותראה שתיקנת את הכל.

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

פורסם
  • מחבר

עשיתי את כל מה שאמרת והכל נכון חוץ מדבר אחד שאני לא מבין מהו: A get or set accessor expected שזה ERROR שמופיע לי על כל מילה ראשונה בתוך הפונקציה כמו: Console.WriteLine או על for

והנה הקוד המתוקן:

using System;
namespace program
{
class program
{
public static void kav
{
[b] Console.WriteLine[/b]("******");
}

public static void amodyamin
{
[b]Console.WriteLine[/b](" *");
}
public static void amodleft
{
[b]Console.WriteLine[/b]("* ");
}
public static void amod2
{
[b]Console.WriteLine[/b]("* *");
}
public static void one
{
[b]for[/b] (int i = 1 ; i <= 6 ; i++)
{
Console.WriteLine("**")
}
}

public static void two
{
[b] kav();[/b]
amodyamin();
kav();
amodleft();
kav();
}

static void Main(string[] args)
{
Console.WriteLine("Enter A Number between 0-9");
int n;
n = int.Parse(Console.ReadLine());
switch(n)
{

}
}

}

}

כל מה שסימנתי ב BOLD יש לו את הERROR שאמרתי לפני..

פורסם

אז לא קראת כל מה שכתבתי.

גם אם הפונקציה לא מקבלת פרמטרים' date=' היא [b']חייבת סוגריים.

פורסם
  • מחבר

מה זאת אומרת?

סוגריים איפה?

פורסם

אחרי השם של הפונקציה.

בדיוק כמו שכתבת בהתחלה (למה בכלל הורדת אותם?)

פורסם
  • מחבר

חח עשיתי קצת שטויות אבל לא נורא עכשיו עובד תודה רבה לך.

ארכיון

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

דיונים חדשים