myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [C] printf rahmen (https://mygully.com/showthread.php?t=2613856)

cl0ckg3n 26.04.12 20:11

[C] printf rahmen
 
Hey leutz,

hab eine Programmieraufgabe, bei der ich einfach nicht weiter weis. Sie wird wohl simple sein, leider komme ich nicht drauf.
Und zwar:

Erstellen Sie ein C-Programm, das einen Rahmen am Bildschirm ausgibt. Der Rahmen soll
immer 5 Zeilen lang sein. Wie breit er sein soll, soll der Benutzer eingeben.

Beispiel:
Wie breit soll Rahmen werden: 5↵
+-----+
| leer |
| leer |
| leer |
+-----+

(leer) stammt von mir !

Das Problem liegt dabei, dass ich nur printf und scanf benutzen soll. Mit einer Schleife/Kontrolstruktur bekomm ich es gebacken nur mit printf bekomm ich die breite der
Box nicht hin.
Ich hatte die überlegung das man es beim Umwandlungsbezeichner als breite-flag mitgibt.
Da liegt das erste übel, wie bekommt man nen variablenwert als flag. Vielleicht lieg ich mit der Überlegung auch daneben ?

Hoffe mir kann jemand Helfen.

Ich möchte keine Lösung, nur eine kleine Hilfe die mich zu Ziel bringt.

bisheriger Code:
Code:

#include <stdio.h>
#include <stdlib.h>

/*
 *
 */
int main(int argc, char** argv) {
   
    int rahmen = 0;
   
    printf("Wie breit soll Rahmen werden: ");
    scanf("%d", &rahmen);
    printf("\n");
   
    printf("\n++");
    printf("\n||", rahmen);
    printf("\n||");
    printf("\n||");
    printf("\n++");

    return (EXIT_SUCCESS);
}

mfg cl0ckg3n

Your_Conscience 26.04.12 20:37

Da muss wohl eine Schleife ran.

Gun_der 27.04.12 06:33

Funktionen haben die Eigenschaft, dass sie Werte ändern oder ausgeben.
Eine Kontrollstruktur alleine schafft das nicht. Erst wenn Funktionen in dieser Kontrollstruktur auftauchen.
Von daher ist eine Kontrollstruktur keine Funktion. du darfst sie also verwenden.

cl0ckg3n 27.04.12 15:59

Danke euch beiden erstmal für die Antworten. Es solle nur mit printf und scanf gelöst werden.
Das Problem hat sich auch schon gelöst. Man kann die Breite bei printf auch aus einer variable auslesen.
Bsp:

printf("%*.*s", breite, breite, string);

Man sollte halt vorher mal in die Referenz schauen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.