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


// Bitte beachten Sie auch den Fortsetzungsband zu diesem Buch, falls
// Ihnen das Programmieren Spaß gemacht hat und Sie sich fortgeschritteneren 
// Themen zuwenden wollen. Alle Informationen zum Fortsetzungsband finden
// Sie auf der Website: www.tiefer-einsteigen.de 

namespace MetricsConverter
{
    /// <summary>
    /// Klasse mit Methoden um cm in feet/inch und umgekehrt zu konvertieren.
    /// </summary>
    public static class Length
    {
        /// <summary>
        /// Wandelt die übergebene Längenangabe aus feet und inch in
        /// Zentimeter um.
        /// </summary>
        /// <param name="feet">Länge in feet</param>
        /// <param name="inch">Länge in inch</param>
        /// <param name="cm">Länge in cm (out)</param>
        public static void FeetInchToCm(int feet, int inch, out int cm)
        {
            // 1 ft = 12 inch, zuerst die Längenangabe in inch umwandeln
            int inchTotal = (12 * feet) + inch;

            // 1 inch = 2,54 cm, bei der Multiplikation das Abschneiden
            // des Produkts bewußt in Kauf nehmen
            cm = (int)(2.54 * inchTotal);
        }

        /// <summary>
        /// Wandelt die übergebene Längenangabe in Zentimetern in 
        /// feet/ínches um.
        /// </summary>
        /// <param name="feet">feet-Anteil (out)</param>
        /// <param name="inch">inch-Anteil (out)</param>
        /// <param name="cm">Länge in cm</param>
        public static void CmToFeetInch(out int feet, out int inch, int cm)
        {
            // zuerst die cm in inches umwandeln
            double inches = (cm / 2.54);
            // inch in feet konvertieren, bei der Division das Abschneiden
            // des Quotienten in Kauf nehmen
            feet = (int)(inches / 12);
            // der Restwert der Division der Gesamtinches durch 12 ergibt
            // den inch-Anteil. Den Restwert runden lassen.
            inch = (int) Math.Round(inches % 12);    
        }

    
    }
}
