This commit is contained in:
Luca Conte 2025-03-18 23:06:43 +01:00
commit 41d194674a
3 changed files with 96 additions and 0 deletions

22
a5.1/safe.c Normal file
View File

@ -0,0 +1,22 @@
#include <stdio.h>
#include <string.h>
int main(void) {
char passwort[32] = "GeHeIm";
char eingabe[32];
printf("Bitte Passwort fuer den Hochsicherheitsbereich eingeben:\n");
scanf("%31[^\n]", eingabe);
for (int i = 0; i < 64; i++) {
printf("%3d (%p): %02X %c\n",i , eingabe + i, (unsigned char)eingabe[i], eingabe[i]);
}
if (!strncmp(eingabe, passwort, strlen(passwort))) {
printf("Passwort korrekt - Willkommen im Hochsicherheitsbereich!\n");
return 0;
} else {
printf("Passwort falsch - Zugang verweigert!\n");
return -1;
}
}

22
a5.1/unsafe.c Normal file
View File

@ -0,0 +1,22 @@
#include <stdio.h>
#include <string.h>
int main(void) {
char passwort[32] = "GeHeIm";
char eingabe[32];
printf("Bitte Passwort fuer den Hochsicherheitsbereich eingeben:\n");
scanf("%[^\n]", eingabe);
for (int i = 0; i < 64; i++) {
printf("%3d (%p): %02X %c\n",i , eingabe + i, (unsigned char)eingabe[i], eingabe[i]);
}
if (!strncmp(eingabe, passwort, strlen(passwort))) {
printf("Passwort korrekt - Willkommen im Hochsicherheitsbereich!\n");
return 0;
} else {
printf("Passwort falsch - Zugang verweigert!\n");
return -1;
}
}

52
a5.2/angestellte.c Normal file
View File

@ -0,0 +1,52 @@
#include <stdio.h>
#include <stdlib.h>
#define NUM_ANGESTELLTE 10
#define NAME_LEN 40
typedef struct {
char name[NAME_LEN+1];
int personalnummer;
float gehalt;
} angestellter;
int main(void) {
int anzahl;
angestellter *array[NUM_ANGESTELLTE];
for (int i = 0; i < NUM_ANGESTELLTE; i++) {
array[i] = NULL;
}
int input = 0;
while (1) {
scanf("%d", &input);
if (input >= NUM_ANGESTELLTE || input < 0) break;
if (array[input] == NULL) {
array[input] = (angestellter*)malloc(sizeof(angestellter));
printf("Name: ");
scanf("%s", array[input]->name);
printf("Personalnummer: ");
scanf("%d", &array[input]->personalnummer);
printf("Gehalt: ");
scanf("%f", &array[input]->gehalt);
} else {
free(array[input]);
array[input] = NULL;
}
printf("\n############\nAngestellte:\n------------\n");
for (int i = 0; i < NUM_ANGESTELLTE; i++) {
if (array[i] == NULL) {
printf("%d: ---\n", i);
} else {
printf("%d: %s | %d | %f\n", i, array[i]->name, array[i]->personalnummer, array[i]->gehalt);
}
}
}
return 0;
}