C# :: Aufgabe #41

14 Lösungen Lösungen öffentlich

Schaltjahresberechnung

Anfänger - C# von Process1 - 10.01.2013 um 06:52 Uhr
Es soll eine jahreszahl übergeben werden und es soll überprüft werden ob es sich um ein Schaltjahr handelt oder nicht.

Es gilt:
- Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
- wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
- es ist durch 400 teilbar, dann ist es ein schaltjahr

z.b. 1664, 1600, 2000, 2004 sind schaltjahre
1003, 2006, 1700 sind keine schaltjahre

Lösungen:

vote_ok
von hyperion (120 Punkte) - 06.03.2013 um 22:37 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Schaltjahresberechnung
{
  class Program
  {
    static void Main(string[] args)
    {
      string yearToCheck;

      // Eingabe des zu überprüfenden Jahres
      Console.WriteLine("Schaltjahrüberprüfung");
      do
      {
        Console.Write("\nBitte Jahreszahl eingeben: ");
        yearToCheck = Console.ReadLine();
      } while (!IsNumber(yearToCheck));

      // Ausgabe
      if ( IsLeapYear(Convert.ToInt16(yearToCheck)) )
        Console.WriteLine("\n{0} ist ein Schaltjahr.", yearToCheck);
      else
        Console.WriteLine("\n{0} ist kein Schaltjahr.", yearToCheck);

      Console.ReadKey();
    }

    // Prüft, ob der übergebene Wert einer Zahl entspricht
    static bool IsNumber(string number)
    {
      // whitespace entfernen
      number = number.Trim();
      
      // Sind alle Zeichen Zahlen?
      for (int i = 0; i < number.Length; i++)
      {
        if (!Char.IsDigit(number[i]))
        {
          Console.WriteLine("\nKeine gültige Zahl!");
          return false;
        }
      }
      return true;
    }

    // Prüfen ob Schaltjahr
    static bool IsLeapYear(int year)
    {
      bool isLapYear = true;

      /* Es gilt:
        - Wenn ein Jahr durch 4 teilbar ist, ist es ein Schaltjahr, aber
        - wenn es durch 100 teilbar ist, ist es kein schaltjahr, außer
        - es ist durch 400 teilbar, dann ist es ein schaltjahr
       */
      if ((year % 4) == 0)
      {
        if ((year % 100) == 0)
          isLapYear = false;
        if ((year % 400) == 0)
          isLapYear = true;
      }
      else
        isLapYear = false;

      return isLapYear;
    }
  }
}

1x
vote_ok
von Donni (210 Punkte) - 01.04.2013 um 19:40 Uhr
Quellcode ausblenden C#-Code
using System;

namespace Schaltjahresberechnung
{
    class Program
    {
        static void Main(string[] args)
        {
            // Fenster Titel
            Console.Title = "Schaltjahresberechnung";

            // Jahr eingeben
            int jahr = Convert.ToInt32(Console.ReadLine());
            
            // Jahr überprüfen
            if (DateTime.IsLeapYear(jahr))
            {
                Console.WriteLine("Schaltjahr");
            }
            else
            {
                Console.WriteLine("Kein Schaltjahr");
            }
            Console.ReadKey();
        }
    }
}
vote_ok
von MCViper (40 Punkte) - 29.04.2013 um 17:33 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Einsendeaufgabe
{
    class Program
    {
        static void Main(string[] args)
        {

            int jahr, regel1, regel2, regel3;          

            Console.WriteLine("\t\tSchaltjahr Rechner\n");
            Console.Write("Prüfjahr eingeben: ");
            jahr = Convert.ToInt32(Console.ReadLine());

            regel1 = jahr % 4;
            regel2 = jahr % 100;
            regel3 = jahr % 400;

             if (regel1 == 0 && regel2 != 0 || regel1 == 0 && regel2 == 0 && regel3 == 0)
                Console.WriteLine("Das Jahr {0} war ein Schaltjahr!", jahr);
             else
                Console.WriteLine("{0} war kein Schaltjahr!", jahr);
        }
    }
}

vote_ok
von wladi-g (1310 Punkte) - 23.06.2014 um 09:56 Uhr
Quellcode ausblenden C#-Code
public static bool SchaltjahrTest(int jahr)
        {
            if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0)
                return true;
            else
                return false;
        }
vote_ok
von Mentalist999 (680 Punkte) - 01.03.2015 um 22:53 Uhr
Quellcode ausblenden C#-Code
        public static bool LeapYear(int Year)
        {
            return (Year % 4 == 0 & (Year % 100 != 0 | Year % 400 == 0));
        }
vote_ok
von thareck (430 Punkte) - 21.03.2015 um 18:06 Uhr
Quellcode ausblenden C#-Code
        public static bool IstSchaltjahr(int Eingabe)
        {
            if (Eingabe % 4 == 0 & Eingabe % 100 != 0 | Eingabe % 4 == 0 & Eingabe % 400 == 0)
                return true;
            else
                return false;
        }
vote_ok
von niknik (1230 Punkte) - 13.08.2015 um 12:18 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SchaltjahrRechner
{
    class Program
    {

        public static bool SchaltjahrCheck(long j)
        {
            if (j % 4 == 0)
            {
                if (j % 100 == 0)
                {
                    if (j % 400 == 0)
                    {
                        return true;
                    }
                    return false;
                }
                return true;
            }
            else
            {
                return false;
            }
        }

        static void Main(string[] args)
        {
            long jahr;
            do
            {
                Console.Clear();
                Console.WriteLine("Geben Sie eine Jahrenzahl ein: ");
            } while (!long.TryParse(Console.ReadLine(), out jahr));

            bool isSchaltjahr = SchaltjahrCheck(jahr);

            if (isSchaltjahr)
            {
                Console.WriteLine("{0} ist ein Schaltjahr", jahr);
            }
            else
            {
                Console.WriteLine("{0} ist kein Schaltjahr", jahr);
            }

            Console.ReadLine();

        }
    }
}
1x
vote_ok
von s1bl3x (50 Punkte) - 19.11.2015 um 20:27 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Schaltjahr
{
    class Program
    {
        static void Main(string[] args)
        {
            // Initialwerte
            uint year = 0;
            string eingabe = string.Empty;
            char auswahl = ' ';
            bool fehler = false;

            // Consolenfarbe & Initialisierung
            Console.ForegroundColor = ConsoleColor.Black;
            Console.BackgroundColor = ConsoleColor.White;
            Console.Clear();

            // Schleife über gesamtes Programm
            do
            {
                Console.Clear();

                // Menü Ausgabe über Methode
                Menu();
                // Auswahl über Methode
                auswahl = EingabeMenu("Auswahl: ");

                // logische Abfragen für Menüauswahl
                if (auswahl == '9')
                {
                    // Ausstieg und Beenden des Programmes
                    break;
                }
                else if (auswahl == '1')
                // Bei Auswahl '1' löschen der Console
                // und weiter mit Auswahl für Berechnung eines bestimmten Jahres
                {
                    Console.Clear();
                    
                    // Schleife für Fehlerprüfung
                    do
                    {

                        fehler = false;
                        try
                        {
                            Console.Clear();
                            Console.WriteLine("Ausgabe für Einzelnes Jahr");
                            Console.WriteLine("----------------------------------");
                            Console.Write("Bitte Jahr eingeben: ");
                            year = Convert.ToUInt32(Console.ReadLine());
                            
                            if (year < 10000)
                            {
                                fehler = false;
                            }
                            else
                            {
                                Console.WriteLine("Maximal 4 Stellige Jahreszahlen zulässig!");
                                Console.ReadKey();
                                fehler = true;
                            }
                        }
                        catch
                        {
                            Console.WriteLine("Jahreszahlen von 1 - 9999 zulässig!");
                            Console.ReadKey();
                            fehler = true;
                        }

                    } while (fehler);

                    // logische Abfragen für Schaltjahr Berechnung
                    if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0))
                    {
                        Console.WriteLine("{0} ist ein Schaltjahr", year);
                        Console.WriteLine("----------------------------------");
                        Console.ReadKey();
                    }
                    else
                    {
                        Console.WriteLine("{0} ist kein Schaltjahr", year);
                        Console.WriteLine("----------------------------------");
                        Console.ReadKey();
                    }
                }
                else if (auswahl == '2')
                // Bei Auswahl '2' löschen der Console
                // und weiter mit Ausgabe der Jahre 2015 - 2025
                {
                    Console.Clear();
                    Console.WriteLine("Schaltjahr Ausgabe 2015 - 2025");
                    Console.WriteLine("----------------------------------");
                    for (int i = 2015; i <= 2025; i++)
                    {
                        if (DateTime.IsLeapYear(i))
                            Console.WriteLine("Das Jahr {0} ist ein Schaltjahr", i);
                        else
                            Console.WriteLine("Das Jahr {0} ist kein Schaltjahr", i);
                    }
                    Console.WriteLine("----------------------------------");
                    Console.ReadKey();
                }

                // zurücksetzen des Wertes "year" für neue Aufgabe
                year = 0;

                // Abfrage "Nochmal?" über Methode
                eingabe = AbfrageNochmal("zum Hauptmenü? (n = Beenden) j/n: ");

                //Ende Schleife über Programm
            } while (eingabe.ToLower() == "j");

        }

        static string AbfrageNochmal(string text)
        {
            string value = string.Empty;

            do
            {
                Console.Write(text);
                value = Console.ReadLine();
            } while (value.ToLower() != "j" && value.ToLower() != "n");

            return value;
        }

        static void Menu()
        {
            Console.WriteLine("Schaltjahr Ausgabe");
            Console.WriteLine("----------------------------------");
            Console.WriteLine("1. Nur 1 Jahr abfragen");
            Console.WriteLine("2. Von 2015 bis 2025");
            Console.WriteLine();
            Console.WriteLine("9. Beenden");
            Console.WriteLine("----------------------------------");
        }

        static Char EingabeMenu(string text)
         {
            bool fehler = false;
            char value = ' ';

            do
            {
                try
                {
                    fehler = false;
                    Console.Write(text);
                    value = Convert.ToChar(Console.ReadLine());

                    if (value != '1' && value != '2' && value != '9')
                        throw new Exception("Nur Auswahl 1,2 & 9 erlaubt!");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    fehler = true;
                }
            } while (fehler);

            return value;
        }
        
    }
}
vote_ok
von Artak (40 Punkte) - 22.12.2015 um 18:24 Uhr
Quellcode ausblenden C#-Code
 Console.Title = "Schaltjahr berechnen";
            Console.WriteLine("Bitte Jahreszahl eingeben:");
            int schaltjahr = Convert.ToInt32(Console.ReadLine());

            if (schaltjahr%100==0 && schaltjahr%400!=0)
            {
                Console.WriteLine(schaltjahr + " ist kein Schaltjahr!");
            }
            else if(schaltjahr%4==0)
            {
                Console.WriteLine(schaltjahr+ " ist ein Schaltjahr");
            }else
            {
                Console.WriteLine(schaltjahr + " ist kein Schaltjahr!");
            }
vote_ok
von Artak (40 Punkte) - 22.12.2015 um 18:25 Uhr
Quellcode ausblenden C#-Code
public static bool SchaltjahrTest(int jahr)
        {
            if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0)
                return true;
            else
                return false;
        }
vote_ok
von kjaenke (1140 Punkte) - 30.10.2017 um 11:00 Uhr
Quellcode ausblenden C#-Code
 private static bool IsLeap(this DateTime date)
        {
            if (date.Year % 4 != 0)
            {
                return false;
            }
            if (date.Year % 100 == 100)
            {
                return date.Year % 400 == 0;
            }
            return true;
        }
vote_ok
von Mir(k)o (100 Punkte) - 21.01.2018 um 21:24 Uhr
Quellcode ausblenden C#-Code
using System;

namespace Application
{
    class MainClass
    {
        public static void Main(string[] args)
        {
                IstSchaltjahr(Convert.ToInt32(Console.ReadLine()));
        }
        public static void IstSchaltjahr(int jahr)
        {
            if (jahr % 400 == 0 || jahr % 4 == 0 && jahr % 100 != 0 )
            {
                Console.WriteLine("Ist ein Schaltjahr!");
            }
            else
            {
                Console.WriteLine("Ist kein Schaltjahr!");
            }
        }
    }
}
vote_ok
von stbehl (1640 Punkte) - 06.02.2018 um 08:07 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TrainYourProgrammer39
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Geben Sie das Jahr ein, das überprüft werden soll: ");
            int jahr = Convert.ToInt32(Console.ReadLine());
            bool schaltjahr = false;

            if (jahr % 400 == 0)
            {
                schaltjahr = true;
            }
            else
            {
                if (jahr%100 == 0)
                {
                    schaltjahr = false;
                }
                else if (jahr%4==0)
                {
                    schaltjahr = true;
                }
            }

            if (schaltjahr)
            {
                Console.WriteLine("Das Jahr {0} ist ein Schaltjahr.", jahr);
            }
            else
            {
                Console.WriteLine("Das Jahr {0} ist ein Schaltjahr.", jahr);
            }
            Console.ReadKey();
        }
    }
}
vote_ok
von stcalvin (970 Punkte) - 14.02.2018 um 14:11 Uhr
Quellcode ausblenden C#-Code
        static void Aufgabe_41()
        {
            int jahr;
            bool schaltjahr = false;

            Console.Write("Welches Jahr soll überprüft werden ob es ein Schaltjahr ist? ");
            jahr = Convert.ToInt16(Console.ReadLine());

            if (jahr % 4 == 0)
            {
                schaltjahr = true;
                if (jahr % 100 == 0)
                {
                    schaltjahr = false;
                }
                if (jahr % 400 == 0)
                {
                    schaltjahr = true;
                }
            }
            if (schaltjahr) Console.WriteLine("Das Jahr {0} ist ein Schaltjahr!", jahr);
            else Console.WriteLine("Das Jahr {0} ist kein Schaltjahr!", jahr);
        }
2092494

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.