Fragen zum Programm



  • #include <iostream>
    using namespace std;
    #define QUADRAT (i*i)

    int main()
    {
    int i;
    cout << "Die Quadratzahlen von 0 - 144 sind:\r " << endl;
    for(i=0;i<13;i++)
    {
    cout << QUADRAT;
    cout << ",";

    }
    return 0;

    }

    das isch mein Programm etwas ganz simples... Es sollte alle Quadratzahlen ausgeben, aber mir hat jemand gesagt es wäre nicht optimal programmiert...
    Was ist falsch und wie würde es dann besser aussehen



  • whaaatz schrieb:

    #define QUADRAT (i*i)

    ...warum macht man denn sowas?

    P.S.: Bitte benutze Code-Tags, damit man den Code besser lesen kann.



  • Makros braucht man sowieso recht selten, meistens können sie durch Funktionen oder Konstanten ersetzt werden. Aber was du machst, ist ein code-abhängiges Makro (es funktioniert nur für i), das macht man eigentlich nie.

    Mach eine Funktion, der man einen Wert übergeben kann:

    int Quadrat(int Wert)
    {
        return Wert*Wert;
    }
    
    int main()
    {
        // ...
        Quadrat(i);
        // ....
    }
    


  • #include <iostream> 
    
    int main() 
    {   std::cout << "Die Quadratzahlen von 0 - 144 sind:\r " << std::endl; 
        for(int i=0; i<13; i++) 
        {   std::cout << i*i <<", "; 
        } 
        return 0;
    }
    


  • Danke viel maaaaals....
    Habe jetzt begriffen, ihr seid immer eine grosse hilfeeee


Anmelden zum Antworten