Modernes C++ programmieren

Okt 23, 2024

lst-0016-godb.cpp

//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/d7Yjr9jdb 
#include <iostream>    // für std::cin, std::cout, std::endl
#include <string>      // std::stoi

void berechne(int n) {                             // eine eigene Funktion
    using namespace std;                           // für std::cout und std::endl
    /* Teiler ausgeben */
    cout << "Teiler von " << n << " sind:\n";
    if(n == 0) { cout << "0\n"; return; }          // 0 ist Teiler von 0
    for(int teiler=1; teiler <= n; ++teiler) {     // statt teiler=teiler+1
        if(n % teiler == 0)
            cout << teiler << ", ";
    }
    cout << endl;
}
int main(int argc, const char* argv[]) {           // Argumente für main
    /* Zahl ermitteln */
    int wert = 0;
    if(argc<=1) {
        std::cout << "Geben Sie eine Zahl ein: ";
        std::cin >> wert;                          // in Variable wert lesen
        if(!std::cin) {                            // prüfen, ob lesen klappte
            return 1;                              // Fehler bei Benutzereingabe
        }
    } else {
        wert = std::stoi(argv[1]);
    }
    berechne(wert);                                // Funktionsaufruf
    return 0;
}