[Hilfe!] Sternchen über Text



  • Hey ich habe ein Programm geschrieben bei dem ich einen Text eingebe und unter dem Text für jeden buchstaben ein * erscheint. Allerdings will ich, dass er auch über dem Text * printet, sodass es aussieht als wäre es ein Rahmen.
    Kann mir jemand helfen?

    int stringlen(char kette[]) {
        int laenge = 0;
        for (int i = 0; kette[i] != '\0'; ++i) {
            ++laenge;
        }
        return laenge;
    }
    
    int main() {
    
        char input[100];
        fgets(input, 100, stdin);
    
        // int ende = strlen(input);
        int ende = stringlen(input)-1;
    
        for (int i = 0; i < ende; ++i) {
            input[i] = '*';
        }
    
        printf(input); 
        printf("\n");
    
    }
    


  • Erste Zeile mit * ausgeben, Text ausgeben, Zweite Zeile mit * ausgeben.

    Es macht die ganze Sache einfacher, wenn du in der *-Schleife deine Eingabe nicht mit * überschreibst.

    Zudem ist es ganz schlimm, eine Benutzereingabe als Formatstring von printf zu nehmen.

    Zum Ausgeben von einzelnen Zeiochen auf die Konsole (stdout) kann man putchar nehmen.

    Warum ein eigenes strlen ? ISt der Standard nicht gut genug?
    Und warum hat das zwei Zählvariablen? Haben die unterschiedliche Werte.


Anmelden zum Antworten