add pdf
This commit is contained in:
@@ -1,64 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <strings.h>
|
||||
|
||||
/** Aufgabe 1:
|
||||
enum Typ "textFlags" deklarieren mit den einzelnene Werten
|
||||
- ITALICS = 00000001 // = 1
|
||||
- BOLD = 00000010 // = 2
|
||||
- UNDERLINE = 00000100 // = 4
|
||||
*/
|
||||
|
||||
enum textFlags { ITALICS = 1, BOLD = 2, UNDERLINE = 4 };
|
||||
|
||||
/** Aufgabe 2
|
||||
Funktion Flag Einlesen
|
||||
*/
|
||||
|
||||
void menu (void) {
|
||||
(void) printf("\nBitte geben Sie die gewuenschten Flags ein\n");
|
||||
(void) printf("(Ugueltige Eingaben fuehren zum Abbruch.)\n");
|
||||
(void) printf("Kursiv: tippen Sie die 1\n");
|
||||
(void) printf("Fett: tippen Sie die 2\n");
|
||||
(void) printf("Unterstrichen: tippen Sie die 3\n");
|
||||
(void) printf("Abbrechen: tippen Sie die 0\n");
|
||||
(void) printf("Ihre Wahl: ");
|
||||
}
|
||||
|
||||
|
||||
int flagEinlesen() {
|
||||
fflush(stdin);
|
||||
int flag = fgetc(stdin) - '0';
|
||||
if (flag < 1 || flag > 3) { flag = 0; }
|
||||
return flag;
|
||||
}
|
||||
|
||||
|
||||
void displayFlags(int flags) {
|
||||
printf("Gesetzte Flags: %d\n", flags);
|
||||
}
|
||||
|
||||
/** Vorgegebener Programm-Rumpf */
|
||||
int main(void) {
|
||||
int oneFlag, flags = 0;
|
||||
do {
|
||||
menu();
|
||||
oneFlag = flagEinlesen();
|
||||
switch (oneFlag) {
|
||||
case 1:
|
||||
printf("Wahl: 1, Flag: %d", oneFlag);
|
||||
flags |= ITALICS;
|
||||
break;
|
||||
case 2:
|
||||
printf("Wahl: 2, Flag: %d", oneFlag);
|
||||
flags |= BOLD;
|
||||
break;
|
||||
case 3:
|
||||
printf("Wahl: 3, Flag: %d", oneFlag);
|
||||
flags |= UNDERLINE;
|
||||
break;
|
||||
}
|
||||
(void) displayFlags(flags);
|
||||
} while (oneFlag != 0);
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -1,117 +0,0 @@
|
||||
/**
|
||||
* P02 Praktikum
|
||||
*
|
||||
* - Funktionen
|
||||
* - Funktion Schaltjahr
|
||||
* - Funktion Tage pro Monat
|
||||
* - Funktion Wochentag
|
||||
*
|
||||
* @author ZHAW
|
||||
* @version 1.0 - 08.02.2022
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
int leseZahl(char *prompt, int min, int max) { // Datentyp angeben, Parameter angeben
|
||||
char zahlString[11];
|
||||
int zahl;
|
||||
|
||||
do {
|
||||
printf("%s", prompt);
|
||||
fgets(zahlString, 10, stdin);
|
||||
zahl = atoi(zahlString); // bei ungueltiger Zahl return 0
|
||||
} while ((zahl < min) || (zahl > max));
|
||||
return zahl; // return Zeile angeben
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
____ leseZahl(____) { // Datentyp angeben, Parameter angeben
|
||||
char zahlString[11];
|
||||
int zahl;
|
||||
|
||||
fgets(zahlString, 10, stdin);
|
||||
zahl = atoi(zahlString); // bei ungueltiger Zahl return 0
|
||||
___________________ // return Zeile angeben
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* Konstante Werte fuer die Monate */
|
||||
enum { JAN=1, FEB, MAR, APR, MAI, JUN, JUL, AUG, SEP, OKT, NOV, DEZ };
|
||||
|
||||
|
||||
int main (void) {
|
||||
|
||||
//
|
||||
// Variablen definieren
|
||||
//
|
||||
int monat, jahr;
|
||||
char *prompt;
|
||||
|
||||
int istSchaltjahr = 0; // 0: kein Schaltjahr, sonst Schaltjahr
|
||||
int tageProMonat = 0; // Ergebnis spaeter in dieser Variablen
|
||||
|
||||
|
||||
//
|
||||
// Monat und Jahr einlesen
|
||||
//
|
||||
|
||||
//printf("Monat: ");
|
||||
//scanf("%d", &monat);
|
||||
//printf("Jahr: ");
|
||||
//scanf("%d", &jahr);
|
||||
|
||||
prompt = "Monat: ";
|
||||
monat = leseZahl(prompt, 1, 12);
|
||||
prompt = "Jahr: ";
|
||||
jahr = leseZahl(prompt, 1, 3000);
|
||||
|
||||
// Ausgabe zum Test
|
||||
// printf("Monat: %d, Jahr: %d \n", monat, jahr);
|
||||
|
||||
|
||||
//
|
||||
// Monate mit 30 und 31 Tagen behandeln
|
||||
//
|
||||
switch (monat) {
|
||||
|
||||
case JAN: case MAR: case MAI: case JUL: case AUG: case OKT: case DEZ:
|
||||
tageProMonat = 31;
|
||||
break;
|
||||
|
||||
case APR: case JUN: case SEP: case NOV:
|
||||
tageProMonat = 30;
|
||||
break;
|
||||
|
||||
//
|
||||
// Monat ist 2: Auf Schaltjahr ueberpruefen
|
||||
//
|
||||
case FEB:
|
||||
if (jahr % 4 == 0 && (jahr % 100 != 0 || jahr % 400 == 0)) {
|
||||
tageProMonat = 29;
|
||||
}
|
||||
else {
|
||||
tageProMonat = 28;
|
||||
}
|
||||
break;
|
||||
|
||||
//
|
||||
// Anderer Monat: Fehler
|
||||
//
|
||||
default:
|
||||
printf("Der Monat muss zwischen 1 und 12 sein.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Ergebnis ausgeben
|
||||
//
|
||||
printf("Der Monat %d.%d hat %d Tage.\n", monat, jahr, tageProMonat);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user