Ergebnis 1 bis 5 von 5
  1. #1
    W32.FunLove
    Registriert seit
    02.10.2007
    Beiträge
    163

    Standard String Crypter anfänger...

    das sollte eig. ein string crypter werden
    kann mir einer sagen wo der fehler ist?
    Code:
    #include <cstdlib>
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        
    char eingabe[5],Buffer[5] ;
    Buffer ="";
    cin >> eingabe ;
    for (int i=0;i < 5 ; i++)
    {
        if (eingabe[i]=='a')strcat(Buffer,"m");
        if (eingabe[i]=='b')strcat(Buffer,"n");
        if (eingabe[i]=='c')strcat(Buffer,"o");
        if (eingabe[i]=='d')strcat(Buffer,"p");
        if (eingabe[i]=='e')strcat(Buffer,"q");
        if (eingabe[i]=='f')strcat(Buffer,"r");
        if (eingabe[i]=='g')strcat(Buffer,"s");
        if (eingabe[i]=='h')strcat(Buffer,"t");
        if (eingabe[i]=='i')strcat(Buffer,"u");
        if (eingabe[i]=='j')strcat(Buffer,"v");
        if (eingabe[i]=='k')strcat(Buffer,"w");
        if (eingabe[i]=='l')strcat(Buffer,"x");
        if (eingabe[i]=='m')strcat(Buffer,"y");
        if (eingabe[i]=='n')strcat(Buffer,"z");
        if (eingabe[i]=='o')strcat(Buffer,"a");
        if (eingabe[i]=='p')strcat(Buffer,"b");
        if (eingabe[i]=='q')strcat(Buffer,"c");
        if (eingabe[i]=='r')strcat(Buffer,"d");
        if (eingabe[i]=='s')strcat(Buffer,"e");
        if (eingabe[i]=='t')strcat(Buffer,"f");
        if (eingabe[i]=='u')strcat(Buffer,"g");
        if (eingabe[i]=='v')strcat(Buffer,"h");
        if (eingabe[i]=='w')strcat(Buffer,"i");
        if (eingabe[i]=='x')strcat(Buffer,"j");
        if (eingabe[i]=='y')strcat(Buffer,"k");
        if (eingabe[i]=='z')strcat(Buffer,"l");
    
        }
        cout << Buffer << endl;
            
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    danke jetzt schonmal
    mfg FuX.
    Wieso wundert es mich nicht das du erst 1 Post hast??
    Code:
    "A hacker does for love what others would not do for money."
    [

  2. #2
    Be root - Use Linux Avatar von H4x0r007
    Registriert seit
    27.06.2007
    Beiträge
    1.878

    Standard

    Welche Art von Fehler meinst du? Bekommst du Fehler beim
    a) Compilen
    b) Linken
    c) Benutzen

    Un es einfacher zu machen, würde ich dir vorschlagen, die <string> Lib einzubauen und char durch String zu ersetzen, da Char nur einen Buchstaben aufnehmen kann (Arrays sind dabei relativ umständlich). Des wetieren würde ich dir empfehlen, cin >> eingabe durch getline(cin, eingabe); zu ersetzen, da bei cin der String aufhört, sobald man ein Leerzeichen eingegeben hat.

    Bsp:
    Code:
    Eingabe:
    hallo du
    Variableninhalt:
    hallo
    Bald 14 Jahre auf Free-Hack. Krass wie die Zeit vergeht...
    "Drei Dinge sind unendlich - das Universum, die menschliche Dummheit und die WinRAR-Testversion"

  3. #3
    W32.FunLove
    Registriert seit
    02.10.2007
    Beiträge
    163

    Standard

    wie? also anstat char einfach string ?
    ist getline das gleiche wie cin ? und warum nicht cin?
    sry bin noch am lernen^^
    Wieso wundert es mich nicht das du erst 1 Post hast??
    Code:
    "A hacker does for love what others would not do for money."
    [

  4. #4
    Be root - Use Linux Avatar von H4x0r007
    Registriert seit
    27.06.2007
    Beiträge
    1.878

    Standard

    Ich lerne auch noch.
    Zur verdeutlichung:

    cin liest die Eingabe bis zu einem Leerzeichen aus. Wenn du jetzt also schreibst "Ich bin FuX", wird in deiner String-Variable "Ich" stehen, weil cin nur bis zum Leerzeichen liest. Getline liest dagegen die ganze Zeile

    Char kann nur einen Buchstaben aufnehmen. String kann 256 Zeichenwerte glaube ich...

    Code:
    #include <string>
    using namespace std;
    ...
    string stringvariable;
    stringvariable = "Hallo, FuX";
    ...
    Bald 14 Jahre auf Free-Hack. Krass wie die Zeit vergeht...
    "Drei Dinge sind unendlich - das Universum, die menschliche Dummheit und die WinRAR-Testversion"

  5. #5
    Stiller Leser
    Registriert seit
    20.01.2008
    Beiträge
    4

    Standard

    Kannst dann ja noch
    Code:
    std::ofstream outfile;
    outfile.open("DeinText.txt");
    outfile << buffer
    outfile.close()
    machen, damit dein text verschlüsselt in ne txt kommt.

    und statt
    Code:
    char eingabe[5],Buffer[5] ;
    machste eingabe und Buffer wie schon gesagt zu einem String
    und nimmst halt stat cin >> getline. damits dann so aussieht:
    Code:
        string eingabe, Buffer;
        
        Buffer = "";
        getline(cin, eingabe);
    dann taucht halt nur noch ein problem auf, deine for-"schelife"^^
    Code:
    for (int i=0;i < 5 ; i++)
    da du nun ja nicht sagen kannst wie lang der string ist, kannst du da ja also keine "feste" zahl eintragen. daher nimmst du dann einfach den befehlt .length() der die stringlänge angibt. also:
    Code:
    for (int i = 0; i < eingabe.length(); i++)
    und schon ist das "problem" auch gelöst .

    was mir grade noch aufgefallen ist, du könntest
    Code:
    if (eingabe[i]==' ')Buffer+=" ";
    ja noch einfügen^^
    hoffe ich konnte dir noch bissle helfen!

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •