Programm zeigt beim Ausführen nicht die Funktion an!



  • Hallo,

    ich bin gerade dabei, C++ durch ein Buch zu lernen. In diesem Buch stehen am Ende eines Kapitels immer Übungen, die ich selbstständig durcharbeite. Eine Aufgabe lautete, eine Funktion zu schreiben, welche je nach Eingabe des Benutzers einen unterschiedlich langen Schrägstrich aus Sternen ausgibt. Ich habe dafür folgendes geschrieben (da das Programm nicht alzu groß ist, bilde ich es mal vollständig ab):

    #include <iostream>
    
    using namespace std;
    
    void strich(int anzahl) {
      for(int zeilen = anzahl; zeilen <= 0; zeilen--) {
        for(int space = (--anzahl); space <= 0; space--) {
          std::cout << " ";
    		}
        std::cout << "*" << std::endl;
      }
    }
    
    int main() {
      cout << "Bitte Laenge des Strichs angeben: ";
      int laenge;
      cin >> laenge;
      strich(laenge);
    };
    

    Wenn ich das Programm nun kompiliere und anschließend ausführe, kommt keine Fehlermeldung und alles läuft glatt; nur die Funktion macht gar nichts. Ich sehe nur "Bitte eingeben:" und die eingegebene Zahl und direkt danach "Taste drücken, um zu beenden...". Was habe ich falsch gemacht? Da das Buch erstaunlicher Weise keinen Lösungsteil besitzt, hoffe ich auf eine hilfreiche Antwort 🙂

    LG, jesobuild



  • Guck dir mal die test expression beispielsweise deines ersten for loops an, und überleg dann mal, wie oft die Schleife durchlaufen wird. 😉



  • #include <iostream>
    
    void strich(int Anzahl)
    {
          system("cls");
    
          for (int i = 0; i <= Anzahl; i++)
          {
             for (int x = 0; x < i; x++)
                std::cout << " ";
    
             std::cout << "*" << std::endl;
          }
    
          std::cout << std::endl << std::endl;
    
    }
    int main()
    {
    
       int anzahl = 0;
    
       std::cout << "Bitte Laenge eingeben" << std::endl;
       std::cin >> anzahl;
    
       strich(anzahl);
    
    	return 0;
    }
    


  • CodeBase, du hilfst niemandem, wenn du einfach so fertige Codeschnipsel hier postest. Das fördert nur die Guttenberg-Mentalität, hilft aber nciht unbedingt beim Verständnis.



  • Guttenberg-Mentalität

    der war gut, mein vorposter hat ihn eh schon auf den Fehler aufmerksam gemacht.



  • Ja, aber da musste er ja schon noch etwas selbst denken und tippen. Ist schon was anderes als wenn er einfach nur copypaste machen braucht. 😉


Anmelden zum Antworten