lolliger hat geschrieben:
Meinst du so??
Ähh... definitiv nein. Sowas programmiere bitte nie wieder, nur weil etwas durch den Compiler geht, heißt das nicht, dass das eine gute Idee ist.
Niemand erwartet in einem Funktionsaufruf eine Zuweisung, schon gar nicht in einem printf. Stell Dir vor, Du musst den Code irgendwann nochmal lesen. Mach das - wenn schon - in zwei Schritten.
Code: Alles auswählen
verschluesselt[i]=asciiwert+13;
printf("%c",verschluesselt[i]);
damit man auch erkennen kann, dass hier zwei vollkommen unterschiedliche Dinge passieren.
Und wenn das erkennbar ist, dann lass das printf weg.
Grundsätzlich ist die Zuweisung also durchaus richtig, aber bitte nicht innerhalb eines printf()!
Die Funktion soll einen Text verschlüsseln. Je größer die Programme werden, desto weniger geben sie auf dem Bildschirm aus. Wenn Du den Compiler startest, da passieren unglaubliche Dinge drin und im Idealfall gibt er überhaupt nichts aus.
Beim Programmieren kapselst Du Probleme. Die Funktion rot13() verschlüsselt. Fertig - mehr nicht - Kapsel zu.
Du machst aus großen Problemen kleine. Wenn Du das Problem hast, einen String zu verschlüsseln und auszugeben, dann rufst Du rot13() auf und gibst dann den String aus. Wenn Du nur verschlüsseln willst, geht das mit Deiner Funktion nicht. Also weg mit dem printf und am Schluss gibst Du das aus, was rot13() Dir verschlüsselt hat.
Dann versuch ich die ganze Zeit, Dir zu vermitteln, dass Du
Kommandozeilen-Parameter annimmst und verschlüsselst, anstatt Fragen zu stellen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.