1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Information ausblenden

Plausibilitätsprüfungen

Dieses Thema im Forum "Programmieren" wurde erstellt von BigSwopa, 25. November 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. BigSwopa

    BigSwopa Byte

    Hallo zusammen!

    Ich bin totaler Anfänger und versuche gerade ein kleines Programm in C zu schreiben und weiß nicht wie ich einen string auf ein spezielles Zeichen untersuche. Ich arbeite übrigens mit struct-Variablen...
    In meinem Fall will ich eine Emailadresse auf Plausibilität prüfen und demnach den String nach dem "@"-Zeichen durchsuchen.

    printf("\n\n\tIhre Emailadresse bitte hier eingeben:\n\n");
    scanf("%s", &gastbuchung.email);
    clrscr();

    if (strlen(gastbuchung.email) > 30)
    {
    printf("Maximal 30 Zeichen erlaubt!");
    }
    else if (strchr(gastbuchung.email, '@')==0)
    {
    printf("Dies ist keine Emailadresse!");
    }
    else printf("Richtig!");

    } while (strlen(gastbuchung.email) > 30 || strchr(gastbuchung.email, '@')==0);

    Es scheinen auch Fehler in dem Aufbau der if-Funktion zu sein. Turbo C++ gibt mir immer einen "general exception error" (oder so ähnlich) aus wenn ich den String nach dem @-Zeichen überprüfen will. Könnte mir jemand mit ein paar Minuten Zeit den Code korrigieren?

    Zweites Problem: Turbo C++ überprüft nicht die Länge eines Strings wenn der String per Leerzeichen in zwei Teile getrennt ist (z.B. Vor-und Nachname). Mein jetzt folgende Code klappt nur wenn der String keine Leerzeichen oder sonstige Unterbrechungen enthält. Was ist da falsch?

    do
    {

    printf("\n\n\tBitte geben Sie Ihren Vornamen & Nachnamen ein:\n\n");
    scanf("%s", &gastbuchung.name);
    clrscr();

    if (strlen(gastbuchung.name) > 20)
    {
    printf("Maximal 20 Zeichen erlaubt!");
    }
    else printf("Richtig!");

    } while (strlen(gastbuchung.name) > 20);

    Danke Euch!

    BigSwopa
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen