C# :: Aufgabe #329

4 Lösungen Lösungen öffentlich

Spannung, Stromstärke, Widerstand

Anfänger - C# von JKooP - 04.10.2020 um 12:43 Uhr
Schreibe eine Methode/Funktion, die je nach Eingabe von 2 Werten den fehlenden Wert ermittelt.
Die möglichen einzugebenden Werte sind Spannung (U [Volt]), Widerstand (R [Ohm]) bzw. Stromstärke (I [Ampere]).
Der fehlende Wert kann null/nothing oder jedes andere beliebige Zeichen sein.
Die Formel zur Berechnung lautet: U = R * I

Beispiel:

U := 270.0
R := null
I := 3.0

R = I / U = 270 / 3 = 90.0 Ohm

Viel Spaß

Lösungen:

vote_ok
von Waldgeist (1930 Punkte) - 12.10.2020 um 13:00 Uhr
Hallo,

hier meine Lösung.

Quellcode ausblenden C#-Code
using System;
using System.Windows.Forms;

namespace Aufgabe_329___Strom
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private int I = 0;
        private int U = 0;
        private int R = 0;
        private bool fehler;

        private void Anzeige()
        {
            // Anzeige Stromstärke Textbox 1 --> Prüfen ob direkt angezeigt werden kann, falls nein Variable I=0 setzen und Textbox aktualisieren
            try
            {
                textBox1.Text = I.ToString();
            }
            catch
            {
                I = 0;
                textBox1.Text = I.ToString();
            }

            // Anzeige Spannung Textbox 2 --> Prüfen ob direkt angezeigt werden kann, falls nein Variable U=0 setzen und Textbox aktualisieren
            try
            {
                textBox2.Text = U.ToString();
            }
            catch
            {
                U = 0;
                textBox1.Text = U.ToString();
            }

            // Anzeige Widerstand Textbox 3 --> Prüfen ob direkt angezeigt werden kann, falls nein Variable R=0 setzen und Textbox aktualisieren
            try
            {
                textBox3.Text = R.ToString();
            }
            catch
            {
                R = 0;
                textBox3.Text = R.ToString();
            }
        }

        private int Strom()
        {
            try
            {
                I = Convert.ToInt32(textBox1.Text);
            }
            catch (Exception)
            {
                I = 0;
            }
            return I;
        }

        private int Spannung()
        {
            try
            {
                U = Convert.ToInt32(textBox2.Text);
            }
            catch (Exception)
            {
                U = 0;
            }
            return U;
        }

        private int Widerstand()
        {
            try
            {
                R = Convert.ToInt32(textBox3.Text);
            }
            catch (Exception)
            {
                R = 0;
            }
            return R;
        }

        private void Abfrage()
        {
            fehler = false;
            //Abfrage Werte
            Strom();
            Spannung();
            Widerstand();

            //Prüfung der Werte
            if ((I == 0) && ((U == 0) || (R == 0)))
            {
                fehler = true;
            }

            if ((U == 0) && ((I == 0) || (R == 0)))
            {
                fehler = true;
            }

            if ((R == 0) && ((U == 0) || (I == 0)))
            {
                fehler = true;
            }

            if (fehler)
            {
                MessageBox.Show("Zu wenig Angaben!");
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Anzeige();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //Abfrage der Werte über Methoden
            Abfrage();

            // Auswertung
            if (I == 0)
            {
                try
                {
                    I = U / R;
                    Anzeige();
                }
                catch
                {
                    I = 0;
                    Anzeige();
                }
            }

            if (U == 0)
            {
                try
                {
                    U = R * I;
                    Anzeige();
                }
                catch
                {
                    U = 0;
                    Anzeige();
                }
            }

            if (R == 0)
                try
                {
                    R = U / I;
                    Anzeige();
                }
                catch
                {
                    R = 0;
                    Anzeige();
                }
        }
    }
}
vote_ok
von Trickster (330 Punkte) - 14.10.2020 um 12:20 Uhr
Quellcode ausblenden C#-Code
using System;

namespace ConsoleApp1
{
    public class Program
    {

        public static string Var_U { get; set; }
        public static string Var_R { get; set; }
        public static string Var_I { get; set; }

        static void Main(string[] args)
        {
            Console.WriteLine("Bitte die Spannung eingeben");
            Var_U = Console.ReadLine();
            Console.WriteLine("Bitte den Widerstand eingeben");
            Var_R = Console.ReadLine();
            Console.WriteLine("Bitte die Stromstärke eingeben");
            Var_I = Console.ReadLine();

            if (String.IsNullOrWhiteSpace(Var_R))
            {
                var Result = Convert.ToDouble(Var_U) / Convert.ToDouble(Var_I);
                Console.WriteLine("Der Widerstand beträgt " + Result + " Ohm");
            }
            if (String.IsNullOrWhiteSpace(Var_U))
            {
                var Result = Convert.ToDouble(Var_R) * Convert.ToDouble(Var_I);
                Console.WriteLine("Die Spannung beträgt " + Result + " Volt");

            }
            if (String.IsNullOrWhiteSpace(Var_I))
            {
                var Result = Convert.ToDouble(Var_U) / Convert.ToDouble(Var_R);
                Console.WriteLine("Die Stromstärke beträgt " + Result + " Ampere");
            }
            Console.ReadLine();
        }
    }
}
vote_ok
von Trickster (330 Punkte) - 14.10.2020 um 12:23 Uhr
Quellcode ausblenden C#-Code
using System;

namespace ConsoleApp1
{
    public class Program
    {

        public static string Var_U { get; set; }
        public static string Var_R { get; set; }
        public static string Var_I { get; set; }

        static void Main(string[] args)
        {
            Console.WriteLine("Bitte die Spannung eingeben");
            Var_U = Console.ReadLine();
            Console.WriteLine("Bitte den Widerstand eingeben");
            Var_R = Console.ReadLine();
            Console.WriteLine("Bitte die Stromstärke eingeben");
            Var_I = Console.ReadLine();

            if (String.IsNullOrWhiteSpace(Var_R))
            {
                var Result = Convert.ToDouble(Var_U) / Convert.ToDouble(Var_I);
                Console.WriteLine("Der Widerstand beträgt " + Result + " Ohm");
            }
            if (String.IsNullOrWhiteSpace(Var_U))
            {
                var Result = Convert.ToDouble(Var_R) * Convert.ToDouble(Var_I);
                Console.WriteLine("Die Spannung beträgt " + Result + " Volt");

            }
            if (String.IsNullOrWhiteSpace(Var_I))
            {
                var Result = Convert.ToDouble(Var_U) / Convert.ToDouble(Var_R);
                Console.WriteLine("Die Stromstärke beträgt " + Result + " Ampere");
            }
            Console.ReadLine();
        }
    }
}
vote_ok
von Lena (20 Punkte) - 22.10.2020 um 22:05 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Primzahlberechnung
{
    class Program
    {
        static void Main(string[] args)
        {
            double u,r,i;
            Console.WriteLine("Spannung: ");
            u = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Wiederstand: ");
            r = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Strom: ");
            i = Convert.ToDouble(Console.ReadLine());

            if (u == 0)
                Console.WriteLine("U = "+r*i+"V");

            else if (r == 0)
                Console.WriteLine("R = " + u /i+"Ohm ");

            else if (i == 0)
                Console.WriteLine("I = " + u /r+"A");
            Console.ReadKey();
        }
    }
}