refresh pages

This commit is contained in:
stsh
2022-02-18 10:58:45 +01:00
parent 7f81ef9f48
commit 4f3a700605
8 changed files with 140 additions and 373 deletions
@@ -7,7 +7,7 @@ In diesem Praktikum erstellen Sie mehrere kleine C-Programme, in denen Sie Input
Arbeiten Sie in Zweiergruppen und diskutieren Sie ihre Lösungsansätze miteinander, bevor Sie diese umsetzen.
Bevor Sie mit den Programmieraufgaben beginnen, setzen Sie eine virtuelle Maschine mit der vorbereiteten Praktikumsumgebung auf.
Bevor Sie mit den Programmieraufgaben beginnen, setzen Sie eine virtuelle Maschine mit der vorbereiteten Praktikumsumgebung auf. Die entsprechende Anleitung finden Sie hier: [https://github.zhaw.ch/SNP/snp-lab-env/blob/master/docs/Arbeitsumgebung_f%C3%BCr_die_Praktika.pdf](https://github.zhaw.ch/SNP/snp-lab-env/blob/master/docs/Arbeitsumgebung_f%C3%BCr_die_Praktika.pdf).
___
## 2. Lernziele
@@ -1,125 +0,0 @@
# Lösungsskizzen
## Aufgabe 1
```
/**
* Tage Pro Monat
*
* Das Programm liest einen Monat (1-12) und ein Jahr (1600-2400) ein und
* gibt die Anzahl der Tage dieses Monats aus.
*
* @author Gerrit Burkert, Adaptation bazz
* @version 15-FEB-2013, 16-OCT-2017, 17-OCT-2019, 16-FEB-2022
*/
#include <stdio.h>
#include <stdlib.h>
#define ERROR_IN_MONTH 1
#define ERROR_IN_YEAR 2
///// Student Code
// Konstante Werte fuer die Monate
// ===============================
enum { JAN=1, FEB, MAR, APR, MAI, JUN, JUL, AUG, SEP, OKT, NOV, DEZ };
// Eingabe pruefen (0 ist vom atoi als Fehelcode verwendet und darf nicht verwendet werden)
// ===============
int gibIntWert(char *name, int von, int bis) {
int wert;
char wertS[20]; //
do {
printf("%s: ", name);
fgets(wertS, 20, stdin);
wert = atoi(wertS);
if (wert < von || wert > bis) {
printf("Der Wert muss zwischen %d und %d sein.\n", von, bis);
} else {
break;
}
} while(1);
return wert;
}
// Schaltjahr bestimmen
// ====================
int istSchaltjahr(int jahr){
if ( (jahr % 400 == 0) || ( (jahr %100 != 0) && (jahr % 4 ==0) ) )
return 1;
else
return 0;
}
// Berechnung Anzahl Tage pro Monat
// ================================
int tageProMonat(int jahr, int monat) {
int anzTage;
// Tage pro Monat bestimmen
switch (monat) {
// Monate mit 31 Tagen
case JAN: case MAR: case MAI: case JUL: case AUG: case OKT: case DEZ:
anzTage = 31;
break;
// Monate mit 30 Tagen
case APR: case JUN: case SEP: case NOV:
anzTage = 30;
break;
// Februar: 28 oder 29 Tage
case FEB:
if (istSchaltjahr(jahr)) {
anzTage = 29;
} else {
anzTage = 28;
}
break;
}
return anzTage;
}
///// END Student Code
int main (int argc, char *argv[]) {
int monat, jahr;
// Monat einlesen und Bereich ueberpruefen
monat = gibIntWert("Monat", 1, 12);
jahr = gibIntWert("Jahr", 1600, 9999);
// Ausgabe zum Test
printf("Monat: %d, Jahr: %d \n", monat, jahr);
// Ausgabe zum Test (hier mit dem ternaeren Operator "?:")
printf("%d ist %s Schaltjahr\n", jahr, istSchaltjahr(jahr) ? "ein" : "kein");
// Ausgabe
printf("Der Monat %02d-%d hat %d Tage.\n", monat, jahr, tageProMonat(jahr, monat));
return 0;
}
```
## Aufgabe 2
Alter bestehender Boilerplate Code
+10
View File
@@ -0,0 +1,10 @@
# SNP - Praktika
<img align="right" title="zhaw.ch" width="176" height="92" src="en-zhaw-ines-rgb.png">
### Übersicht
[Online Beschreibungen der Praktika und Aufgaben](https://github.zhaw.ch/pages/SNP/snp-lab-code/)
[Praktika.pdf](https://github.zhaw.ch/SNP/snp-lab-code/blob/master/build/latex/main.pdf)
[Arbeitsumgebung für die Praktika](https://github.zhaw.ch/SNP/snp-lab-env)