PAscal in C' umwandeln

  • C#

  • eXistenZ*
  • 1810 Aufrufe 3 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PAscal in C' umwandeln

    Wandle das folgende PASCAL Programm zum Errechnen des Wochentages, ausgehend von einem Datum, in ein C# Programm um:
    static string wochentag(int tag, int monat, int jahr) { … }

    Quellcode

    1. PROGRAM Julian_Pas;
    2. USES Crt;
    3. TYPE
    4. Datum = RECORD
    5. Tag : ShortInt;
    6. Monat : ShortInt;
    7. Jahr : Integer;
    8. END; {RECORD Datum DATENTYP}
    9. VAR
    10. WochenTag : ShortInt;
    11. Jul_Dat : LongInt;
    12. Eingabe : Datum;
    13. FUNCTION Wochen_Tag(Ein : Datum): LongInt;
    14. BEGIN
    15. IF (Ein.Monat <= 2) THEN BEGIN
    16. Ein.Jahr := Ein.Jahr - 1;
    17. Ein.Monat := Ein.Monat + 12;
    18. END; {IF Ein.Monat}
    19. WITH Ein DO
    20. Wochen_Tag :=
    21. (Trunc(365.25*Jahr)+Trunc(30.6001*(Monat+1))+1720983+Tag) MOD 7;
    22. {0 .. Sonntag, ... , 6 .. Samstag}
    23. END; {FUNKTION Wochen_Tag}
    24. PROCEDURE Datum_Lesen(VAR Dat : Datum);
    25. BEGIN
    26. WITH Dat DO BEGIN
    27. WriteLn('Datumseingabe: ');
    28. Write('TT: '); ReadLn(Tag);
    29. Write('MM: '); ReadLn(Monat);
    30. Write('JJJJ: '); ReadLn(Jahr);
    31. END; {WITH Dat}
    32. END; {PROCEDURE Datum_Lesen}
    33. FUNCTION Wochen_Tag_Ausgabe(Tag_Code : ShortInt): String;
    34. VAR
    35. Tag_Name : String;
    36. BEGIN
    37. CASE (Tag_Code) OF
    38. 0 : Tag_Name := 'Sonntag';
    39. 1 : Tag_Name := 'Montag';
    40. ...
    41. 6 : Tag_Name := 'Samstag';
    42. ELSE Tag_Name := '???????';
    43. END; {CASE}
    44. Wochen_Tag_Ausgabe := Tag_Name;
    45. END; {FUNCTION Wochen_Tag_Ausgabe}
    46. BEGIN {Hauptprogramm}
    47. clrscr;
    48. Datum_Lesen(Eingabe);
    49. Write('Es ist (war) ein ');
    50. WriteLn(Wochen_Tag_Ausgabe(Wochen_Tag(Eingabe)));
    51. ReadLn;
    52. END. {Hauptprogramm}
    Alles anzeigen


    Bitte um schnelle Hilfe!

    mfg
  • Es soll ein C# Programm werden, "static string wochentag(int tag, int monat, int jahr) { … }" soll nur eine Hilfe sein (ansatzhilfe).

    Kann mir jemand bitte die Formel sagen wie ich berechne welcher Tag ein bestimmtes Datum ist (allgemein nicht code).
  • Quick and dirty:

    Quellcode

    1. // Main.cs created with MonoDevelop
    2. using System;
    3. namespace Konverter
    4. {
    5. class MainClass
    6. {
    7. private static int tag = 0;
    8. private static int monat = 0;
    9. private static int jahr = 0;
    10. private static DateTime dt = DateTime.Now;
    11. public static void datum_lesen()
    12. {
    13. Console.WriteLine("Datumseingabe: ");
    14. Console.Write("TT: ");
    15. tag = System.Convert.ToInt32(Console.ReadLine());
    16. Console.Write("MM: ");
    17. monat = System.Convert.ToInt32(Console.ReadLine());
    18. Console.Write("JJJJ: ");
    19. jahr = System.Convert.ToInt32(Console.ReadLine());
    20. string dateString = Convert.ToString(jahr) + "-" + Convert.ToString(monat) + "-" + Convert.ToString(tag) + " 0:00:00";
    21. dt = DateTime.Parse(dateString);
    22. }
    23. public static void Main(string[] args)
    24. {
    25. datum_lesen();
    26. Console.Write("Es ist (war) ein: ");
    27. string dayOfWeek = dt.ToString("dddd");
    28. Console.WriteLine(dayOfWeek);
    29. }
    30. }
    31. }
    Alles anzeigen