Klausurvorbereitung
-
xX Dany Xx schrieb:
...ja und die verschluesseln Funktion akzeptiert wieder keine 0 Argumente.
Hast du schon mal etwas von einer Parameterübergabe gehört, Bruder?
-
Du meinst so..
void verschluesseln (char *s, int n) { int d=0; printf ("Zeichenfolge: "); scanf ("%s", &s); while (s[d] != '\0') { d++; } printf ("\nDie Folge enthealt %d Zeichen.", d); for (; d>=0; d--) s[d]=s[d]+n; printf ("\nVerschluesselte Zeichenfolge lautet: %s", s); } int main () { int n=3; char s[100]={' '}; verschluesseln(s, n); getch(); }
Ich habe in meinem schlauen Buch nachgeschaut
Aber jetzt kommt iwie ein Fehler, nachdem ich die Zeichenfolge eingegeben habe.. der Compiler meckert allerdings nicht...
-
kannst dus nich oder willst dus nicht (dir die grundlagen anschauen)? du stocherst da in einem haufen code rum ohne zu wissen wonach du suchst, das führt einfach nicht zum ziel...
fehler im scanf() wie auch schon vorhin, dir fehlt einfach das 1 mal 1 der zeiger, datentypen, eingabe und ausgabe, feldinitialisierung, und alles was sonst noch so in ein programm rein kommt, du hast mittlerweile 2 ganze abende damit verbracht diese mini aufgabe zu lösen, und ich hoffe du weißt wieviel hier menschen schon geschrieben haben um dir zu helfen, aber du zeigst immernoch NULL eigeninitiative.
auch wenns madig ist, aber lieber das als keins...
http://openbook.galileocomputing.de/c_von_a_bis_z/004_c_ein_ausgabe_001.htm#mj9988ed46abbabfaf84eb71b69bea2fd8ich bin mal wieder traurig
-
oder das: http://phy.ntnu.edu.tw/~cchen/ctutor.pdf
-
xX Dany Xx schrieb:
Ich habe in meinem schlauen Buch nachgeschaut
Da solltest du öfter mal reingucken, ruhig ein bisschen länger.
Jedenfalls ist noch ne Menge Müll in deinem Code drin, viel mehr kann man fast schon nicht mehr falsch machen.
Der scanf Parameter ist kagge, die Arraygrenze ist nicht abgesichert, du überschreibst den Nullterminator, die Eingabe der Zeichenfolge sollte außerhalb der Verschlüsselungsfunktion erfolgen, das Array ist ein wenig sinnfrei initialisiert. Reicht das erstmal?Gruß,
B.B.
-
Big Brother schrieb:
Jedenfalls ist noch ne Menge Müll in deinem Code drin, viel mehr kann man fast schon nicht mehr falsch machen.
Der scanf Parameter ist kagge, die Arraygrenze ist nicht abgesichert, du überschreibst den Nullterminator, die Eingabe der Zeichenfolge sollte außerhalb der Verschlüsselungsfunktion erfolgen, das Array ist ein wenig sinnfrei initialisiert. Reicht das erstmal?Gruß,
B.B.Ich weiß nicht was ihr habt.. ich hab nur aus der scanf Funktion gets gemacht und das Programm funktioniert... außer, dass er mir bei der verschlüsselten Zeichenfolge immer das Endzeichen (\0) mit einliest.. aber das ist halb so schlimm... Also er erkennt richtig bei "hallo" z.B. 5 Zeichen gibt dann bei der verschlüsselten Zeichenfolge aber 6 Zeichen aus.. Aber das kann ich ja einfach beheben indem ich in die for-Schleife d=d-1 reinschreibe...
void verschluesseln (char *s, int n) { int d=0; printf ("Zeichenfolge: "); gets (s); while (s[d] != '\0') { d++; } printf ("\nDie Folge enthealt %d Zeichen.", d); for (; d>=0; d--) s[d]=s[d]+n; printf ("\nVerschluesselte Zeichenfolge lautet: %s", s); } int main () { int n=3; char s[100]={' '}; verschluesseln(s, n); getch(); }
-
Du bist nicht zufällig Hasso, oder sein Kumpel?
-
ne