Commit 5b9a2571 authored by Uwe Wienkop's avatar Uwe Wienkop

25.11. Mo

parent 8ae3fb43
......@@ -5,7 +5,7 @@ namespace _04IntroFunktionen
class Program
{
static bool IstPrimzahl(int meineZahl)
// meineZahl ~ neue, lokale Variable der Fkt. IstPrimzahl
// meineZahl ~ neue, lokale Variable der Fkt. IstPrimzahl
{
int wurzel = (int)Math.Sqrt(meineZahl);
for (int teiler = 3; teiler <= wurzel; teiler += 2) // Teiler von 2..996
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>_08Dojo_Bruch</RootNamespace>
</PropertyGroup>
</Project>
using System;
namespace _08Dojo_Bruch
{
// Legen Sie eine Klasse Bruch an (Zähler/Nenner)
// Konstruktor, der sicherstellt, dass der Nenner nicht 0 ist
// Es kann beim Konstruktor auch nur ein Wert übergeben werden. Dann
// wird für den Nenner =1 angenommen
// Ausgabemethode für einen Bruch
// Rechenmethoden, die zwei Brüche addieren bzw. multiplizieren können
// Schreiben Sie die Multiplikation sowohl als Funktion als auch als Methode
// Kürzen Sie jeweils das Ergebnis
class Bruch
{
int zaehler, nenner;
public Bruch(int Zaehler, int Nenner=1)
{
zaehler = Zaehler;
nenner = Nenner;
}
public Bruch Mult(Bruch b2)
{
//zaehler = zaehler * b2.zaehler;
//nenner = nenner * b2.nenner;
return new Bruch(zaehler * b2.zaehler, nenner * b2.nenner);
}
public static Bruch Mult(Bruch b1, Bruch b2)
{
//zaehler = zaehler * b2.zaehler;
//nenner = nenner * b2.nenner;
return new Bruch(b1.zaehler * b2.zaehler, b1.nenner * b2.nenner);
}
public static Bruch operator*(Bruch b1, Bruch b2)
{
//zaehler = zaehler * b2.zaehler;
//nenner = nenner * b2.nenner;
return new Bruch(b1.zaehler * b2.zaehler, b1.nenner * b2.nenner);
}
public Bruch Kuerzen()
{
int tmp;
int z = zaehler;
int n = nenner;
// Nenner darf nicht 0 sein
while (n != 0)
{
tmp = z % n;
z = n;
n = tmp;
}
zaehler /= z;
nenner /= z;
return b;
}
}
class Program
{
static void Main(string[] args)
{
Bruch b1 = new Bruch(1, 2);
Bruch b2 = new Bruch(1, 3);
Bruch b3 = b1.Mult(b2); // Aufruf als Methode
b3 = Bruch.Mult(b1, b2); // Aufruf als Funktion
b3 = b1 * b2;
}
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>_08KlassenIntro</RootNamespace>
</PropertyGroup>
</Project>
using System;
namespace _08KlassenIntro
{
class Person
{
private string name;
private string vorname;
private int alter;
private string telNr;
//private DateTime gebDatum;
// Konstruktor Person
public Person(string Name, string Vorname, int Alter, string TelNr="")
{
name = Name;
vorname = Vorname;
if (Alter < 0)
throw new ArgumentOutOfRangeException("Das Alter muss >= 0 sein");
telNr = TelNr;
}
//public static void Ausgabe(Person p)
//{
// Console.WriteLine($"Name: {p.name}, Vorname: {p.vorname}");
//}
public void Ausgabe()
{
Console.WriteLine($"Name: {name}, Vorname: {vorname}");
}
}
// Bis hierher PROGRAMMIERER 1
// =======================================================
// Ab hier: PROGRAMMIERER 2
class Vereinsmitglied
{
Person mitglied;
DateTime eintrittsdatum;
bool mitgliedsbeitragBezahlt;
}
class Program
{
static void Main(string[] args)
{
Person anton = new Person("Müller","Anton", -10);
//anton.Name = "Müller";
//anton.Vorname = "Anton";
//Console.WriteLine($"Name: {anton.Name}, Vorname: {anton.Vorname}");
// Person.Ausgabe(anton); -- Aufruf als Funktion
anton.Ausgabe(); // Aufruf als Methode
//Person[] persFeld = new Person[5];
//// Feld mit 5 Referenzen auf Personen-Objekte
//persFeld[1] = new Person();
//// Für Eintrag 1 Speicher für eine Person anfordern
//persFeld[1].Name = "Meier";
//persFeld[1].Vorname = "Berta";
//persFeld[0] = new Person {Name = "Meier",Vorname = "Dieter" };
//persFeld[2] = anton;
//Person dieter = anton;
//Person claudia = new Person
//{
// Name = "Schuster",
// Vorname = "Claudia"
//};
}
}
}
......@@ -59,9 +59,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "07String2Int", "07String2In
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "07Palindrom", "07Palindrom\07Palindrom.csproj", "{7C1C70D7-6C1C-4DE3-AD09-C6ECE19B3DAE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "07StringAppend", "07StringAppend\07StringAppend.csproj", "{BF840609-0B71-4E8A-B626-5F385D0679A3}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "07StringAppend", "07StringAppend\07StringAppend.csproj", "{BF840609-0B71-4E8A-B626-5F385D0679A3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "07WasIstEinString", "07WasIstEinString\07WasIstEinString.csproj", "{A782D3F9-6321-477E-BA5F-C8FF7CBDCCED}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "07WasIstEinString", "07WasIstEinString\07WasIstEinString.csproj", "{A782D3F9-6321-477E-BA5F-C8FF7CBDCCED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "08KlassenIntro", "08KlassenIntro\08KlassenIntro.csproj", "{5E96DA25-9D08-4D19-BF23-F97DA4DFE440}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "08Dojo Bruch", "08Dojo Bruch\08Dojo Bruch.csproj", "{6CE62457-0A0A-4068-9A8D-A4C876FD2CCD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -189,6 +193,14 @@ Global
{A782D3F9-6321-477E-BA5F-C8FF7CBDCCED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A782D3F9-6321-477E-BA5F-C8FF7CBDCCED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A782D3F9-6321-477E-BA5F-C8FF7CBDCCED}.Release|Any CPU.Build.0 = Release|Any CPU
{5E96DA25-9D08-4D19-BF23-F97DA4DFE440}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E96DA25-9D08-4D19-BF23-F97DA4DFE440}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E96DA25-9D08-4D19-BF23-F97DA4DFE440}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E96DA25-9D08-4D19-BF23-F97DA4DFE440}.Release|Any CPU.Build.0 = Release|Any CPU
{6CE62457-0A0A-4068-9A8D-A4C876FD2CCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6CE62457-0A0A-4068-9A8D-A4C876FD2CCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CE62457-0A0A-4068-9A8D-A4C876FD2CCD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6CE62457-0A0A-4068-9A8D-A4C876FD2CCD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment