blikk info infothek forum galerie sitemap

Lösung Hasenproblem in C#

zur Aufgabenstellung

using System;

using System.Collections.Generic;

using System.Text;

 

namespace Fibonacci

{

    class Program

    {

        static void Main(string[] args)

        {

            string nochmal = "J";

 

            while (nochmal == "J")

            {

                //Überschrift

                Console.WriteLine("tttFibonacci - Kaninchenzuchtnn"); 

 

                //Abfrage was der Benutzer tun will

                Console.WriteLine("Was wollen Sie tun?

    n1.Wie viele Hasen werden im x-ten Monat geboren? (1)

                n2.In welchem Monat sind x Hasen geboren? (2)

                n3.Wieviele Hasen sind insgesamt im x-ten Monat? (3)nn");

                //Eingabe durch den Benutzer

                Console.Write("Geben Sie nun ein was Sie tun möchten(1-3): ");

                int eingabemenü = Convert.ToInt32(Console.ReadLine());

               

                int i = 1;

                int fibonaccia = 1;

                int fibonaccib = 0;

                bool zahl = false;

 

                //1. Menüpunkt

                #region Menüpunkt 1

                if (eingabemenü == 1)

                {

                    //Abfrage Benutzer

                    Console.Write("Für welches Monat wollen Sie die Anzahl

                    der Hasen ermitteln?");

                    int eingabe = Convert.ToInt32(Console.ReadLine());

 

                    //while-Schleife wird so lange wiederholt bis i größer als

                    eingabe ist

                    while (i < eingabe)

                    {

                        if (fibonaccia > fibonaccib)

                            fibonaccib = fibonaccia + fibonaccib;

                        else

                            fibonaccia = fibonaccib + fibonaccia;

                        // die varable i wird pro Schleifendurchgang um

                        1 erhöht

                        i++;

 

                    }//end while1

               

                    //Ausgabe des Ergebnisses

                    if (fibonaccia > fibonaccib)

                        Console.WriteLine("nIm " + i + ". Monat wurden " +

                    fibonaccia+" Hasen geboren!");

                    else

                        Console.WriteLine("nIm " + i + ". Monat wurden " +

                    fibonaccib+" Hasen geboren!");

                }//end if1

                #endregion

               

                //2. Menüpunkt

                #region Menüpunkt 2

 

                else if (eingabemenü == 2)

                {

                    //Abfrage Benutzer

                    Console.WriteLine("nnVon welcher Anzahl von Hasenpaaren

                    wollen sie wissen, in welchem Monatndiese erreicht

                    wird?");

                    //Eingabe durch Benutzer

                    int hasen = Convert.ToInt32(Console.ReadLine());

 

                    int j = 1;

                    fibonaccia = 1;

                    fibonaccib = 0;

                    while (zahl == false)

                    {

                        //Verschiedene Ausgabemöglichkeiten

                        if (fibonaccia == hasen || fibonaccib == hasen)

                        {

                            Console.WriteLine("n"+hasen+" Hasenpaare

                           werden nach " + j + " Monaten erreicht!nn");

                            zahl = true;

                        }

                        else if (fibonaccia < hasen&&fibonaccib > hasen)

                        {

                            Console.WriteLine("n" + hasen + " Hasenpaare

                            werden nach ungefähr " + (j-1) + " Monaten

                            erreicht!nn");

                            zahl = true;

                        }

                        else if (fibonaccib < hasen && fibonaccia > hasen)

                        {

                            Console.WriteLine("n" + hasen + " Hasenpaare

                            werden nach ungefähr " + (j - 1) + " Monaten

                            erreicht!nn");

                            zahl = true;

                        }

 

                        if (fibonaccia > fibonaccib)

                            fibonaccib = fibonaccia + fibonaccib;

                        else

                            fibonaccia = fibonaccib + fibonaccia;

                       

 

                        j++;

                    }//end while

                }//end if2

#endregion

                //3. Menüpunkt

                #region Menüpunkt 3

                if (eingabemenü==3)

                {

                    Console.Write("nnWie viele Glieder sollen summiert

                    werden? ");

                    //Eingabe durch Benutzer

                    int eingabesumme = Convert.ToInt32(Console.ReadLine());

                    int summe=1;

                   

 

 

                    while (i < eingabesumme)

                    {

                        if (fibonaccia > fibonaccib)

                        {

                            fibonaccib = fibonaccia + fibonaccib;

                            //zur vorherigen Summe wird immer der jetzige

                            Wert dazugerechnet

                            summe=summe+fibonaccib;

                        }

 

                        else

                        {

                            fibonaccia = fibonaccib + fibonaccia;

                            //zur vorherigen Summe wird immer der jetzige

                            Wert dazugerechnet

                            summe = summe + fibonaccia;

                        }

 

                        i++;

 

                    }//end while1

                   

                    //Ausgabe

                    Console.WriteLine("nDie Summe der ersten "

                    +eingabesumme+" Zahlen ist "+ summe+"nn");

                   

                }//end if1

#endregion

                //Frage ob der Benutzer das Programm wiederholen will.

                Console.WriteLine("nnWollen Sie das Programm widerholen?

                Geben Sie <J> (Ja) oder <N> (Nein)ein!");

                nochmal = Console.ReadLine();

                Console.Clear();

            }//end while

 

 

           

        }

    }

}

 

Da der Editor dieser Seite keinen Backslash kennt funktionier der Code nicht richtig, wenn man ihn in ausprobiert. 

Deshalb habe ich das Programm angefügt.

 

by Braun Lukas

nach oben
punkt   seitenbereich schließen

Wichtige Links:



Programm zum ausprobieren


PS: Das Programm funktioniert nicht, wenn .NET Framework 2.0 nicht auf ihrem Rechner installiert ist.