diff --git a/10 Enums/Program.cs b/10 Enums/Program.cs index 90630a4aca22d2dbaec892f2f10d513fa9b8c30c..d217e2409879644bc951d92b1efdc1e871560c3e 100644 --- a/10 Enums/Program.cs +++ b/10 Enums/Program.cs @@ -4,8 +4,32 @@ namespace _10_Enums { // Enums definieren jeweils einen neuen DATENTYP, KEINE VARIABLEN enum Ampelfarben { rot, gelb, grün } - enum Ampelfarben2 { rot, gelb, grün, blau, lila } + + struct Xyz + { + int x; + Ampelfarben a1; + public Xyz(int X, Ampelfarben ampel) + { + x = X; + a1 = ampel; + } + } + + struct Xyz2 + { + public enum Ampelfarben2 { rot, gelb, grün, blau, lila } + // enum in der struct --> muss public sein, damit es z.B. im Konstruktor aufgerufen werden kann + // sonst: eine privater enum in der Schnittstelle einer öffentlichen Funktion + int x; + Ampelfarben2 a1; + public Xyz2(int X, Ampelfarben2 ampel) + { + x = X; + a1 = ampel; + } + } class Program { static void Main(string[] args) @@ -13,6 +37,10 @@ namespace _10_Enums //enum Ampel { rot, gelb, grün}; //Ampel = Ampel.rot; // FALSCH!!! Enums definieren jeweils einen neuen DATENTYP, KEINE VARIABLEN + Xyz yz = new Xyz(1, Ampelfarben.gelb); // enum auf struct Ebene --> kann einfach verwendet werden + Xyz2 yz2 = new Xyz2(1, Xyz2.Ampelfarben2.gelb); // enum IN struct --> Zugriff über struct-Name.enum + + int ampel1 = 0; if (ampel1 == 0) // Ist die Ampel == rot? diff --git a/12 Fibonacci/12 Fibonacci.csproj b/12 Fibonacci/12 Fibonacci.csproj new file mode 100644 index 0000000000000000000000000000000000000000..d92629935f81cf57f5395ae226daaf2148ff69c5 --- /dev/null +++ b/12 Fibonacci/12 Fibonacci.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_12_Fibonacci</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/12 Fibonacci/Program.cs b/12 Fibonacci/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..78ec3650a10990414e6bd0eb180b9ce0d4c9b013 --- /dev/null +++ b/12 Fibonacci/Program.cs @@ -0,0 +1,24 @@ +using System; + +namespace _12_Fibonacci +{ + class Program + { + // Fib(n) = Fib(n-1)+Fib(n-2) + // Fib(0|1) = 1 + static int Fib(int n) + { + if (n <= 1) + return 1; + return Fib(n - 1) + Fib(n - 2); + } + + static void Main(string[] args) + { + for (int i = 0; i < 10; i++) + { + Console.WriteLine($"{i,2} | {Fib(i)}"); + } + } + } +} diff --git a/12 Mediendaten (alte Klausur)/12 Mediendaten (alte Klausur).csproj b/12 Mediendaten (alte Klausur)/12 Mediendaten (alte Klausur).csproj new file mode 100644 index 0000000000000000000000000000000000000000..21a3e162652446c48c60978948090163a2471092 --- /dev/null +++ b/12 Mediendaten (alte Klausur)/12 Mediendaten (alte Klausur).csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_12_Mediendaten__alte_Klausur_</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/12 Mediendaten (alte Klausur)/Program.cs b/12 Mediendaten (alte Klausur)/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..5ee064bf089a3b68a6be2e57f9c990df878ec9ca --- /dev/null +++ b/12 Mediendaten (alte Klausur)/Program.cs @@ -0,0 +1,35 @@ +using System; + +namespace _12_Mediendaten__alte_Klausur_ +{ + enum MTyp { mp3, mp4, Bilder} + struct Medium + { + public string name; + public MTyp typ; + public Medium (string Name, MTyp Typ=MTyp.Bilder) + { + name = Name; + typ = Typ; + } + } + class Program + { + static int[] statistik(Medium[] mfeld) + { + int[] anzahlen = new int[3]; + foreach (Medium medium in mfeld) + { + anzahlen[(int)medium.typ]++; // hier wird ein enum als Index verwendet! + //if (medium.typ == MTyp.mp3) + // anzahlen[0]++; + // : + } + return anzahlen; + } + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/12 Strings/12 Strings.csproj b/12 Strings/12 Strings.csproj new file mode 100644 index 0000000000000000000000000000000000000000..0e63e5c73424b8f9c50e1e9594b1b3222dfeed9b --- /dev/null +++ b/12 Strings/12 Strings.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_12_Strings</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/12 Strings/Program.cs b/12 Strings/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..747ea27ac53025553fe3628072d6e22e54fd2a62 --- /dev/null +++ b/12 Strings/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Text; + +namespace _12_Strings +{ + class Program + { + static void Main(string[] args) + { + string s = "Hello World!"; + Console.WriteLine(char.ToUpper(s[4])); + // s[4] = char.ToUpper(s[4]); -- Zeichen in strings sind readonly!!! + string s2 = s.Substring(0, 4) + char.ToUpper(s[4]) + s.Substring(5); + string s3 = s.Replace("o", "O"); + Console.WriteLine(s2); + Console.WriteLine(s3); + + StringBuilder sb1 = new StringBuilder(s); + sb1[4] = char.ToUpper(sb1[4]); // -- Zeichen in StringBuilder-Variablen sind veränderbar + string s4 = sb1.ToString(); + Console.WriteLine(s4); + } + } +} diff --git a/12 StructLehrveranstaltungsplanung/12 StructLehrveranstaltungsplanung.csproj b/12 StructLehrveranstaltungsplanung/12 StructLehrveranstaltungsplanung.csproj new file mode 100644 index 0000000000000000000000000000000000000000..6625503e5b54a4d2bcab77c3a06338c0e1a0f37f --- /dev/null +++ b/12 StructLehrveranstaltungsplanung/12 StructLehrveranstaltungsplanung.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_12_StructLehrveranstaltungsplanung</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/12 StructLehrveranstaltungsplanung/Program.cs b/12 StructLehrveranstaltungsplanung/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..5c9ea0b6659c6d5f4ae2a513eb67f13f5f1260e6 --- /dev/null +++ b/12 StructLehrveranstaltungsplanung/Program.cs @@ -0,0 +1,45 @@ +using System; + +namespace _12_StructLehrveranstaltungsplanung +{ + enum LVArt { Vorlesung, Uebung, Seminar} + struct LehrVeranst + { + public string fach, raum, semgruppe; + public LVArt art; + public int id; + + public LehrVeranst(string Fach, string Raum, string Semgruppe, int Id, LVArt Art=LVArt.Vorlesung) + { // vor dem Konstruktor KEIN static + fach = Fach; + raum = Raum; + semgruppe = Semgruppe; + art = Art; + id = Id; + } + // vor einem etwaigen ToString() ebenfalls KEIN static + } + class Program + { + public static int GetId(LehrVeranst lv) => lv.id; + public static bool Kollision(LehrVeranst lv1, LehrVeranst lv2) + { + if (lv1.id == lv2.id) + return false; + + //bool b = lv1.raum == lv2.raum || lv1.semgruppe == lv2.semgruppe; + //return b; + + if (lv1.raum == lv2.raum || lv1.semgruppe == lv2.semgruppe) // if (bool:true oder false) + return true; + else + return false; + } + static void Main(string[] args) + { + LehrVeranst lv1 = new LehrVeranst("ProzProg", "KA.034", "MIN1/AMP", 1001); + LehrVeranst lv2 = new LehrVeranst("ProzProg", "HQ.205", "MIN1/AMP", 1002, LVArt.Uebung); + Console.WriteLine(Kollision(lv1, lv2)); + } + } +} diff --git a/12 StructToString/Program.cs b/12 StructToString/Program.cs index fcbd7f93c6aced88e447db80052316c71fd30d76..1fe9006e9d85cebedeacd73694f4d788631823e9 100644 --- a/12 StructToString/Program.cs +++ b/12 StructToString/Program.cs @@ -2,11 +2,11 @@ namespace _12_StructToString { - struct Person + struct Person { public string name, vorname; - public static string PersonToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; } - //public static string ToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; } + //public static string PersonToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; } + ////public static string ToString(Person p) { return $"Name: {p.name}, Vorname: {p.vorname}"; } public override string ToString() { return $"Name: {name}, Vorname: {vorname}"; } } class Program @@ -16,8 +16,8 @@ namespace _12_StructToString Person p1 = new Person(); p1.name = "Müller"; p1.vorname = "Anton"; - - Console.WriteLine(p1); + + Console.WriteLine(p1.ToString()); } } } diff --git a/Prog1_WS2021_22.sln b/Prog1_WS2021_22.sln index 1ff467a14d0f0681a10b7cf3acb95fe352871958..6b4d7c22cc940f27e16d1d1d8b169c3c19fc9dd1 100644 --- a/Prog1_WS2021_22.sln +++ b/Prog1_WS2021_22.sln @@ -115,13 +115,21 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "11 ThrowIntro", "11 ThrowIn EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 PW_Check (SoSe2019)", "12 PW_Check (SoSe2019)\12 PW_Check (SoSe2019).csproj", "{0EC7D975-1D95-40B7-BBDF-73A475231A1F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Params", "12 Params\12 Params.csproj", "{4EBDD0DB-69AC-4D1D-8D52-20C01CA0EF1F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 Params", "12 Params\12 Params.csproj", "{4EBDD0DB-69AC-4D1D-8D52-20C01CA0EF1F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StructToString", "12 StructToString\12 StructToString.csproj", "{D7CB06EE-32B9-499C-9AE7-4391D4AC6438}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 StructToString", "12 StructToString\12 StructToString.csproj", "{D7CB06EE-32B9-499C-9AE7-4391D4AC6438}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StructBruch", "12 StructBruch\12 StructBruch.csproj", "{D087E2B4-9E89-4456-ABB6-CCF348CB7E79}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 StructBruch", "12 StructBruch\12 StructBruch.csproj", "{D087E2B4-9E89-4456-ABB6-CCF348CB7E79}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StringConcat", "12 StringConcat\12 StringConcat.csproj", "{B4191FF6-95B7-4577-AE98-9B42BC338F5A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "12 StringConcat", "12 StringConcat\12 StringConcat.csproj", "{B4191FF6-95B7-4577-AE98-9B42BC338F5A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Strings", "12 Strings\12 Strings.csproj", "{F734F09D-F050-47AB-9A61-36598C31FA62}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Fibonacci", "12 Fibonacci\12 Fibonacci.csproj", "{5D02394C-9622-41A8-A54C-6E86820824CF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 StructLehrveranstaltungsplanung", "12 StructLehrveranstaltungsplanung\12 StructLehrveranstaltungsplanung.csproj", "{1CF6FDB2-DAE5-42CF-8658-2CDE81918344}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "12 Mediendaten (alte Klausur)", "12 Mediendaten (alte Klausur)\12 Mediendaten (alte Klausur).csproj", "{6009194F-17E8-4EAA-B29E-47FA15EC53C9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -369,6 +377,22 @@ Global {B4191FF6-95B7-4577-AE98-9B42BC338F5A}.Debug|Any CPU.Build.0 = Debug|Any CPU {B4191FF6-95B7-4577-AE98-9B42BC338F5A}.Release|Any CPU.ActiveCfg = Release|Any CPU {B4191FF6-95B7-4577-AE98-9B42BC338F5A}.Release|Any CPU.Build.0 = Release|Any CPU + {F734F09D-F050-47AB-9A61-36598C31FA62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F734F09D-F050-47AB-9A61-36598C31FA62}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F734F09D-F050-47AB-9A61-36598C31FA62}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F734F09D-F050-47AB-9A61-36598C31FA62}.Release|Any CPU.Build.0 = Release|Any CPU + {5D02394C-9622-41A8-A54C-6E86820824CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5D02394C-9622-41A8-A54C-6E86820824CF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5D02394C-9622-41A8-A54C-6E86820824CF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5D02394C-9622-41A8-A54C-6E86820824CF}.Release|Any CPU.Build.0 = Release|Any CPU + {1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1CF6FDB2-DAE5-42CF-8658-2CDE81918344}.Release|Any CPU.Build.0 = Release|Any CPU + {6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6009194F-17E8-4EAA-B29E-47FA15EC53C9}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE