aus Integer Variable ASCII code erkennen?



  • Hallo Leute . Zeige euch mal einen Codeabschnitt und möchte wissen wie man dann weiter schreibt.

    ...
    For (int a=1; i<500; i++)
    {
    cout << “Zahlen eingeben”;
    cin >> b;
    gesamt = gesamt +b;
    }
    .....
    Okay wie man sehen kann ,soll also das Pogramm 500 Zahlen eingeben und sie addieren. Okay nehmen wir mal an, dass der Benutzer eine Zahl falsch eingegeben hat und nun das Programm beenden möchte. Erst muss er aber immer noch 450 Zahlen eingeben *g* .Ich will das man die Möglichkeit hat mit der ESC-Taste das Programm zu beenden, wenn man in der Benutzereingabe ist. Also müsste ich es mit dem ASCII Code ausprobieren, dachte ich mir. Also habe ich unter „cin“ geschrieben:

    If (b=27)
    { beenden des programms}

    Okay ich wusste, dass es net geht. Wäre es ein char-Typ wäre es gegangen. Nun weiß jemand wie man das macht? Mit kbhit() habe ich es auch versucht , aber klappte auch net. Hoffe ihr könnt mir helfen. Thx.



  • Wie wärs so?:

    char zahl[256];
    for (int a=1; i<500; i++)
    {
    cout << “Zahlen eingeben”;
    cin >> zahl;
    if (zahl=='27') break;
    sscanf (b,"%d",zahl);
    gesamt = gesamt +b;
    }
    

    Müsst so oder so ähnlich funktionieren.



  • nein ich will aber dass b int ist,
    und dann geht nicht
    if (b=='27')
    klappt net



  • also hier mal der komplette Quelcode:
    #include <iostream.h>
    #include <conio.h>
    main()
    {
    clrscr();

    bool z = true;
    while (z==true)
    {
    int a,b;

    cout<<"Wieviele Zahlen gibt es? ";
    cin>> a;

    cout<<"\n";
    float gesamt=0;
    for ( int x=1; x<a+1; x++)
    {
    cout<<"Geben sie bitte die "<< x<< ".Zahl ein: ";
    cin>> b;
    gesamt = gesamt +b;
    }
    cout<<"\nGesamt: "<<gesamt;
    float durchschnitt = gesamt/a;
    cout<< "\nDer Durchschnitt betraegt:"<< durchschnitt;
    cout<<"\nUm das Programm zu beenden druecken sie die ESC-Taste";
    if (getch()==27)
    {
    z=false;
    }
    clrscr();
    }
    }

    also hier sieht mann warum b int sein sollte.



  • wo liegt dein problem?
    b ist jetzt auch noch vom typ int!
    du schaust mit sscanf, was der User eingegeben hat.
    Wenn es sich um eine Zahl handelt wird die auf b (typ int) gespeichert.


Anmelden zum Antworten