Grafische Darstellung eines Quadrates - Hilfe



  • Hallo,
    ich bin neu in C und habe bisher nur an einfachen Sachen rumgetüftelt. Allerdings habe ich jetzt folgende Aufgabenstellung:

    Entwickeln Sie ein Programm welches folgende Figur (=Quadrat) auf dem Bildschirm zeichnet. Bauen Sie das Programm so auf, dass die Breite der Figur zu Beginn des Programms von Tastatur eingelesen wird. Erlaubte Werte für die Breite liegen im Bereich von 10 - 40. Prüfen Sie die Eingabe auf Fehler. Fordern Sie den Benutzer zur erneuten Eingabe im Falle eines Fehlers auf.

    Mein bisheriges Werk:

    // AufbabeB.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
    //
    
    //#include "stdafx.h"
    #include "stdio.h"
    
    int main()
    {
    	int breite = 0;
    
    	do {
    	printf ("Geben sie die Breite der Figur ein, jedoch mindestens 10 und hoechstens 40\n");
    	scanf ("%i", &breite);
    	}
    	while ( breite <= 9 || breite >= 41);
    
    	for (int y = 0; y <= breite; y++)
    		{
                printf ("*");
    
                for (int i = 0; i <= breite; i++)
                {
                    if (i == breite) {printf ("*");}
                    else {printf (" ");}
                }
    
                printf ("\n");
    
    			}
    
    	return 0;
    }
    

    Die linke und rechte Seite gibt mir die Console aus, aber bei der obersten und untersten Zeile sitzt auch seit ner dreiviertel Stunde auf der Leitung.. Hoffentlich könnt ihr mir weiterhelfen. Danke 🙂



  • int main()
    {
        int y,i,breite;
    
        do {
        printf ("Geben sie die Breite der Figur ein, jedoch mindestens 10 und hoechstens 40\n");
        scanf ("%i", &breite);
        }
        while ( breite <= 9 || breite >= 41);
    
        for (y = 1; y <= breite; y++)
            {
                for (i = 1; i <= breite; i++)
                {
                    if (i == breite||i==1||y==1||y==breite) {printf ("*");}
                    else {printf (" ");}
                }
    
                printf ("\n");
    
                }
    
        return 0;
    }
    


  • Für die obere und untere Seite musst du doch nur vor und nach der Schleife jeweils eine kleine Schleife notieren, die einfach eine Menge Sternchen druckt (Anzahl: breite).



  • ok alles klar, jetzt ist mir ein lichtlein aufgegangen. dankeschön 🙂


Anmelden zum Antworten