לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 21-09-2011, 17:45
  falukky falukky אינו מחובר  
 
חבר מתאריך: 10.06.11
הודעות: 34
צריך עזרה קטנה בתרגיל ב-C שארפ

קודם כל התרגיל מצורף בקובץ.
כרגע אני מתמקד ב-2 הקלאסים הראשיים: Team ו-Game.
לגבי vector of Games played by the team אני לא ממש מבין אם רוצים ממני מערך של משחקים לכל קבוצה או שאולי מתכוונים למערך של כל המשחקים של כל הקבוצות שנראה לי יותר הגיוני.
המתודה של Add Game ב-Class Team: אם הקלאס אבסטרקטי אי אפשר לייצר ממנו אובייקטים ולכן אני לא יכול להוסיף משחק אז מה הקטע פה ? איך עושים את זה ?
int GameCount(Team t2) - במתודה הזו הייתי שמח לעזרה כי לא ממש הולך לי, מה שיש לי עד עכשיו זה זה:

[/code]
קוד:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.IO; namespace test { public class IncorrectTeamID : ApplicationException { public IncorrectTeamID(string message) : base(message) { } } public class Game { int HostTeamID; int GuestTeamID; int HostGoals; int GuestGoals; public Game(int hostTeamId, int guestTeamID, int hostGoals, int guestGoals) { this.HostTeamID = hostTeamId; this.GuestTeamID = guestTeamID; this.HostGoals = hostGoals; this.GuestGoals = guestGoals; } public int Host_Team_ID { get { return this.HostTeamID; } } public int Guest_Team_ID { get { return this.GuestTeamID; } } public int Host_Goals { get { return this.HostGoals; } } public int Guest_Goals { get { return this.GuestGoals; } } public override string ToString() { return "Host Team ID :" + HostTeamID + "Host Team Goals: " + HostGoals + "Guest Team ID: " + GuestTeamID + "Guest Team Goals: " + GuestGoals; } } public abstract class Team : IComparable { int TeamID; string TeamName; int gameCount = 0; Game[] GamesArray = new Game[50]; public Team(int teamID, string teamName) { if (teamID < 1 || teamID > 24) { throw new IncorrectTeamID("Team ID Should Be between 1 and 24: " + teamID); } this.TeamID = teamID; this.TeamName = teamName; } public void AddGame(Game g) { GamesArray[gameCount] = g; gameCount++; } public int Team_ID { get { return this.TeamID; } } public string Team_Name { get { return this.TeamName; } } public override string ToString() { return "Team ID: " + TeamID + " " + "Team Name: " + TeamName; } public int GameCount() { return this.gameCount; } public int GameCount(Team t2) { int count = 0; for (int i = 0; i < GamesArray.Length; i++) { if () { } } return count; } public int CompareTo(object obj) { throw new NotImplementedException(); } } class Program { static void Main(string[] args) { Team t1 = new Team(1, "a"); Team t2 = new Team(2, "b"); Team t3 = new Team(3, "c"); Team t4 = new Team(4, "d"); Game g1 = new Game(1, 2, 3, 1); Game g2 = new Game(1, 2, 6, 4); Game g3 = new Game(1, 2, 0, 4); Game g4 = new Game(1, 2, 2, 2); Game g5 = new Game(3, 4, 3, 6); Game g6 = new Game(3, 1, 0, 0); Console.WriteLine(t1.ToString()); Console.WriteLine(t2.ToString()); Console.WriteLine("ADD GAME"); t1.AddGame(g1); t1.AddGame(g2); t1.AddGame(g3); t1.AddGame(g4); int result = t1.GameCount(t2); Console.WriteLine(result); int g1_get = g1.Host_Goals; int g2_get = g1.Guest_Goals; Console.WriteLine(g1_get); Console.WriteLine(g2_get); Console.ReadLine(); } } }

נערך לאחרונה ע"י falukky בתאריך 21-09-2011 בשעה 17:48.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #15  
ישן 23-09-2011, 17:13
  CM0S CM0S אינו מחובר  
 
חבר מתאריך: 17.03.02
הודעות: 2,354
בתגובה להודעה מספר 14 שנכתבה על ידי falukky שמתחילה ב "אבל אם אני מכניס 3 משחקים..."

ציטוט:
אבל אם אני מכניס 3 משחקים לקב' 1 ו-4 משחקים לקב' 2 ה-GamCount גדל ל-5 אבל איך אני יודע כמה כל קבוצה שיחקה ?


כל משחק שאתה מוסיף לאובייקט מסוג Team מעלה את המונה של ה-gameCount של אותו האובייקט בלבד. כלומר, אם אתה עושה משהו כזה:
קוד:
t1.AddGame(game1); t1.AddGame(game2); t2.AddGame(game3);

אז בקבוצה t1 השדה gameCount יכיל 2, ואילו בקבוצה t2 השדה gameCount יכיל 1.

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


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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

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

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:40

הדף נוצר ב 0.09 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר