using System.Collections.Generic;
public static void Main()
Console.WriteLine("---- Architekt Program ----");
Console.WriteLine("\nLogin:");
string _pass = StrPrompt("Passwort: ");
Console.WriteLine("Login Falsch");
Console.WriteLine("Login Erfolgreich");
List<Rechteck> _rechtecke = new List<Rechteck>();
List<Kreis> _kreise = new List<Kreis>();
string[] _options = { "Kreis erzeugen", "Rechteck erzeugen", "Kreise anzeigen",
"Rechtecke anzeigen", "Programm beenden" };
string _selection = SelectionPrompt("Bitte Option Wahlen: ", _options);
case "Kreis erzeugen": _kreise.Add(Kreis.KreisErzeugen()); break;
case "Rechteck erzeugen": _rechtecke.Add(Rechteck.RechteckErzeugen()); break;
foreach(Kreis _k in _kreise) {
Console.WriteLine(_k.ToString());
case "Rechtecke anzeigen":
foreach(Rechteck _r in _rechtecke) {
Console.WriteLine(_r.ToString());
case "Programm beenden": return;
public static int IntPrompt(string _msg){
string _input = Console.ReadLine();
if(int.TryParse(_input, out _value)){
Console.WriteLine("Eingabe ins Invalid: " + _input);
public static float FloatPrompt(string _msg){
string _input = Console.ReadLine();
if(float.TryParse(_input, out _value)){
Console.WriteLine("Eingabe ins Invalid: " + _input);
public static string StrPrompt(string _msg){
string _input = Console.ReadLine();
if(!string.IsNullOrEmpty(_input.Trim())){
Console.WriteLine("Eingabe ins Invalid: " + _input);
public static string SelectionPrompt(string _msg, string[] _options){
for(int i = 0; i < _options.Length; i++){
Console.WriteLine((i+1) + "\t- " + _options[i]);
int _input = IntPrompt(": ")-1;
if(_input >= 0 && _input < _options.Length){
Console.WriteLine("Eingabe ins Invalid: " + _input);
public float Radius { get; private set; }
public float Fläche { get; private set; }
public Kreis(float _radius){
public void FlächeBrechnen(){
Fläche = Radius * Radius * (float)Math.PI;
public override string ToString(){
return "Kreis( radius = " + Radius + ", fläche = " + Fläche + " )" ;
public static Kreis KreisErzeugen(){
Console.WriteLine("Kreis Erzeugen: ");
float _radius = Program.FloatPrompt("Radius: ");
Kreis _k = new Kreis(_radius);
public float SeiteA { get; private set; }
public float SeiteB { get; private set; }
public float Fläche { get; private set; }
public Rechteck(float _seiteA, float _seiteB){
public void FlächeBrechnen(){
Fläche = SeiteA * SeiteB;
public override string ToString(){
return "Rechteck( seiteA = " + SeiteA + ", seiteB = " + SeiteB + ", fläche = " + Fläche + " )" ;
public static Rechteck RechteckErzeugen(){
Console.WriteLine("Rechteck Erzeugen: ");
float _seiteA = Program.FloatPrompt("SeiteA: ");
float _seiteB = Program.FloatPrompt("SeiteB: ");
Rechteck _r = new Rechteck(_seiteA, _seiteB);