Add exercises 03.
This commit is contained in:
parent
9f63d5fa2b
commit
63c0399302
23
03/bedingteBewertung.c
Normal file
23
03/bedingteBewertung.c
Normal file
@ -0,0 +1,23 @@
|
||||
/********************************************************************************************
|
||||
* Bedingte Zuweisung
|
||||
* Schreiben Sie ein Programm, das abfragt, in welchem Studiensemester Sie sich befinden
|
||||
* und dann ausgibt, ob Sie damit noch in Regelstudienzeit sind oder nicht.
|
||||
* Beide Varianten der Ausgabe sollen ohne if-Anweisung in einem einzigen printf getätigt
|
||||
* werden. Fangen Sie ungültige Eingaben mit einer entsprechenende Fehlermeldung ab.
|
||||
*
|
||||
* 1. Beispiel
|
||||
* >> Wieviele Semester studieren Sie bereits? 2
|
||||
* Sie studieren im 2. Semester. Damit sind Sie in Regelstudienzeit.
|
||||
*
|
||||
* 2. Beispiel
|
||||
* >> Wieviele Semester studieren Sie bereits? 8
|
||||
* Sie studieren im 8. Semester. Damit sind Sie NICHT MEHR in Regelstudienzeit.
|
||||
********************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
return 0;
|
||||
}
|
||||
30
03/castingLesen.c
Normal file
30
03/castingLesen.c
Normal file
@ -0,0 +1,30 @@
|
||||
/********************************************************************************************
|
||||
* Sehen Sie sich untenstehenden Code und markieren Sie alle Stellen mit einem Kommentar, *
|
||||
* an denen eine Datentypumwandlung stattfindet. Erklaeren Sie zudem, von welchem Datentyp *
|
||||
* in welchen anderen umgewandelt wird und warum. *
|
||||
********************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int punkt1x, punkt1y;
|
||||
unsigned int punkt2x, punkt2y;
|
||||
float zeit, geschwindigkeit;
|
||||
|
||||
printf("Geben Sie die Koordinaten des 1. Punkts in Metern ein (x, y): ");
|
||||
scanf("%d, %d", &punkt1x, &punkt1y);
|
||||
|
||||
printf("Geben Sie die Koordinaten des 2. Punkts in Metern ein (x, y): ");
|
||||
scanf("%u, %u", &punkt2x, &punkt2y);
|
||||
|
||||
printf("Geben Sie die benoetigte Zeit in Sekunden ein: ");
|
||||
scanf("%f", &zeit);
|
||||
|
||||
geschwindigkeit = sqrt((punkt1x - punkt2x) * (punkt1x - punkt2x) + (punkt1y - punkt2y) * (punkt1y - punkt2y)) / zeit;
|
||||
|
||||
printf("Um von der Koordinate (%d, %d) nach Koordinate (%d, %d) in %.2f Sekunden zu kommen, wird eine Geschwindigkeit von %.2f m/s benoetigt.\n", punkt1x, punkt1y, (int)punkt2x, (int)punkt2y, zeit, geschwindigkeit);
|
||||
|
||||
return 0;
|
||||
}
|
||||
22
03/expliztesCasting.c
Normal file
22
03/expliztesCasting.c
Normal file
@ -0,0 +1,22 @@
|
||||
/********************************************************************************************
|
||||
* Schreiben Sie ein Programm, das einen Preis in Euro als Kommazahl vom Benutzer abfragt
|
||||
* und diesen dann mittels explizitem casting in Euros und Cents zerlegt und ausgibt.
|
||||
* Brechen Sie die Ausführung des Programms ab, wenn der Benutzer eine falsche Eingabe
|
||||
* (z.B. keine gültige Zahl) gemacht hat.
|
||||
*
|
||||
* 1. Beispiel:
|
||||
* >> Geben Sie einen Preis in Euro ein: 12.53
|
||||
* Der Preis ist 12 Euro und 53 Cents.
|
||||
*
|
||||
* 2. Beispiel:
|
||||
* >> Geben Sie einen Preis in Euro ein: abc
|
||||
* Ungültige Eingabe!
|
||||
********************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
return 0;
|
||||
}
|
||||
77
03/ifElseGrab.c
Normal file
77
03/ifElseGrab.c
Normal file
@ -0,0 +1,77 @@
|
||||
/********************************************************************************************
|
||||
* If-Else Grab
|
||||
********************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int status = 201;
|
||||
int fehler = 0;
|
||||
int warnung = 1;
|
||||
int aktion = 1;
|
||||
|
||||
/********************************************************************************************
|
||||
* Aufgabe: Schauen Sie sich folgende if/else Konstruktion an.
|
||||
* a) Ist diese Ihrer Meinung nach gut lesbar?
|
||||
* b) Identifizieren Sie Pfade, die überflüssig sind bzw. niemals ausgeführt werden.
|
||||
* c) Vereinfachen Sie den Code unter Verwendung von so wenigen Verzweigungsebenen wie
|
||||
* möglich, ohne die Ausgabe bzw. das Verhalten des Programms zu verändern
|
||||
********************************************************************************************/
|
||||
|
||||
if (status == 200)
|
||||
{
|
||||
if (fehler)
|
||||
{
|
||||
printf("Fehler");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (aktion == 1)
|
||||
{
|
||||
if (!fehler)
|
||||
{
|
||||
if (!warnung)
|
||||
{
|
||||
printf("Aktion 1 erfolgreich ausgeführt.");
|
||||
}
|
||||
else if (warnung)
|
||||
{
|
||||
printf("Aktion 1 mit Warnung ausgeführt.");
|
||||
|
||||
if(status != 200)
|
||||
{
|
||||
printf("Ungültiger Status!");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Fehler");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (aktion == 2)
|
||||
{
|
||||
if (!fehler)
|
||||
{
|
||||
printf("Aktion 2 erfolgreich ausgeführt.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Unbekannte Aktion");
|
||||
}
|
||||
|
||||
}
|
||||
else if (status != 200)
|
||||
{
|
||||
if (fehler)
|
||||
{
|
||||
printf("Fehler");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
41
03/taschenrechner.c
Normal file
41
03/taschenrechner.c
Normal file
@ -0,0 +1,41 @@
|
||||
/*************************************************************
|
||||
* Schreiben Sie ein Programm, das zwei positive Zahlen vom *
|
||||
* Benutzer einliest sowie einen Rechenoperator und *
|
||||
* anschliessend das Ergebnis ausgibt. Bei falschen Eingaben *
|
||||
* soll das Programm kontrolliert beendet werden. *
|
||||
* *
|
||||
* 1. Beispiel: *
|
||||
* >> Geben Sie eine positive, ganze Zahl ein: 50 *
|
||||
* >> Geben Sie noch eine positive, ganze Zahl ein: 20 *
|
||||
* >> Geben Sie einen Rechenoperator ein (+, -, *, /): - *
|
||||
* 50 - 20 = 30 *
|
||||
* *
|
||||
* 2. Beispiel: *
|
||||
* >> Geben Sie eine positive, ganze Zahl ein: 50 *
|
||||
* >> Geben Sie noch eine positive, ganze Zahl ein: 20 *
|
||||
* >> Geben Sie einen Rechenoperator ein (+, -, *, /): + *
|
||||
* 50 + 20 = 70 *
|
||||
* *
|
||||
* 3. Beispiel: *
|
||||
* >> Geben Sie eine positive, ganze Zahl ein: -50 *
|
||||
* Falsche Eingabe! *
|
||||
* *
|
||||
* 4. Beispiel: *
|
||||
* >> Geben Sie eine positive, ganze Zahl ein: 50 *
|
||||
* >> Geben Sie noch eine positive, ganze Zahl ein: -20 *
|
||||
* Falsche Eingabe! *
|
||||
* *
|
||||
* 5. Beispiel: *
|
||||
* >> Geben Sie eine positive, ganze Zahl ein: 50 *
|
||||
* >> Geben Sie noch eine positive, ganze Zahl ein: 20 *
|
||||
* >> Geben Sie einen Rechenoperator ein (+, -, *, /): dfgfd *
|
||||
* Unbekannter Rechenoperator d *
|
||||
*************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
return 0;
|
||||
}
|
||||
34
03/verkehrsteilnehmer.c
Normal file
34
03/verkehrsteilnehmer.c
Normal file
@ -0,0 +1,34 @@
|
||||
/********************************************************************************************
|
||||
* Verkehrsteilnehmer
|
||||
*
|
||||
* In einer Verkehrssimulation gibt es Fußgänger, Fahrräder, PKW, LKW/Bus und Motorräder.
|
||||
* Schreiben Sie ein Programm, dass die Merkmale "Anzahl Räder" und "motorisiert" vom
|
||||
* Benutzer abfragt und einen Verkehrsteilnehmer anhand dieser Merkmale identifiziert.
|
||||
* Hinweise: Fußgänger haben 0 Räder, LKW/Bus haben eine gerade Anzahl Räder > 4.
|
||||
* Für eine nicht existierende Merkmalskombination geben Sie eine entsprechende
|
||||
* Meldung aus!
|
||||
*
|
||||
* 1. Beispiel
|
||||
* >> Wieviele Räder? 2
|
||||
* >> Motorisiert? 0
|
||||
* Es handelt sich um ein Fahrrad.
|
||||
*
|
||||
* 2. Beispiel
|
||||
* >> Wieviele Räder? 0
|
||||
* >> Motorisiert? 1
|
||||
* Es handelt sich um ein unbekannten Verkehrsteilnehmer.
|
||||
*
|
||||
* 3. Beispiel
|
||||
* >> Wieviele Räder? 6
|
||||
* >> Motorisiert? 1
|
||||
* Es handelt sich um einen Bus oder LKW.
|
||||
*
|
||||
********************************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user