super danke erledigt



  • Hallo,
    sollte die vierstellige zahl als String ausgeben, aber etwas stimmt noch nicht,
    die Ausgabe für eine zahl ist null null null Zahl
    für eine vierstellige Zahl liefert das Programm nur die erste Ziffer nicht
    alle vier
    BITTE UM HILFE
    DANKE JUNGS 😕

    #include <iostream>
    using namespace std;
    
    int main()
    {
    int a,s;
    int b=1000;
    
    cout<<"Bitte geben Sie eine vierstellige Zahl ein"<<endl;
    cin>>a;    
    
    for(int i=0;i<=3;i++){
            s=a/b;
            b/=10;        
    
    if(s==1){
    cout<<"eins-";}
    else if(s==2){
    cout<<"zwei-";}
    else if(s==3){
    cout<<"drei-";}
    else if(s==4){
    cout<<"vier-";}
    else if(s==5){
    cout<<"fünf-";}
    else if(s==6){
    cout<<"sechs-";}
    else if(s==7){
    cout<<"sieben-";}
    else if(s==8){
    cout<<"acht-";}
    else if(s==9){
    cout<<"neun-";}
    else if(s==0){
    cout<<"null-";}
    
    }
    
    cin>>a;
    return 0;
    }
    


  • return cout<<"eins-";
    

    Du kannst kein "cout" zurückgeben...

    Deine Funktion:

    int main
    

    sagt ja schon, dass du nur ganzzahlige Werte zurückgeben kannst.
    "cout" ist ein Stream und somit garantiert kein integer.



  • ersetze die Zeilen 12 und 13 durch

    for(int i=0;i<4;i++){
            s=(a/b)%10;
    

    weniger redundant wäre auch

    for(;b>0;){
            s=(a/b)%10;
    

Anmelden zum Antworten