C# :: Aufgabe #11

25 Lösungen Lösungen öffentlich

Multiplikation ohne zu multiplizieren

Anfänger - C# von Gustl - 11.11.2012 um 17:24 Uhr
Erstellen Sie ein Konsolenprogramm welches dem Benutzer auffordert 2 Zahlen einzugeben, diese sollen dann multipliziert werden, jedoch ist nur die Grundrechenart Addition erlaubt.

Wenn einer der 2 Zahlen keine Zahl ist, soll eine Fehlermeldung ausgegeben werden und der Benutzer noch einmal aufgefordert werden eine Zahl einzugeben.

Lösungen:

vote_ok
von pocki (4190 Punkte) - 15.11.2012 um 21:31 Uhr
Da es in der Angabe nicht genau angegeben ist, bin ich davon ausgegangen, dass mit Zahlen Ganzzahlen gemeint sind.

Für Gleitkommazahlen würde meine Funktion ähnlich aussehen, allerdings würde dafür die Rechenart Division benützt werden müssen, welche allerdings langsamer als eine Multiplikation wäre.

Hier meine Lösung:
Quellcode ausblenden C#-Code
using System;

namespace UE11
{
	class Program
	{
		static void Main(string[] args)
		{
			const string ErrorMsg = "Fehler: Keine Zahl, erneut eingeben: ";

			Console.Write("Erste Zahl eingeben: ");
			int num1;
			//Solange einlesen, bis es eine Ganzzahl ist.
			while (!int.TryParse(Console.ReadLine(), out num1))
			{
				Console.Write(ErrorMsg);
			}			
			
			Console.Write("Zweite Zahl eingeben: ");
			int num2;
			while (!int.TryParse(Console.ReadLine(), out num2))
			{
				Console.Write(ErrorMsg);
			}

			int product = Multiplicate(num1, num2);
			Console.WriteLine("Das Produkt aus {0}x{1} ist: {2}", num1, num2, product);

			Console.ReadKey();
		}

		/// <summary>
		/// Multipliziert die beiden übergebenen Ganzzahlen durch Aufsummieren
		/// </summary>
		/// <param name="num1">1. Zahl</param>
		/// <param name="num2">2. Zahl</param>
		/// <returns>Produkt der übergebenen Zahlen</returns>
		private static int Multiplicate(int num1, int num2)
		{
			int product = 0;

			//Vertauschen der Zahlen um Schleifendurchläufe kleinstmöglich zu halten.
			if (num1 < num2)
				Swap(ref num1, ref num2);

			for (int i = 0; i < num2; i++)
				product += num1;

			return product;
		}

		/// <summary>
		/// Vertauscht die beiden Werte der Variablen
		/// </summary>
		/// <param name="num1">1. Wert</param>
		/// <param name="num2">2. Wert</param>
		private static void Swap(ref int num1, ref int num2) 
		{ 
			int temp = num2;
			num2 = num1;
			num1 = temp;
		}
	}
}
vote_ok
von Process1 (1180 Punkte) - 10.01.2013 um 06:21 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace addition {
    class Program {
        static void Main(string[] args) {
            int zahl1;
            int zahl2;

            Console.Write("1. Zahl: ");
            while (true) {
                try {
                    zahl1 = Convert.ToInt32(Console.ReadLine());
                    break;
                } catch {
                    Console.Write("Eingabe war keine Zahl\n1. Zahl: ");
                }
            }
            Console.Write("2. Zahl: ");
            while (true) {
                try {
                    zahl2 = Convert.ToInt32(Console.ReadLine());
                    break;
                } catch {
                    Console.Write("Eingabe war keine Zahl\n2. Zahl: ");
                }
            }

            int tmp = 0;

            for (int i = 0; i < zahl2; i++) {
                tmp += zahl1; 
            }

            Console.Write("\n"+tmp);
            while (!Console.KeyAvailable) ;
        }
    }
}
1x
vote_ok
von wladi-g (1310 Punkte) - 31.03.2014 um 15:10 Uhr
Quellcode ausblenden C#-Code
using System;

namespace Multiplikation
{
    class Multiplikation
    {
        static void Main(string[] args)
        {
            int zahl1, zahl2, ergebnis = 0;
            Console.Write("Geben Sie den ersten Faktor ein: ");
            zahl1 = Eingabe(Console.ReadLine());
            Console.Write("Geben Sie den zweiten Faktor ein: ");
            zahl2 = Eingabe(Console.ReadLine());
            for (int i = 0; i < zahl1; i++)
                ergebnis += zahl2;
            Console.Write(zahl1 + " * " + zahl2 + " = " + ergebnis);
            Console.ReadLine();
        }

        public static int Eingabe(string eingabe)
        {
            try
            {
                return Convert.ToInt32(eingabe);
            }
            catch
            {
                Console.Write("Gültigen Wert eingeben: ");
                return Eingabe(Console.ReadLine());
            }
        }
    }
}

vote_ok
von L4ZUR812 (630 Punkte) - 31.03.2014 um 21:12 Uhr
Quellcode ausblenden C#-Code
using System;

namespace Test
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			Console.WriteLine ("Geben Sie zwei Zahlen ein");

			Int32 erg = 0;
			Int32 inp_1 = Eingabe ();
			Int32 inp_2 = Eingabe ();

			for (int i=0; i<inp_1; i++) 
			{
				erg+=inp_2;
			}
			Console.WriteLine (erg);
			Console.ReadLine();
		}

		public static int Eingabe ()
		{
			int input = 0;
			while (input == 0) 
			{
				try 
				{
					input = Convert.ToInt32 (Console.ReadLine ());
				} 
				catch 
				{
					Console.WriteLine ("Die Eingabe muss eine Zahl sein");
				}
			}
			return input;
		}
	}
}
vote_ok
von Bacon2008 (260 Punkte) - 27.01.2015 um 17:23 Uhr
Quellcode ausblenden C#-Code
/*
 * Erstellt mit SharpDevelop.
 * Benutzer: especk
 * Datum: 27.01.2015
 * Zeit: 17:12
 * 
 * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
 */
using System;

namespace Multiplikation_ohne_zu_multiplizieren
{
	class Program
	{	public static int zahl1;
		public static int zahl2;
		public static void Main(string[] args)
		{	
			
			Console.WriteLine("geben Sie die erste Zahl ein");
			try {
				zahl1 = int.Parse(Console.ReadLine());
			} catch (Exception) {
				
				Console.Write("Bitte nur Ziffern eingeben");Environment.Exit(0);
			}

			Console.WriteLine("geben Sie die zweite Zahl ein");
			try {
				zahl2 = int.Parse(Console.ReadLine());
				
			} catch (Exception) {
				
				Console.Write("Bitte nur Ziffern eingeben");Environment.Exit(0);
			}
			Console.WriteLine("");
				int ergebnis=0;
				for (int i = 0; i < zahl2; i++) {
					ergebnis+=zahl1;
				}
				Console.WriteLine("Das ergebnis lautet: {0}", ergebnis);
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}
	}
}
vote_ok
von SymTech (1060 Punkte) - 13.02.2015 um 03:34 Uhr
Quellcode ausblenden C#-Code
using System;

namespace SymTech
{
    class Program
    {

        static void Main(string[] args)
        {
           int zahl1 = zahleneingabe("Bitte geben sie die erste Zahl ein:");
           int zahl2 = zahleneingabe("Bitte geben sie die zweite Zahl ein:");
           Console.WriteLine("{0} * {1} = {2:#,#}", zahl1, zahl2, multiplication(zahl1, zahl2));
           Console.ReadKey();
        }

        private static int multiplication(int zahl1 , int zahl2)
        {
            int result = 0;
            for (; zahl1 > 0; zahl1--)
                result += zahl2;

            return result;
        }

        private static int zahleneingabe(String text)
        {
            bool isValid = false;
            int number = 0;
            while (!isValid)
            {
                Console.WriteLine(text);   
                isValid = int.TryParse(Console.ReadLine(), out number);
            }

            return number;
        }

    }
}
vote_ok
von Alucard1766 (930 Punkte) - 17.02.2015 um 13:44 Uhr
Lösung funktioniert auch mit Minuswerten. Jedoch musste ich 2x eine Subtraktion verwenden

Quellcode ausblenden C#-Code
int input1, input2;
            while (!int.TryParse(Console.ReadLine(), out input1))
                Console.WriteLine("Falsche Eingabe");
            
            while (!int.TryParse(Console.ReadLine(), out input2))
                Console.WriteLine("Falsche Eingabe");

            int result = 0;
            if (input1 < 0 && input2 >= 0)
            {
                int temp = input1;
                input1 = input2;
                input2 = temp;
            }

            if (input1 < 0 && input2 < 0)
            {
                input1 -= input1 + input1;
                input2 -= input2 + input2;
            }

            for (int i = 0; i < input1; i++)
                result += input2;

            

            Console.WriteLine("{0} * {1} = {2}", input1, input2, result);
vote_ok
von thareck (430 Punkte) - 16.03.2015 um 18:48 Uhr
Quellcode ausblenden C#-Code
        public static int Multiplicate()
        {
            while (true)
            {
                int Result = 0;
                Console.Write("Bitte geben Sie die 1. Zahl ein: ");
                string Num1 = Console.ReadLine();
                Console.Write("Bitte geben Sie die 2. Zahl ein: ");
                string Num2 = Console.ReadLine();                

                try
                {
                    for (int i = 0; i < Int32.Parse(Num2); i++)
                        Result += Int32.Parse(Num1);
                    return Result;
                }
                catch { Console.WriteLine("\nFehler: Ungültige Werte."); }
            }
        }
vote_ok
von eulerscheZhl (5230 Punkte) - 26.03.2015 um 06:07 Uhr
Hier noch eine Möglichkeit, die auch bei großen Zahlen in absehbarer Zeit ein Ergebnis findet:
Quellcode ausblenden C#-Code
using System;

namespace trainYourProgrammer
{
	class MainClass
	{
		static void Main(string[] args) {
			Console.Write ("1. Faktor: ");
			int factor1 = int.Parse (Console.ReadLine ());
			Console.Write ("2. Faktor: ");
			int factor2 = int.Parse (Console.ReadLine ());
			Console.WriteLine ("Das Produkt ist " + Multiply (factor1, factor2));
		}

		public static int Multiply(int a, int b) {
			int result = 0;
			for (int i = sizeof(int)<<3 - 1; i >= 0; i--) { //Zahl a bitweise durchgehen
				int bit = (a >> i) & 1; //Bit von a an Stelle i
				if (bit == 1) {
					result += b << i;
				}
			}
			return result;
		}
	}
}
vote_ok
von l1k3_m3 (240 Punkte) - 07.04.2015 um 01:54 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MultiOhne
{
    class Program
    {
        static void Main(string[] args)
        {
            int one, two;

            Console.WriteLine("Bitte zwei Zahlen zum Multiplizieren eingeben:");
            while(!int.TryParse(Console.ReadLine(), out one))
            {
                Console.WriteLine("Bitte Ganzzahl eingeben");
            }

            while(!int.TryParse(Console.ReadLine(), out two))
            {
                Console.WriteLine("Bitte Ganzzahl eingeben");
            }
            Console.WriteLine("{0}", multiple(one,two));
        }

        static int multiple(int firstNumber, int secondNumber)
        {
            int all=0;

            for (int i = 0; i < secondNumber; i++)
            {
                all += firstNumber;
            }
            return all;
        }
    }
}
vote_ok
von Torbo (880 Punkte) - 15.05.2015 um 10:11 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NonMulti
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Bitte gebe zwei Zahlen ein die Multipliziert werden sollen");
            int a;
            int b;
            bool c=true;   
            while (c == true)
            {
                string x = Console.ReadLine();
                if (Int32.TryParse(x, out a))
                {
                    int z = a;
                    string y = Console.ReadLine();
                    if (Int32.TryParse(y, out b))
                    {
                        for (int i = 0; i < b - 1; i++)
                        {
                            a = a + z;
                        }
                        Console.WriteLine("Das ergebnis ist = " + a);
                        Console.ReadLine();
                        c = false;
                    }
                    else
                    {
                        Console.WriteLine("Der von dir eingegebene wert ist keine Zahl");
                    }    
                }
                else 
                { 
                    Console.WriteLine("der Von dir eingegebene wert ist keine Zahl");
                } 
            }
        }
    }
}
vote_ok
von niknik (1230 Punkte) - 06.08.2015 um 14:01 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {

        public static void Ausgabe(int zahl1, int zahl2){
            Console.WriteLine(zahl1 + " * " + zahl2 + " = " + Multiply(zahl1, zahl2) + "\n"); HideYourself();
        }

        public static int Multiply(int zahl1, int zahl2)
        {
            int result = 0;
            for (int i = 0; i < zahl1; i++)
            {
                result += zahl2;
            }
            return result;
        }
        public static void HideYourself(){Console.Write("You Dumbfuck");}
        static void Main(string[] args)
        {
            bool valid = false;
            int ersteZahl, zweiteZahl;
            do
            {
                Console.Clear();
                Console.WriteLine("Geben Sie die erste Zahl ein: ");
                valid = Int32.TryParse(Console.ReadLine(), out ersteZahl);
            } while (valid == false);

            valid = false;

            do
            {
                Console.Clear();
                Console.WriteLine("Geben Sie die zweite Zahl ein: ");
                valid = Int32.TryParse(Console.ReadLine(), out zweiteZahl);
            } while (valid == false);
            Console.Clear();
            Ausgabe(ersteZahl, zweiteZahl);
            Console.ReadLine();
        }
    }
}
vote_ok
von n.rohde (400 Punkte) - 28.08.2015 um 14:58 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MultiplizierenOhneMultiplikation
{
    class Program
    {
        static void Main(string[] args)
        {
            // Deklaration der Variablen
            int zahl1, zahl2, erg = 0;

            // Definition der Variablen (Inistalisierung)
            Console.Write("Geben die 1. Zahl ein: ");
            while (Int32.TryParse(Console.ReadLine(), out zahl1) == false)
                Console.Write("Fehler! Geben die 1. Zahl ein: ");
            Console.Write("Geben die 2. Zahl ein: ");
            while (Int32.TryParse(Console.ReadLine(), out zahl2) == false)
                Console.Write("Fehler! Geben die 1. Zahl ein: ");

            for (int i = 0; i < zahl2; i++)
                erg += zahl1;

            Console.WriteLine(Convert.ToString(zahl1) + " x " + Convert.ToString(zahl2) + " = " + Convert.ToString(erg));
            Console.Read();
        }
    }
}
vote_ok
von mty (690 Punkte) - 30.09.2015 um 14:46 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

            int zahl1parsed;
            int zahl2parsed;
            int erg = 0;

            do
            {
                Console.WriteLine("Bitte 1. Zahl eingeben:");

            } while (!Int32.TryParse(Console.ReadLine(), out zahl1parsed)); 

            do
            {
                Console.WriteLine("Bitte 2. Zahl eingeben:");

            } while (!Int32.TryParse(Console.ReadLine(), out zahl2parsed));

            Console.WriteLine("---- Eingabe bestätigt, Berechnung erfolgt ----");

            for (int i = 0; i < zahl2parsed; i++ )
            {
                erg += zahl1parsed;
            }

            Console.WriteLine("Ergebnis: " + erg);

            Console.ReadKey();
        }
    }
}
vote_ok
von Maki (40 Punkte) - 23.03.2016 um 17:39 Uhr
Quellcode ausblenden C#-Code
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("---Multiplikator---");
            int x = 0;
            int y = 0;
            int z = 0;

            while (x == 0)
            {
                try
                {
                    Console.WriteLine("Geben Sie die erste beliebige Zahl ein die sie Multiplizieren möchten.");
                    x = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("Bitte Geben Sie eine Zahl ein!");
                }
            }
            while (y == 0)
            {
                try
                {
                    Console.WriteLine("Geben Sie die zweite beliebige Zahlen ein die sie Multiplizieren möchten.");
                    y = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("Bitte Geben Sie eine Zahl ein!");
                }
            }
            for ( int i = 0; i < x; i++)
            {
                z = z + y;
            }
            Console.WriteLine("Das Ergebnis ist: {0}",z);
            Console.ReadKey();
        }
    }
vote_ok
von roadman1991 (360 Punkte) - 06.04.2016 um 15:37 Uhr
Quellcode ausblenden C#-Code
static void Main(string[] args) {
            //Variablen bekanntmachen
            int a = 0;
            int n = 0;
            int sum = 0;

            //Gucken ob die erste Eingabe ein Int ist
            Console.WriteLine("Bitte geben sie 2 Integer Zahlen ein, die multipliziert werden sollen");
            try {
                a = int.Parse(Console.ReadLine());
            } catch {
                Console.WriteLine("Bitte nur Integer eingeben");
            }

            //Gucken ob die zweite Eingabe ein Int ist
            try {
                n = int.Parse(Console.ReadLine());
            } catch {
                Console.WriteLine("Bitte nur Integer eingeben");
            }

            //Rechnung Muliplikation nur mit addieren
            for (int i = 0; i < n; i++) {
                sum += a;
            }

            //Ergebnis
            Console.WriteLine(sum.ToString());
            Console.ReadLine();
        }
vote_ok
von Zavii (140 Punkte) - 19.01.2017 um 11:19 Uhr
Quellcode ausblenden C#-Code
using System;

namespace multiplication
{
    class Program
    {
        static void Main(string[] args)
        {
            bool DoAgain = true;

            do // Bei einem Fehler wiederhole
            {
                try
                {
                    int Loesung = 0; // Variabel für die Lösung

                    // User eingaben erfassen
                    System.Console.WriteLine("Zahl 1:");
                    int Zahl1 = Convert.ToInt32(System.Console.ReadLine());
                    System.Console.WriteLine("Zahl 2:");
                    int Zahl2 = Convert.ToInt32(System.Console.ReadLine());

                    // Zahl 1 * Zahl 2
                    for (int i = 0; i < Zahl2; i++)
                    {
                        Loesung += Zahl1;
                    }

                    // Lösung ausgeben
                    System.Console.WriteLine("Die Lösung ist: " + Loesung);

                    DoAgain = false; // Kein Fehler ist aufgetreten
                }
                catch
                {
                    System.Console.WriteLine("Bitte gebe korrekte Zahlen ein!");
                }
            }
            while (DoAgain); // end Schlaufe falls alles korrekt ist

            System.Console.ReadKey(); // beenden auf Tastenklick
        }
    }
}
vote_ok
von grinchyy (200 Punkte) - 31.05.2017 um 16:57 Uhr
Quellcode ausblenden C#-Code
        static void Main(string[] args)
        {
            Console.WriteLine("Bitte geben Sie die erste Zahl ein:");
            string eingabe = "";
            int zahl1 = 0;
            int zahl2 = 0;
            int ergebnis = 0;

            while (String.IsNullOrWhiteSpace(eingabe))
            {
                eingabe = Console.ReadLine();
                try
                {
                    zahl1 = Convert.ToInt32(eingabe);
                    eingabe = "";
                    break;
                }
                catch (Exception e)
                {
                    Console.WriteLine("Ungültige Eingabe!");
                    eingabe = "";
                }
            }

            Console.WriteLine("Bitte geben Sie die zweite Zahl ein:");

            while (String.IsNullOrWhiteSpace(eingabe))
            {
                eingabe = Console.ReadLine();
                try
                {
                    zahl2 = Convert.ToInt32(eingabe);
                    eingabe = "";
                    break;
                }
                catch (Exception e)
                {
                    Console.WriteLine("Ungültige Eingabe!");
                    eingabe = "";
                }
            }

            for (int i = 0; i < zahl2; i++)
            {
                ergebnis += zahl1;
            }

            Console.WriteLine(zahl1 + " x " + zahl2 + " = " + ergebnis);

            Console.ReadLine();

        }
vote_ok
von kjaenke (1140 Punkte) - 10.10.2017 um 10:43 Uhr
Quellcode ausblenden C#-Code
using System;

namespace Exercise_11
{
    public static class Program
    {
        private static void Main()
        {
            try
            {
                Console.WriteLine("Geben Sie eine Zahl ein.");
                int a = int.Parse(Console.ReadLine());

                Console.WriteLine("Geben Sie noch eine Zahl ein.");
                int b = int.Parse(Console.ReadLine());

                int result = 0;

                for (int i = 0; i < b; i++)
                {
                    result += a;
                }

                Console.WriteLine($"{a} * {b} = {result}");
                Console.Read();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
        }
    }
}
vote_ok
von stbehl (1640 Punkte) - 03.01.2018 um 15:41 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TrainYourProgrammer11
{
    class Program
    {
        static void Main(string[] args)
        {
            int Ergebnis = 0;
            int zahlA;
            int zahlB;

            Console.WriteLine("Geben Sie die erste Zahl der Multiplikation ein: ");
            while (!Int32.TryParse(Console.ReadLine(), out zahlA))
            {
                Console.WriteLine("Bitte geben Sie einen gültigen Integer ein: ");
                Console.WriteLine("Geben Sie die erste Zahl der Multiplikation ein: ");
            }
            Console.WriteLine("Geben Sie die zweite Zahl der Multiplikation ein: ");
            while (!Int32.TryParse(Console.ReadLine(), out zahlB))
            {
                Console.WriteLine("Bitte geben Sie einen gültigen Integer ein: ");
                Console.WriteLine("Geben Sie die zweite Zahl der Multiplikation ein: ");
            }

            for (int i = 0; i < zahlB; i++)
            {
                Ergebnis += zahlA;
            }
            Console.WriteLine(Ergebnis + "\nAuf Tastendruck beendet sich das Programm.");
            Console.ReadLine();
        }
    }
}

vote_ok
von stcalvin (970 Punkte) - 05.02.2018 um 11:08 Uhr
Quellcode ausblenden C#-Code
        static void Aufgabe_11()
        {
            int ersteZahl = 0, zweiteZahl = 0, summe = 0;
            Boolean richtigeEingabe = false;

            Console.WriteLine("Bitte geben Sie zwei Zahlen ein");

            while (!richtigeEingabe)
            {
                Console.Write("1: ");
                richtigeEingabe = Int32.TryParse(Console.ReadLine(), out ersteZahl);
            }

            richtigeEingabe = false;

            while (!richtigeEingabe)
            {
                Console.Write("2: ");
                richtigeEingabe = Int32.TryParse(Console.ReadLine(), out zweiteZahl);
            }


            for (int i = zweiteZahl; i > 0; i--)
            {
                summe += ersteZahl;
            }

            Console.WriteLine("Das Ergebnis lautet {0}.", summe);


        }
vote_ok
von gutti (100 Punkte) - 30.09.2019 um 21:41 Uhr
Bei den meisten werden keine negative Zahlen multipliziert, denke ich...

Quellcode ausblenden C#-Code
using System;

namespace Übung11_Multiplizieren_als_Addition
{
    class Program
    {
        static void Main(string[] args)
        {
            int zahl1, zahl2, zahl3;

            zahl1 = Abfrage();
            zahl2 = Abfrage();
            zahl3 = 0;

            for (int i=0; i < Math.Abs(zahl2); i++)
            {
                zahl3 += zahl1;
            }

            if (zahl2<0)
            {
                zahl3 *= -1;
            }

            Console.WriteLine("Das Ergebnis heisst: {0}", zahl3);
            Console.WriteLine("Programm bitte mit Tastendruck beenden!");
            Console.ReadKey();
        }

        static int Abfrage()
        {
            bool _schalter = false;
            string _eingabe;
            int eingabezahl=0;

            do
            {
                Console.WriteLine("Bitte eine Integerzahl eingeben!");
                _eingabe = Console.ReadLine();
                try
                {
                    eingabezahl = Convert.ToInt32(_eingabe);
                    _schalter = true;
                }
                catch
                {
                    Console.WriteLine("Keine Integerzahl!");
                }

            } while (_schalter != true);
            return eingabezahl;
        }
    }
}

vote_ok
von DanielWagner (220 Punkte) - 17.12.2019 um 13:56 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Aufgabe11_MultiplikationOhneZuMultiplizieren
{
    class Program
    {
        static void Main(string[] args)
        {
            bool parseOk = false;
            int userEingabe;
            string eingabe;
            int count = 1;
            int ersteZahl;
            int ergebnis = 0;
            int zwischen = 0;
            List<int> AlleEingaben = new List<int>();

            while (true)
            {

                while (true)
                {
                    
                    if(AlleEingaben.Count >= 2)
                        Console.WriteLine($"Bitte geben Sie eine {count} Zahl ein oder ein NUll fürs Ergebnis");
                    else
                        Console.WriteLine($"Bitte geben Sie eine {count} Zahl ein");


                    eingabe = Console.ReadLine();
                    if (eingabe == "0" && count >= 2)
                        break;
                    else
                    {
                        parseOk = int.TryParse(eingabe, out userEingabe);
                        if (parseOk)
                        {
                            AlleEingaben.Add(userEingabe);
                            count++;
                        }
                        
                    }

                }
                Console.Clear();
                // wie viele Zahlen sind in der Liste
                count = AlleEingaben.Count();

                ersteZahl = AlleEingaben[0];

                if (count == 2) // wenn nur zwei Zahlen multipliziert werden sollen
                {
                    for (int i = 0; i < ersteZahl; i++)
                        ergebnis += AlleEingaben[1];
                    
                }
                else // wenn mehrere
                {
                    for (int i = 0; i < count - 1; i++) 
                    {
                        if(i < 1)
                        {   
                            for (int j = 0; j < ersteZahl; j++)
                                ergebnis += AlleEingaben[i + 1];
                        }
                        else
                        {
                            zwischen = 0;
                            for (int j = 0; j < ergebnis; j++)
                                zwischen += AlleEingaben[i + 1];
                            ergebnis = zwischen;
                        }
                        ersteZahl = AlleEingaben[i+1];      
                    }  
                }

                Console.WriteLine($"Ergebnis ist: {ergebnis}");
                Console.ReadKey();

            }
        }
    }
}
vote_ok
von krokiritter (220 Punkte) - 31.08.2020 um 13:45 Uhr
Quellcode ausblenden C#-Code
static void Main(string[] args)
        {
            int firstInput, secondInput;
            int sum = 0;
            int counter = 0;
            Console.WriteLine("Bitte geben Sie Ihre erste Zahl ein:");
            firstInput = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Bitte geben Sie Ihre zweite Zahl ein:");
            secondInput = Convert.ToInt32(Console.ReadLine());
            do
            {
                sum += firstInput;
                counter++;

            } while (counter < secondInput);
            Console.WriteLine(sum);
            Console.ReadKey();
        }
vote_ok
von Chrille (100 Punkte) - 24.10.2020 um 15:24 Uhr
Quellcode ausblenden C#-Code
        static void Main(string[] args)
        {
            do
            {
                //erste Zahl eingeben lassen
                Console.Write("Bitte Zahl 1 eingeben: ");
                int ersteZahl;
                while (!int.TryParse(Console.ReadLine(), out ersteZahl))
                {
                    Console.Write("Fehlerhafte Eingabe, Eingabe wiederholen: ");
                }

                //zweite Zahl eingeben lassen
                Console.Write("Bitte Zahl 2 eingeben: ");
                int zweiteZahl;
                while (!int.TryParse(Console.ReadLine(), out zweiteZahl))
                {
                    Console.Write("Fehlerhafte Eingabe, Eingabe wiederholen: ");
                }

                //Multiplikation ausführen.
                int ergebnis = 0;
                try
                {
                    for (int i = 0; i < Math.Abs(ersteZahl); i++)           //ersteZahl muss der absolute Wert ermittelt werden, sonst droht eine Unendlich-Schleife
                    {
                        if (Math.Sign(ersteZahl) != -1)                     // prüfung auf Vorzeichen, -1 bedeutet die Zahl ist Negativ
                            ergebnis = checked(ergebnis + zweiteZahl);      // Überprüfung auf Überlauf
                        else
                            ergebnis = checked(ergebnis - zweiteZahl);      
                    }
                    Console.WriteLine("Das Ergebnis der Multiplikation lautet: " + ergebnis);
                }
                catch (OverflowException e)
                {
                    Console.WriteLine("Multiplikation nicht möglich, werte sind zu groß.");
                }
            } while (Console.ReadKey().Key != ConsoleKey.Escape);