diff --git a/02/alphabet.c b/02/alphabet.c new file mode 100644 index 0000000..71a2593 --- /dev/null +++ b/02/alphabet.c @@ -0,0 +1,21 @@ +/***************************************************************************************** + * Schreiben Sie ein Programm, das vom Benutzer einen Buchstaben einliest und ausgibt, * + * der wievielte Buchstabe im Alphabet die Eingabe ist. Groß- und Kleinschreibung sollen * + * keine Rolle spielen. Zudem soll das Programm vorher ausgeben, ob der Benutzer einen * + * Buchstaben eingegeben hat und die Ausgabe somit richtig ist. * + * * + * 1. Beispiel: * + * >> Geben Sie einen Buchstaben ein: B * + * Die folgende Ausgabe ist richtig, weil das Zeichen B ein Buchstabe ist: 1 * + * Der Buchstabe B ist der 2. Buchstabe im Alphabet. * + * * + * 2. Beispiel: * + * >> Geben Sie einen Buchstaben ein: b * + * Die folgende Ausgabe ist richtig, weil das Zeichen b ein Buchstabe ist: 1 * + * Der Buchstabe b ist der 2. Buchstabe im Alphabet. * + * * + * 3. Beispiel: * + * >> Geben Sie einen Buchstaben ein: 3 * + * Die folgende Ausgabe ist richtig, weil das Zeichen 3 ein Buchstabe ist: 0 * + * Der Buchstabe 3 ist der -13. Buchstabe im Alphabet. * + *****************************************************************************************/ diff --git a/02/anteile.c b/02/anteile.c new file mode 100644 index 0000000..f23972e --- /dev/null +++ b/02/anteile.c @@ -0,0 +1,37 @@ +/**************************************************************************************************** + * Aufgaben + * 1. Begeben Sie sich zunaechst ohne Compiler auf Fehlersuche. Welche Fehler können Sie entdecken? * + * Wuerde das Programm uebersetzen? Wuerde das Programm korrekt laufen? * + * 2. Uebersetzen Sie nun das Programm ohne -Wall. Hilft Ihnen dies bei der Fehlersuche? * + * 3. Uebersetzen Sie nun das Programme mit -Wall. Hilft Ihnen dies bei der Fehlersuche? * + * 4. Finden und korrigieren Sie nun alle Fehler, sodass das Programm korrekte Ausgaben liefert. * + * Nehmen Sie dabei so wenig Veraenderungen wie moeglich vor. * +*****************************************************************************************************/ + +#include + +#define MAX_PUNKTE_TEIL_A 60 +#define MAX_PUNKTE_TEIL_B 44 +#define MAX_GESAMT_PUNKTE MAX_PUNKTE_TEIL_A + MAX_PUNKTE_TEIL_B + +int main() +{ + int pktTeilA, pktTeilB; + double ergInProzentTeilA, ergInProzentTeilB, gesamtErgInProzent; + + printf("Wie viele Punkte wurden in Teil A erzielt: "); + scanf("%d", pktTeilA); + + printf("Wie viele Punkte wurden in Teil B erzielt: "); + scanf("%d", pktTeilB); + + ergInProzentTeilA = pktTeilA * 100 / MAX_PUNKTE_TEIL_A; + ergInProzentTeilB = pktTeilB * 100 / MAX_PUNKTE_TEIL_B; + gesamtErgInProzent = (pktTeilA + pktTeilB) * 100 / MAX_GESAMT_PUNKTE; + + printf("Es wurden %d %% der moeglichen Punkte in Teil A erzielt.\n", ergInProzentTeilA); + printf("Es wurden %d %% der moeglichen Punkte in Teil B erzielt.\n", ergInProzentTeilB); + printf("Es wurden %d %% der moeglichen Punkte insgesamt erzielt.\n", gesamtErgInProzent); + + return 0; +} \ No newline at end of file diff --git a/02/mwst.c b/02/mwst.c new file mode 100644 index 0000000..f635c08 --- /dev/null +++ b/02/mwst.c @@ -0,0 +1,9 @@ +/*************************************************************************************************************** + * Schreiben Sie ein Programm, das vom Benutzer einen Nettopreis in Euro einliest und dazu den Bruttopreis * + * ausgibt. Verwenden Sie fuer die Mehrwertsteuer eine symbolische Konstante und lagern Sie diese in eine * + * separate Header-Datei aus. Die Mehrwertsteuer betraegt derzeit 19 % (Buecher und Lebensmittel ausgenommen). * + * * + * Beispiel: * + * >> Geben Sie einen Nettopreis in Euro ein: 10 * + * Der Bruttopreis betraegt 11.90 Euro * + ***************************************************************************************************************/ diff --git a/02/rechner.c b/02/rechner.c new file mode 100644 index 0000000..ffde507 --- /dev/null +++ b/02/rechner.c @@ -0,0 +1,17 @@ +/************************************************************************************************ + * Schreiben Sie ein Programm, das zwei Zahlen und anschliessend + oder - vom Benutzer einliest * + * und das Ergebnis der Rechenoperation ausgibt. Hinweis: Diese Aufgabe ist ohne if zu loesen, * + * das erst spaeter eingefuehrt wird. * + * * + * 1. Beispiel: * + * >> Geben Sie die 1. Zahl ein: 2 * + * >> Geben Sie die 2. Zahl ein: 3 * + * >> Geben Sie die gewuenschte Rechenoperation ein (+/-): - * + * 2 - 3 = -1 * + * * + * 2. Beispiel: * + * >> Geben Sie die 1. Zahl ein: 2 * + * >> Geben Sie die 2. Zahl ein: 3 * + * >> Geben Sie die gewuenschte Rechenoperation ein (+/-): + * + * 2 + 3 = 5 * + ************************************************************************************************/ diff --git a/02/winkel.c b/02/winkel.c new file mode 100644 index 0000000..ba61570 --- /dev/null +++ b/02/winkel.c @@ -0,0 +1,6 @@ +#include + +/*************************************************************************************************************************************** +* Schreiben Sie ein Programm, das einen Winkel in Grad als ganze Zahl einliest und diesen in rad (als Fliesskommazahl) wieder ausgibt. * +* Nutzen Sie dabei sinnvoll mindestens eine Makro-Konstante. Der Winkel in rad soll dabei mit drei Nachkommastellen ausgegeben werden. * +****************************************************************************************************************************************/ diff --git a/02/zahlenVergleich.c b/02/zahlenVergleich.c new file mode 100644 index 0000000..040739b --- /dev/null +++ b/02/zahlenVergleich.c @@ -0,0 +1,32 @@ +/**************************************************************************************************************** + * Schreiben Sie ein Programm, das vom Benutzer zwei ganze, positive, * + * dreistellige Zahlen einliest und ausgibt, ob beide Zahlen gleich sind. * + * Dabei soll die erste Zahl mit scanf und die zweite mit getchar eingelesen * + * werden. Zudem soll das Programm ausgeben, ob die erste Eingabe des Benutzers * + * korrekt war. * + * * + * Wie erklaeren Sie sich den Verlauf des 2. Beispiels? * + * * + * 1. Beispiel: * + * >> Geben Sie eine dreistellige, ganze und positive Zahl ein: 345 * + * Es wurde eine dreistellige, positive Zahl eingegeben: 1 * + * >> Geben Sie noch einmal eine dreistellige, ganze und positive Zahl ein: 345 * + * 345 == 345? -> 1 * + * * + * 2. Beispiel (Hier kann man die Ausgabe ignorieren, nachdem angezeigt wurde, dass die Eingabe nicht stimmt.): * + * >> Geben Sie eine dreistellige, ganze und positive Zahl ein: dfg * + * Es wurde eine dreistellige, positive Zahl eingegeben: 0 * + * >> Geben Sie noch einmal eine dreistellige, ganze und positive Zahl ein: 0 == 5912? -> 0 * + * * + * 3. Beispiel: * + * >> Geben Sie eine dreistellige, ganze und positive Zahl ein: 567 * + * Es wurde eine dreistellige, positive Zahl eingegeben: 1 * + * >> Geben Sie noch einmal eine dreistellige, ganze und positive Zahl ein: 111 * + * 567 == 111? -> 0 * + * * + * 4. Beispiel: * + * >> Geben Sie eine dreistellige, ganze und positive Zahl ein: 20 * + * Es wurde eine dreistellige, positive Zahl eingegeben: 0 * + * >> Geben Sie noch einmal eine dreistellige, ganze und positive Zahl ein: 300 * + * 20 == 300? -> 0 * + ****************************************************************************************************************/