Wie kann ich ein Rechteck mit Sternchen auf dem Bildschirm in C zeichnen ?



  • Hallo,

    ich sitze gerade an einer Aufgabe, welche versch. Berchnungen durchführen soll. Unter anderem soll die Fläche und der Umfang eines Rechtecks mit den Eingaben der beiden Seiten berechnet werden. Soweit bin ich auch schon.

    Hier mein Code:

    int main(void) {
    
        float radius, Kreisumfang, Kreisflaeche;
        int hoehe, breite;
        int Rechteckumfang, Rechteckflaeche;
        int auswahl=0;
        int i;
        int j;
    
        printf("Was möchten Sie berechnen:\n 1 für Kreis \n 2 für Rechteck\n");
    
        scanf("%i", &auswahl);
    
        switch(auswahl)
        {
        case 1:
        {
            printf("gib Radius in meter ein");
            scanf("%f",&radius);
            Kreisumfang=(2*(M_PI)*radius);
            Kreisflaeche=((M_PI)*(radius*radius));
    
            printf("Kreisumfang in m: %0.2f\n", Kreisumfang);
            printf("Kreisflaeche in m²: %0.2f\n", Kreisflaeche);
    
        }; break;
    
        case 2:
        {
            printf("Geben Sie die Höhe ein:\n");
             scanf("%i", &hoehe);
             printf("Geben Sie die Breite ein:\n");
             scanf("%i", &breite);
             Rechteckumfang=(2*(hoehe+breite));
             Rechteckflaeche=(hoehe*breite);
             printf("Recheckumfang in m: %i\n", Rechteckumfang);
             printf("Rechteckfläche in m²: %i\n", Rechteckflaeche);
    
             for(i = 0; i < hoehe; i++){
                 for(j = 0; j < breite; j++){
    
                         printf("*");
                     }
                 printf("\n");
             }
    
        }; break;
    
        case 3:
        {
            printf("Programm Ende");
        }; break;
    
        default: printf("falsche Eingabe");
        }
        return 0;
    }
    

    Nun soll ich folgendes programmieren: Das Rechteck und das Quadrat wird auf dem Bildschirm gezeichnet. Verwenden Sie zum Zeichnen der einzelnen Punkte das Sternchen.

    Wie kann ich das realisieren? Ich weiß auch nicht wonach ich im inet suchen soll... Danke für jede Hilfe.

    Ich verwende Eclipse unter Ubuntu 16.04



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (alle ISO-Standards) in das Forum C# und .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Der Code ist aber C, nur in der Überschrift steht verwirrenderweise C# (außerdem deuten Eclipse und Ubuntu auch eher auf C hin ;-).


  • Mod

    Tja, dann hat sich der TE wohl selbst ins Bein geschossen, indem er den Code hinter einem Link versteckt hat. Sonst hätte ich den Code angeguckt und gemerkt, dass es nicht um C# geht.

    Dies darf übrigens auch als Wink mit dem Zaunpfahl verstanden werden, dass man seinen Code tunlichst hier im Forum posten sollte, wenn man Hilfe haben möchte.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C# und .NET in das Forum C (alle ISO-Standards) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    der Code ist in C. Ich habe nicht gewusst das C# etwas anderes ist, sondern dachte dass es gemacht wird um C von C++ zu unterscheiden. SOrry mein Fehler.

    Ich denke ich habe es inzwischen selber hinbekommen. Ich bin aber für Verbesserungen offen.

    Hier nochmal der Code:

    int main(void) {
    
        float radius, Kreisumfang, Kreisflaeche;
        int hoehe, breite;
        int Rechteckumfang, Rechteckflaeche;
        int auswahl=0;
        int i;
        int j;
    
        printf("Was möchten Sie berechnen:\n 1 für Kreis \n 2 für Rechteck\n");
    
        scanf("%i", &auswahl);
    
        switch(auswahl)
        {
        case 1:
        {
            printf("gib Radius in meter ein");
            scanf("%f",&radius);
            Kreisumfang=(2*(M_PI)*radius);
            Kreisflaeche=((M_PI)*(radius*radius));
    
            printf("Kreisumfang in m: %0.2f\n", Kreisumfang);
            printf("Kreisflaeche in m²: %0.2f\n", Kreisflaeche);
    
        }; break;
    
        case 2:
        {
            printf("Geben Sie die Höhe ein:\n");
             scanf("%i", &hoehe);
             printf("Geben Sie die Breite ein:\n");
             scanf("%i", &breite);
             Rechteckumfang=(2*(hoehe+breite));
             Rechteckflaeche=(hoehe*breite);
             printf("Recheckumfang in m: %i\n", Rechteckumfang);
             printf("Rechteckfläche in m²: %i\n", Rechteckflaeche);
    
             for(i = 0; i < hoehe; i++){
                 for(j = 0; j < breite; j++){
    
                         printf("*");
                     }
                 printf("\n");
             }
    
        }; break;
    
        case 3:
        {
            printf("Programm Ende");
        }; break;
    
        default: printf("falsche Eingabe");
        }
        return 0;
    }
    


  • - gewöhne dir eine einheitliche Namenskonvention (für Variablen,Funktionen,...) an
    - und bei default ein break - auch der Einheitlichkeit wegen
    - M_PI ist kein Standard
    - die Null-Statements in Z. 29,52,57 sind hässlich und sinnfrei
    - width+precision in den printf-conversion-specifiern sind falsch, width muss >= precision sein, für dich reicht "%.2f" völlig aus



  • Wutz schrieb:

    - die Null-Statements in Z. 29,52,57 sind hässlich und sinnfrei

    Er fragte nicht nach Wutzens persönlicher Auffassung von Ästhetik. 🙄


  • Mod

    Andromeda schrieb:

    Wutz schrieb:

    - die Null-Statements in Z. 29,52,57 sind hässlich und sinnfrei

    Er fragte nicht nach Wutzens persönlicher Auffassung von Ästhetik. 🙄

    Sinnfreie Statements deuten auf mangelndes Verständnis hin und sollten daher korrigiert werden. Manche Leute hier wollen tatsächlich besser in C werden.



  • SeppJ schrieb:

    Andromeda schrieb:

    Wutz schrieb:

    - die Null-Statements in Z. 29,52,57 sind hässlich und sinnfrei

    Er fragte nicht nach Wutzens persönlicher Auffassung von Ästhetik. 🙄

    Sinnfreie Statements deuten auf mangelndes Verständnis hin und sollten daher korrigiert werden. Manche Leute hier wollen tatsächlich besser in C werden.

    Du hast natürlich Recht, was die Sinnlosigkeit leerer Anweisungen angeht. Wutz ist jedoch ein forenweit bekannter Pöbler, weshalb seine Aussagen mit besonderer Vorsicht zu genießen sind.



  • SeppJ schrieb:

    Sinnfreie Statements deuten auf mangelndes Verständnis hin und sollten daher korrigiert werden.

    Dann mache es doch freundlicher- und hilfreicher Weise.


  • Mod

    EOP schrieb:

    SeppJ schrieb:

    Sinnfreie Statements deuten auf mangelndes Verständnis hin und sollten daher korrigiert werden.

    Dann mache es doch freundlicher- und hilfreicher Weise.

    Das hat Wutz doch längst getan, ich habe den Zweiflern erklärt, warum Wutz das getan hat.



  • Hehe, ich find das rumgespasste hier immer total amüsant! 👍



  • rewrew schrieb:

    Hehe, ich find das rumgespasste hier immer total amüsant! 👍

    Was bist du denn für ein Dummkopf?
    Allein schon die Wortwahl macht mich frösteln.


Anmelden zum Antworten