From b17c7df3e6bb92547062fd3b7c533196132aeacc Mon Sep 17 00:00:00 2001 From: Nick75 Date: Sat, 23 Nov 2024 10:17:12 +0100 Subject: [PATCH 1/3] Added fizzbuzz.cpp for clean code apendix Added file fizzbuzz.cpp for the clean code appendix, purposefully written without clean code conventions. Additionally added fizzbuzz_pretty.cpp; Same program, but with indents, code conventions, comments etc. --- appendix/fizzbuzz.cpp | 6 ++++++ appendix/fizzbuzz_pretty.cpp | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 appendix/fizzbuzz.cpp create mode 100644 appendix/fizzbuzz_pretty.cpp diff --git a/appendix/fizzbuzz.cpp b/appendix/fizzbuzz.cpp new file mode 100644 index 0000000..8d4c885 --- /dev/null +++ b/appendix/fizzbuzz.cpp @@ -0,0 +1,6 @@ +#include +#include +int main() {std::string a=""; +for(int i=1;i<=100;i++){a="";if(i%3==0){a+="Fizz";} +if(i%5==0){a+="Buzz";}if(a==""){a=std::to_string(i);} +std::cout< +#include +int main() { + std::string output = ""; //Wir kreieren eine Variable für den Output + for(int i = 1; i <= 100; i++){ //Für alle Zahlen von 1 bis 100: + output = ""; + if(i % 3 == 0){ + output += "Fizz"; //Falls die Zahl durch 3 Teilbar ist, fügen wir dem Output "Fizz" hinzu + } + if(i % 5 == 0){ + output += "Buzz"; //Falls die Zahl durch 5 Teilbar ist, fügen wir dem Output "Buzz" hinzu + } + if(output == ""){ + output = std::to_string(i); //Falls der Output danach immer noch leer ist, wird die Zahl zum Output + } + std::cout << output << std::endl; //Wir geben den Output aus + } +} + +/*Sprich: Dieses Programm spielt das englische Kinderspiel "FizzBuzz"; Man sagt nacheinander jede Zahl, aber +- wenn die Zahl durch 3 teilbar ist (3, 6,...), sagt man "Fizz" +- wenn die Zahl durch 5 teilbar ist (5, 10,...), sagt man "Buzz" +- Wenn die Zahl durch beides teilbar ist (15, 30,...), sagt man "FizzBuzz".*/ \ No newline at end of file From b2c5125db7c24c64f92e5a6ce976690507fea13b Mon Sep 17 00:00:00 2001 From: Nick75 Date: Sat, 23 Nov 2024 10:32:17 +0100 Subject: [PATCH 2/3] Updated coding_style and fizzbuzz_pretty Updated coding_style paragraph about indenting and tabs; updated fizzbuzz_pretty to include some more examples of coding practices described in coding_style --- appendix/coding_style.tex | 5 ++++- appendix/fizzbuzz_pretty.cpp | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/appendix/coding_style.tex b/appendix/coding_style.tex index d5c7d83..06e37e3 100644 --- a/appendix/coding_style.tex +++ b/appendix/coding_style.tex @@ -23,7 +23,10 @@ Wie genau eingerückt werden sollte, darüber scheiden sich die Geister. Man kann mit mehreren Leerzeichen oder durch Tabulatoren einrücken. Empfehlenswert ist auf jeden Fall, mehrere gleichförmige „Ebenen“ zu - haben (z.B. 4, 8, 12, \dots\ Leerzeichen zu Beginn der Zeile). Eine + haben (z.B. 4, 8, 12, \dots\ Leerzeichen zu Beginn der Zeile). Tabulatoren + haben den Vorteil, dass sie über Programme hinweg “standartisiert” sind, + weswegen man denselben Code in mehreren Editoren öffnen kann und + überall problemlos mit Tabulatoren arbeiten kann. Eine Faustregel für gut lesbare Einrückung ist, immer wenn man eine geschweifte Klammer öffnet, eine Ebene tiefer einzurücken und immer, wenn man eine geschweifte Klammer schließt, wieder eine Ebene zurück zu diff --git a/appendix/fizzbuzz_pretty.cpp b/appendix/fizzbuzz_pretty.cpp index 05840f4..a826ec0 100644 --- a/appendix/fizzbuzz_pretty.cpp +++ b/appendix/fizzbuzz_pretty.cpp @@ -4,12 +4,20 @@ int main() { std::string output = ""; //Wir kreieren eine Variable für den Output for(int i = 1; i <= 100; i++){ //Für alle Zahlen von 1 bis 100: output = ""; - if(i % 3 == 0){ + if (i % 3 == 0) { output += "Fizz"; //Falls die Zahl durch 3 Teilbar ist, fügen wir dem Output "Fizz" hinzu } - if(i % 5 == 0){ + if (i % 5 == 0) { output += "Buzz"; //Falls die Zahl durch 5 Teilbar ist, fügen wir dem Output "Buzz" hinzu } + /* + if (i % 7 == 0) { + output += "Bizz"; //Falls die Zahl durch 7 teilbar ist, fügen wir dem Output "Bizz" hinzu + } + if (i % 11 == 0) { + output += "Biff"; //Falls die Zahl durch 11 teilbar ist, fügen wir dem Output "Biff" hinzu + } + */ if(output == ""){ output = std::to_string(i); //Falls der Output danach immer noch leer ist, wird die Zahl zum Output } @@ -20,4 +28,5 @@ int main() { /*Sprich: Dieses Programm spielt das englische Kinderspiel "FizzBuzz"; Man sagt nacheinander jede Zahl, aber - wenn die Zahl durch 3 teilbar ist (3, 6,...), sagt man "Fizz" - wenn die Zahl durch 5 teilbar ist (5, 10,...), sagt man "Buzz" -- Wenn die Zahl durch beides teilbar ist (15, 30,...), sagt man "FizzBuzz".*/ \ No newline at end of file +- Wenn die Zahl durch beides teilbar ist (15, 30,...), sagt man "FizzBuzz". +Der auskommentierte Code dient dazu, das Spiel etwas "komplizierter" zu machen, indem man weitere Regeln hinzufügt.*/ \ No newline at end of file From 7b66dbaf767b19be35ccc21585b96c07104c5e76 Mon Sep 17 00:00:00 2001 From: Nick75 Date: Tue, 26 Nov 2024 10:12:31 +0100 Subject: [PATCH 3/3] Moved files; changed files/fizzbuzz.cpp --- appendix/fizzbuzz.cpp | 6 ------ files/fizzbuzz.cpp | 24 +++++++----------------- {appendix => files}/fizzbuzz_pretty.cpp | 0 3 files changed, 7 insertions(+), 23 deletions(-) delete mode 100644 appendix/fizzbuzz.cpp rename {appendix => files}/fizzbuzz_pretty.cpp (100%) diff --git a/appendix/fizzbuzz.cpp b/appendix/fizzbuzz.cpp deleted file mode 100644 index 8d4c885..0000000 --- a/appendix/fizzbuzz.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include -#include -int main() {std::string a=""; -for(int i=1;i<=100;i++){a="";if(i%3==0){a+="Fizz";} -if(i%5==0){a+="Buzz";}if(a==""){a=std::to_string(i);} -std::cout< -int main() { -int i=1; -while (i<100){ -if (i%3==0){ -if (i%5==0){ -std::cout<<"FizzBuzz"<