Hilfe mit Datentyp char



  • Hallo,

    ich hoffe ich bin hier richtig.

    ich muss ein Programm schreiben, das 4 Zahlen (1...9) mit Variablen vom Typ char einliest und dann addiert und das Ergebnis ausgibt.

    wie kann ich das denn so anstellen, dass ich als Beispiel c1= 5 mit c2= 7 addiere und daraus 12 kommt und nicht die char-werte von 5 und 7 (nach int umwandlung).

    bin dankbar für jede Antwort.



  • Und warum musst du char verwenden? Nimm doch int .

    Ansonsten:

    char a = '4';
    int b = a - '0';
    


  • danke für deine Antwort.

    mit dem int wäre es kein problem, nur die Aufgabe gibt vor, dass die vier Zahlziffern in vier Variablen vom Typ char eingelesen werden müssen.

    als Beispiel:
    cin >> c1; // 1
    cin >> c2; // 3
    cin >> c3; // 5
    cin >> c4; // 2

    dann muss das so addiert werden und das Ergebnis soll dann so aussehen.

    13 + 52 = 65

    ich bekomme aber als antwort nur die Werte des char.


  • Mod

    alzeawbp schrieb:

    ich bekomme aber als antwort nur die Werte des char.

    Und? phanzy hat Dir doch die Antwort gegeben.

    char c = '6'; int z=c-'0';
    

    Ansonsten ist die Rechenregel ja nur ein bischen *10 und Addieren oder..



  • du kannst vom char auch einfach 48 abziehen und hast dann den wirklichen Zahlenwert (siehe ASCII). Rechnest alles aus und für die Ausgabe addierst du wieder 48.


  • Mod

    Softwaremaker schrieb:

    du kannst vom char auch einfach 48 abziehen und hast dann den wirklichen Zahlenwert (siehe ASCII). Rechnest alles aus und für die Ausgabe addierst du wieder 48.

    Und was bitte ist der Unterschied zum hier bereits zweimal erwähnten -'0'?



  • Vielen Dank für die Antworten, es hat alles super geklappt.
    liebe Grüße.


Anmelden zum Antworten