[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.