(C++) Umrechner rechnet falsch. Warum ?

  • Moin
    Ich habe seit neustem mit C++ angefangen.
    Nun habe ich einen kleinen Umrechner erstellt der Grad Celsius in Fahrenheit umrechnet.
    Wenn ich es nach der Formel im Programm mache erhalte ich das richtige Ergebnis.
    Nur das Programm selbst rechnet falsch. Wo ist mein Fehler ?
    Formel: 10 * 1,8 + 32 = 50


    #include <cstdio>
    #include <cstdlib>
    #include <iostream>
    using namespace std;


    int main(int nNumberofArgs,char* pszArgs[])
    {
    int celsius; //Variable Celsius für Usereingabe erstellt !
    cout << "Geben sie die Temperatur in Celsius ein: ";
    cin >> celsius;


    int prozent; //Wenn ich nur mit 1,8 rechne bekomme ich im Compilerfehler ...
    prozent = 1,8;


    int fahrenheit; //Die Ausgabe Variable
    fahrenheit = celsius * prozent + 32;
    //Rechnung ergibt aber im Programm 42. Statt 50. Das sind 8 Grad Fahrenheit unterschied also nicht ein bisschen Pipifax ...
    cout celsius << " Grad Celsius entsprechen " << fahrenheit << " Grad Fahrenheit !" << endl;


    system("PAUSE");
    return 0;
    }




    Hoffe jemand kann mir helfen. Ich sehe so keine Probleme.
    Aber ist halt ärgerlich für n Anfänger.
    Grüsse


    //e Habs jetzt versucht reinzurücken aber es fuckt mich nur ab.

  • @d0.: Ich habe jetzt mal Fahrenheit und natürlich prozent zum Float gemacht.
    Trotzdem bekomme ich die allwissende Antwort: 42.


    //E Habe herraus gefunden das er lediglich die +32 rechnet. von der 1,8 fehlt JEDE Spur.


    //e hat sich. Der blöde Mist ... War wieder klar das ich es mit 1,8 und 1.8 verhaue. Nun klappt es. Danke.


    Grüsse

  • So,jetzt gehts

    Ich habe die ganzen ints zu double geändert, 1,8 zu 1.8 geändert und Klammern um die Multiplikation gemacht (welche zwar nicht unbedingt nötig sind, aber schaden ja auch nicht).
    Außerdem habe ich dein SYSTEM("PAUSE") ausgetauscht, weil du dir mir dieser einen Zeile schon die Platformunabhägigkeit zerstörst (ich habe Linux)