#include #include #include #include #include int pi(){ const int pi = (int) 3.1415926535; const float Pi = 3.1415926535f; const double pI = 3.1415926535; const long double pII = 3.1415926535l; const char ppi [] = "3.1415926535"; printf("%d\n", pi); printf("%f\n", Pi); printf("%f\n", pI); printf("%s\n", ppi); printf("%Lf\n", pII); return 0; } int limits(){ printf("%d", SHRT_MAX); for (short i = 32600; i < 32800; i++) { printf("%d\n", i); } // Beim Überlauf fängt i wieder beim jeweils anderen Extrem an z.B. // im negativen Bereich return 0; } int geradeUngerade(){ int input = 0; scanf("%d", &input); if (input % 2 == 0){ printf("Deine Zahl ist gerade!"); } else { printf("Deine Zahl ist ungerade!"); } return 0; } bool primzahl(){ int n = 0; printf("Zahl eingeben: "); scanf("%d", &n); if(n <= 1){ printf("Keine Primzahl!"); return false; } for(int i = 2; i * i <= n; i++){ if ( n % i == 0) { printf("Keine Primzahl!"); return false; } } printf("Eine Primzahl!"); return true; } struct Orte { double breitengrad; double laengengrad; } ort1, ort2; double abstand(){ //Abstandsberechnung printf("Breitengrad für Ort 1 eingeben: "); scanf("%lf", &ort1.breitengrad); printf("Längengrad für Ort 1 eingeben: "); scanf("%lf", &ort1.laengengrad); printf("Breitengrad für Ort 2 eingeben: "); scanf("%lf", &ort2.breitengrad); printf("Längengrad für Ort 2 eingeben: "); scanf("%lf", &ort2.laengengrad); double breite1 = ort1.breitengrad * M_PI / 180.0; double laenge1 = ort1.laengengrad * M_PI / 180.0; double breite2 = ort2.breitengrad * M_PI / 180.0; double laenge2 = ort2.laengengrad * M_PI / 180.0; double gesamtlaenge = laenge2 - laenge1; double gesamtbreite = breite2 - breite1; double a = pow(sin(gesamtbreite / 2), 2) + cos(breite1) * cos(breite2) * pow(sin(gesamtlaenge / 2), 2); double c = 2 * atan2(sqrt(a), sqrt(1 - a)); double radius = 6371; double abstand = radius * c; printf("Distanz: "); printf("%lf", abstand); printf("%s\n", "km"); //Auswahl des Verkehrsmittels char input2; double fahrzeit = 0; // in h double Aspeed = 100; // km/h double Lspeed = 5; // km/h double Fspeed = 800; // km/h printf("Auswahlmöglichkeiten: A für Auto, L für Laufen, F für Flugzeug: "); scanf("%s", &input2); switch (input2) { case 'A': fahrzeit = (double)abstand / Aspeed; break; case 'L': fahrzeit = abstand / Lspeed; break; case 'F': fahrzeit = abstand / Fspeed; break; default: printf("Keine gültige Eingabe!"); } printf("Fahrzeit: "); printf("%lf", fahrzeit); printf("h"); return 0; } int produktTabelle(){ int zeilen = 12; int spalten = 12; for (int i = 1; i <= zeilen; i++) { for (int j = 1; j <= spalten; j++) { printf("%4d", i * j); } printf("\n"); } return 0; } char Benutzer [5][2][20]; int anmeldung(){ printf("Registrierung als Benutzer1: \n"); printf("Benutzername festlegen: "); scanf("%19s", &Benutzer[0][0]); printf("Passwort festlegen: "); scanf("%19s", &Benutzer[0][1]); char benutzername_inp [20]; char passwort_inp [20]; printf("Anmeldung als Benutzer1: \n"); printf("Benutzername eingeben: "); scanf("%s", &benutzername_inp); int userID = 0; int zeilen = 5; for (int i = 0; i < zeilen; ++i) { if(strcmp(&Benutzer[i][0],benutzername_inp) == 0){ userID = i; i = 10; } else if(i == zeilen-1) { printf("Benutzer nicht gefunden!"); userID = 6; } } if (userID != 6) { int anmeldeversuche = 3; while (anmeldeversuche > 0) { printf("Passwort eingeben: "); scanf("%s", &passwort_inp); if (0 != strcmp(&Benutzer[userID][1], passwort_inp)) { printf("Benutzereingabe falsch\n"); anmeldeversuche--; } else { printf("Sie sind angemeldet!"); break; } } if(anmeldeversuche == 0) printf("Zu viele Anmeldeversuche!"); } return 0; } int main() { // pi(); // limits(); // geradeUngerade(); // primzahl(); // abstand(); // produktTabelle(); anmeldung(); return 0; }