צריך עזרה בתרגיל ב-C#

פורום רשתות, IT ומחשוב כללי - רשתות, ראוטרים, מחשבים ניידים, אביזרים וכו'.
gshhar (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 655
הצטרף: מאי 2007
נתן תודות: 0
קיבל תודות: 3 פעמים

צריך עזרה בתרגיל ב-C#

נושא שלא נקרא #1 

אני אמור לקלוט תאריך בפורמט dd/mm/yyyy ולהחזיר פלט של 3 int's של התאריך (יוםת שעה ושנה)
אני אמור לכתוב את התרגיל במתודה, כתבתי משהו אבל יש לי בעיות בהמשך, המתודה שלי מקבת את הסטרינג בפורמט dd/mm/yyyy, ממירה את הסטרינג ל-int ומכניסה את ה-3 int's למערך, מעכשיו הבעיות שלי מתחילות, איך אני רושם בהמשך שידפיס לי את כל ה-int's למסך ?

קוד: בחירת הכל

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace T266B
{
    class Program
    {

        //define method
        static int stDate(string date)
        {

            int ArrayIndex = 0;
            string temp = "";

            //define array
            string[] stArray = new string[3];
            int[] NumArray = new int[3];

            //seperate the date to day, month, year, convert to int and put into array
            for &#40;int i = 0; i < date.Length; i++&#41;
            &#123;
                if &#40;date&#91;i&#93; != '/' & date&#91;i&#93; != ' '&#41;
                &#123;
                    temp += date&#91;i&#93;;
                &#125;
                else if &#40;temp != " "&#41;
                &#123;
                    int Number = int.Parse&#40;temp&#41;;
                    NumArray&#91;ArrayIndex&#93; = Number;
                    Number = 0;
                    temp = "";
                    ArrayIndex++;
                &#125;
            &#125;

            return 0;
        &#125;

        static void Main&#40;string&#91;&#93; args&#41;
        &#123;
            //read date
            Console.Write&#40;"Enter Date &#40;dd/mm/yyyy&#41;&#58; "&#41;;
            string date = Console.ReadLine&#40;&#41;;
            date = date + " ";

            int result = stDate&#40;date&#41;;




            &#125;
      &#125;
 &#125;

starrywolf
סמל אישי של משתמש
חבר ותיק
חבר ותיק
הודעות: 1053
הצטרף: אוגוסט 2009
נתן תודות: 110 פעמים
קיבל תודות: 87 פעמים

נושא שלא נקרא #2 

תשמע, אמנם ימי ה-#C שלי כבר מאחוריי בכמה שנים והספקתי לשכוח לא מעט אבל אני אנסה לעזור בכל זאת... :D

אם אתה רוצה להדפיס את איברי ה-int במערך יש לך כמה אפשרויות:

1. תחזיר מערך לתוכנית הראשית ותריץ לולאה שתדפיס לך את איברי ה-int של המערך. כמו כן תשנה את המתודה שלך כך שתחזיר מערך של int ולא int

2. תריץ לולאה שתדפיס את איברי ה-int מתוך המתודה עצמה ואז תשנה את המתודה ל-void ולא int

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

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

bg1987
חבר ותיק
חבר ותיק
הודעות: 1232
הצטרף: פברואר 2008
נתן תודות: 27 פעמים
קיבל תודות: 30 פעמים

נושא שלא נקרא #3 

starrywolf צודק, צקיך לשנות שהמתודה תחזרי מערך של INT אם אני לא טועה זה אמור להיות static int[] stDate)
ואז אפשר לעבור בלולאה על המערך.

השאלה היא למה לא להשתמש ב DateTime.Parse, או שזה כל התרגיל?

haimbl
חבר ותיק
חבר ותיק
הודעות: 1202
הצטרף: פברואר 2009
נתן תודות: 29 פעמים
קיבל תודות: 39 פעמים

נושא שלא נקרא #4 

bg1987 כתב: השאלה היא למה לא להשתמש ב DateTime.Parse, או שזה כל התרגיל?
...
(Y)

1. תשתמש ב string.Split('\')
2. אל תעשה int.Parse. תשמש ב int.TryParse. אם אתה בטוח שיגיע לך int אז תשתמש ב Convert.ToInt32

שלח תגובה

חזור אל “רשתות, אינטרנט ו- Fiber”