Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Passwortgenerator

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.06.2005, 09:12 Uhr
I LOVE JAPAN



Hi!

Also es geht um folgendes...
Ich soll als Hausaufgabe einen Passwortgenerator programmieren.
Nun habe ich aber leider kleine Probleme.
Hier erst mal der Quellcode wie er bis jetzt ist:


Code:

void main ( void )
    {
    int i, j, anzahl, feld[12];
    int a, b, c, d, e, f;
    srand(time(NULL));
    
    Cls();
    
    for (i=1;i<=78;i++)
        {
        printf("-");
        Delay(0.01);
        }
    printf("\n                P A S S W O R T G E N E R A T O R\n");
    for (i=1;i<=78;i++)
        {
        printf("-");
        Delay(0.01);
        }
    /*
    printf("\n\nWie vielen Usern wollen Sie ein Passwort zuweisen? ");
    scanf("%i", &anzahl);
    
    for (j=1;j<=anzahl;j++)
        {
        printf("Bitte %i. Name eingeben: ", j);
        scanf("%s", &feld[j]);
        }
    */
    a = (rand()%9)+1;
    b = (rand()%9)+1;
    c = (rand()%9)+1;
    d = (rand()%9)+1;
    e = (rand()%9)+1;
    f = (rand()%9)+1;
    printf("\n\n%i%i%i%i#%i%i", (char)a, (char)b, c, d, e, f);
    }



So nun zu meinen Problemchen:
- Wie ihr ja bei dem Quellcode sehen könnt habe ich versucht Namen in das Feld einzulesen ... was aber leider mislungen ist :/ vielleicht könnt ihr mir da weiterhelfen?
- Wie ich zufällige Zahlen erstelle weiss ich ja ;D .. aber wie siehts das mit Buchstaben aus?
Hab einfach mal versucht die Variablen zu Casten..

Das wars eigentlich mit meinen kleinen Problemen schon.. wenn ihr noch Verbesserungsvorschläge habt.. immer her damit

Danke schon mal!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.06.2005, 11:28 Uhr
ao

(Operator)


Den Namen als Zeichenkette einlesen:

C++:
char feld [12];
scanf ("%s", feld);


scanf ist aber zum Lesen von Tastatureingaben schlecht geeignet, aus folgenden Gründen:
1. scanf ist nicht sicher gegen Puffer-Überläufe (hier Eintippen von mehr als 12 Zeichen).
2. scanf ist nicht sicher gegen Fehleingaben. Kommt bei %s nicht so zum Tragen, weil hier alles geschluckt wird, aber z.B. bei %d oder %f (numerische Werte) wird die Umwandlung abgebrochen, wenn Zeichen kommen, die nicht als Zahl interpretierbar sind. Diese Zeichen bleiben im Tastaturpuffer und müssen von Hand weggeräumt werden. Der hierfür notwendige Aufwand macht den Vorteil von scanf zunichte.

Besser ist fgets, das hat diese Nachteile nicht.

Zufalls-Buchstaben funktionieren genauso wie Zahlen:

C++:
char c = rand () % 26 + 'a';

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: