einfaches programm, trotzdem systemfehler... pls help.



  • hi, ich möchte ein einfaches Programm schreiben, wo man nacheinander 10 Zaheln eingibt, diese gespeichert werden und dann alle aufeinmal hintereinander ausgegebn werden. Doch irgendwie bricht mein Programm dann ab.

    Help pls. 😞

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int n=0,input=0.;
        int werte[20];
    
        for(n=0;n<10;n++){
           printf("Geben Sie bitte eine Zahl ein!");
           scanf("%i",input);
           werte[n]=input;
        }
    
        printf("Die Zahlen lauten:" );
        for(n=0;n<10;n++){
           printf("%i",werte[n]);
        }
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    


  • Versuch mal folgendes

    scanf("%i",&input);
    

    Bei scanf muss immer die Adresse angegeben werden.
    Dies geschieht in C sowie C++ mit dem Zeichen &
    Gruß Andyman



  • hehe danke.... hab vergessen wie leicht man sowas übersehen kann, thx!



  • Gleich richtig machen geht auch:

    scanf("%i",&werte[n]);while(getchar()!='\n');
    


  • Wutz schrieb:

    Gleich richtig machen geht auch:

    scanf("%i",&werte[n]);while(getchar()!='\n');
    

    wie wahr!
    Kann übrigens jedem "Vergesslichen" empfehlen, sowas für alle Fälle gleich mal in eine entsprechende Funktion zu packen...
    à la

    int myscanf (const char * form, ...);
    

    und dort einfach das

    while(getchar()!='\n');
    

    mit reinklatschen.
    Ich zumindest hab schon häufiger übersehen, dass da noch ein '\n' gammelt 🙂


Anmelden zum Antworten