Skip to main content

3.3 Logische Operatoren

  • Aufgabe 1: Schreiben Sie ein Programm, das prüft, ob eine eingegebene Zahl zwischen 1 und 100 (inklusive) liegt.
  • Aufgabe 2: Implementieren Sie ein einfaches Login-System, das Benutzername und Passwort überprüft (mit vordefinierten korrekten Werten).

Aufgabe 1:

#include <stdbool.h>
#include <stdio.h>

bool checkIfBetween1And100(int num);

int main(void) {

int num;


printf("Geben Sie bitte die Ganzzahl ein: \n");
scanf("%d", &num);

if (checkIfBetween1And100(num)) {
printf("Die Zahl %d ist in dem Zahlenbereich 1 bis 100 \n", num);
} else printf ("Die Zahl %d liegt ausserhalb des Zahlenbereichs 1 bis 100 \n", num);

return 0;
}

bool checkIfBetween1And100(const int num) {
return num >= 1 && num <= 100;
}

Aufgabe 2:

#include <stdbool.h>
#include <stdio.h>
#include <string.h>

bool checkUsername(const char* inputUsername, const char* username);
bool checkPassword(const char* inputPassword, const char* password);

int main(void) {

for (int i = 0; i < 3; i++) {
const char* password = "Test";
const char* username = "Niklas";
char inputPassword[50];
char inputUsername[50];
printf("Geben Sie bitte Ihren Username ein: \n");
scanf("%49s", inputUsername);

printf("Geben Sie bitte Ihr Passwort ein: \n");
scanf("%49s", inputPassword);
if (checkUsername(inputUsername, username) && checkPassword(inputPassword, password)) {
printf("Login erfolgreich!\n");
return 0;
}
printf("Falscher Username oder Passwort! Verbleibende Versuche: %d\n", 2-i);
}

printf("Zu viele fehlgeschlagene Versuche!\n");
return 1;
}

bool checkUsername(const char* inputUsername, const char* username) {
return strcmp(inputUsername, username) == 0;
}

bool checkPassword(const char* inputPassword, const char* password) {
return strcmp(inputPassword, password) == 0;
}