Skip to content
Snippets Groups Projects
Commit cd6ddc5e authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Bearbeitung der Übungsaufgabe zu Structs, README.md 10.12.2020

parent 1d299a6f
No related branches found
No related tags found
No related merge requests found
#include <stdio.h>
typedef struct
{
int day;
int month;
int year;
}
date;
int isschaltjahr (int jahr)
{
if (jahr % 4 == 0 && (jahr % 100 != 0 || jahr % 400 == 0))
{
return 1;
}
return 0;
}
void
set_date (date * d)
{
int i=0;
while (i == 0)
{
int daysamonth;
(*d).day = 12; //Hier wird ein festes Datum verwendet.
(*d).month = 11; //Das Datum soll später abgefragt werden
(*d).year = 2020; //weshalb geprüft wird, ob das Datum gültig ist.
switch ((*d).month)
{
case 1:
daysamonth = 31;
break;
case 2:
{
if (isschaltjahr ((*d).year))
{
daysamonth = 29;
}
else
{
daysamonth = 28;
}
break;
}
case 3:
daysamonth = 31;
break;
case 4:
daysamonth = 30;
break;
case 5:
daysamonth = 31;
break;
case 6:
daysamonth = 30;
break;
case 7:
daysamonth = 31;
break;
case 8:
daysamonth = 31;
break;
case 9:
daysamonth = 30;
break;
case 10:
daysamonth = 31;
break;
case 11:
daysamonth = 30;
break;
case 12:
daysamonth = 31;
break;
}
if ((*d).day > daysamonth || (*d).month > 12)
{
printf ("Dies ist kein gültiges Datum: \n");
}
else
{
i = 1;
}
}
}
void print_date (date (*d))
{
printf ("%d.%d.%d\n", (*d).day, (*d).month, (*d).year);
}
int main (void)
{
date today;
set_date (&today);
print_date (&today);
return 0;
}
...@@ -21,6 +21,8 @@ Vortragsfolien und Beispiele: ...@@ -21,6 +21,8 @@ Vortragsfolien und Beispiele:
* [12.11.2020: Einführung in C: Seiteneffekte, Funktionen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-20201112.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201112/) * [12.11.2020: Einführung in C: Seiteneffekte, Funktionen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-20201112.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201112/)
* [19.11.2020: Einführung in C: Zeiger, Arrays und Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-20201119.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201119/) * [19.11.2020: Einführung in C: Zeiger, Arrays und Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-20201119.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201119/)
* [26.11.2020: Einführung in C: Arrays und Strings und Zeichen, Strukturen, Dateien und Fehlerbehandlung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-20201126.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201126/) * [26.11.2020: Einführung in C: Arrays und Strings und Zeichen, Strukturen, Dateien und Fehlerbehandlung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-20201126.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201126/)
* [03.12.2020: Parameter des Hauptprogramms, String-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201203/hp-20201203.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201203/)
* [10.12.2020: Parameter des Hauptprogramms, String-Operationen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-20201210.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201210/)
* [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2020ws.pdf) * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2020ws.pdf)
Übungsaufgaben: Übungsaufgaben:
...@@ -29,12 +31,16 @@ Vortragsfolien und Beispiele: ...@@ -29,12 +31,16 @@ Vortragsfolien und Beispiele:
* [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-uebung-20201112.pdf) * [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-uebung-20201112.pdf)
* [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-uebung-20201119.pdf) * [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-uebung-20201119.pdf)
* [26.11.2020: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-uebung-20201126.pdf) * [26.11.2020: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-uebung-20201126.pdf)
* [03.12.2020: Arrays mit Zahlen, Datum-Bibliothek](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201203/hp-uebung-20201203.pdf)
* [10.12.2020: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-uebung-20201210.pdf)
Musterlösungen: Musterlösungen:
--------------- ---------------
* [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-musterloesung-20201112.pdf) * [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-musterloesung-20201112.pdf)
* [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-musterloesung-20201119.pdf) * [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-musterloesung-20201119.pdf)
* [26.11.2020: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-musterloesung-20201126.pdf) * [26.11.2020: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201126/hp-musterloesung-20201126.pdf)
* [03.12.2020: Arrays mit Zahlen, Datum-Bibliothek](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201203/hp-musterloesung-20201203.pdf)
* [10.12.2020: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201210/hp-musterloesung-20201210.pdf)
Tafelbilder: Tafelbilder:
------------ ------------
......
No preview for this file type
...@@ -18,4 +18,8 @@ ...@@ -18,4 +18,8 @@
\includepdf[pages=-]{20201119/hp-20201119.pdf} \includepdf[pages=-]{20201119/hp-20201119.pdf}
\pdfbookmark[1]{26.11.2020: Einführung in C: Arrays und Strings und Zeichen, Strukturen, Dateien und Fehlerbehandlung}{20201126} \pdfbookmark[1]{26.11.2020: Einführung in C: Arrays und Strings und Zeichen, Strukturen, Dateien und Fehlerbehandlung}{20201126}
\includepdf[pages=-]{20201126/hp-20201126.pdf} \includepdf[pages=-]{20201126/hp-20201126.pdf}
\pdfbookmark[1]{03.12.2020: Parameter des Hauptprogramms, String-Operationen}{20201203}
\includepdf[pages=-]{20201203/hp-20201203.pdf}
\pdfbookmark[1]{10.12.2020: Parameter des Hauptprogramms, String-Operationen}{20201210}
\includepdf[pages=-]{20201210/hp-20201210.pdf}
\end{document} \end{document}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment