1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

c++ consolenanwendung Problem mit if schleife und Variable

Discussion in 'Programmieren' started by Michasw, Nov 13, 2006.

Thread Status:
Not open for further replies.
  1. Michasw

    Michasw Byte

    Ich bin noch Schüler und habe erst seit 3 Wochen angefangen mim Coden...
    Morgen muss ich für den Technik unterricht ein kleines Programm abgeben.
    Hier der Code[syntax="c"]


    #include <iostream.h>
    #include <iomanip.h>


    int main ()
    {
    float Stundenanzahl, Stundenlohn, Ueberstundengehalt;

    cout.setf(ios::fixed);
    cout.precision(2);

    cout <<"Gearbeite Stunden: ";
    cin >>Stundenanzahl;

    cout <<"Stundenlohn: ";
    cin >>Stundenlohn;

    float Angestellt, Monatslohn;
    cout <<"\nFuer Auszubildender die 0, Fuer Angestellter die 1 : "<<endl;
    cin >>Angestellt;

    if (Angestellt == 1)
    { float Fahrkostenpauschale;
    Fahrkostenpauschale = 200;}
    else
    { float Fahrkostenpauschale = 150; }

    if (Stundenanzahl > 160)
    {
    float Ueberstunden = Stundenanzahl - 160;
    float Ueberstundengehalt = Ueberstunden * Stundenlohn / 2;
    float Monatslohn = Stundenlohn * 160 + Ueberstundengehalt;
    }
    else
    {
    float Monatslohn = Stundenlohn * Stundenanzahl;
    float Ueberstundengehalt = 0;
    }
    float Endgeld = Monatslohn + Fahrkostenpauschale;
    cout <<"Monatslohn"<<setw(24)<<"Ueberstundengehalt"<<setw(24)<<"Fahrkostenpauschale"<<endl;
    cout <<Monatslohn<<setw(24)<<Ueberstundengehalt<<setw(24)<<Fahrkostenpauschale<<endl;
    cout <<"**********************************************************"<<endl;
    cout <<"Der Monatsverdiest beträgt "<<Endgeld<<" Euro";
    cout <<"\n\n";
    return 0;}


    [/syntax]


    Wenn ich compilen will kommt der error:
    H:\non musik\TW\msvcpp\Arbeitslohn\main.cpp(47) : error C2065: 'Fahrkostenpauschale' : nichtdeklarierter Bezeichner

    Also ein Problem mit der Variable, ich hab die halt nur in der If schleife definiert, aber anders gehts nicht.

    Das Program soll den Monatsgehalt erechnen, aus der anzhal der Arbeitsstunden und dem Stundenlohn. Außerden sollen die Überstunden (ab 160 Stunden sinds Überstunden) mal der hälfte des Stundenlohns zum Monatsgehalt dazugerechnet werden. Außerdem sollen wir noch die Fahrkostenpauschale einbauen, für Azubis 160€ für Angestellte 200€.

    wäre nett wenn mir jemand schnell sagen kann was genau ich falsch gemacht habe

    ach ja, benutze MS Visual C++ 6.0 Pro


    mfg Micha
     
  2. L-ectron-X

    L-ectron-X Guest

    Code:
    #include <iostream.h>
    #include <iomanip.h>
    
    
    int main ()
    {
        float Stundenanzahl, Stundenlohn, Ueberstundengehalt, Fahrkostenpauschale, Monatslohn;
        int Angestellt;
    
        cout.setf(ios::fixed);
        cout.precision(2);
    
        cout <<"Gearbeite Stunden: ";
        cin >>Stundenanzahl;
    
        cout <<"Stundenlohn: ";
        cin >>Stundenlohn;
    
        cout <<"\nFuer Auszubildender die 0, Fuer Angestellter die 1 : "<<endl;
        cin >>Angestellt;
    
        if (Angestellt == 1)
        { 
            Fahrkostenpauschale = 200;
        }
        else
        {
            Fahrkostenpauschale = 150;
        }
    
        if (Stundenanzahl > 160)
        {
            float Ueberstunden = Stundenanzahl - 160;
            Ueberstundengehalt = Ueberstunden * Stundenlohn / 2;
            Monatslohn = Stundenlohn * 160 + Ueberstundengehalt;
        }
        else
        {
            Monatslohn = Stundenlohn * Stundenanzahl;
            Ueberstundengehalt = 0;
        }
        float Endgeld = Monatslohn + Fahrkostenpauschale;
        cout <<"Monatslohn"<<setw(24)<<"Ueberstundengehalt"<<setw(24)<<"Fahrkostenpauschale"<<endl;
        cout <<Monatslohn<<setw(24)<<Ueberstundengehalt<<setw(24)<<Fahrkostenpauschale<<endl;
        cout <<"**********************************************************"<<endl;
        cout <<"Der Monatsverdienst betraegt "<<Endgeld<<" Euro.";
        cout <<"\n\n";
        
        return 0;
    }
     
  3. Lixfe

    Lixfe Byte

    Hi,
    hab das mal fix überarbeitet:
    Code:
    int main(int argc, char* argv[])
    {
           float Stundenanzahl, Stundenlohn, Ueberstundengehalt;
           float Fahrkostenpauschale,Angestellt, Monatslohn;
           float Ueberstunden,Endgeld;
    
    cout.setf(ios::fixed);
    cout.precision(2);
    
    cout <<"Gearbeite Stunden: ";
    cin >>Stundenanzahl;
    
    cout <<"Stundenlohn: ";
    cin >>Stundenlohn;
    
    
    cout <<"\nFuer Auszubildender die 0, Fuer Angestellter die 1 : "<<endl;
    cin >>Angestellt;
    
    if (Angestellt == 1)
    {
    Fahrkostenpauschale = 200;}
    else
    {  Fahrkostenpauschale = 150; }
    
    if (Stundenanzahl > 160)
    {
     Ueberstunden = Stundenanzahl - 160;
     Ueberstundengehalt = Ueberstunden * Stundenlohn / 2;
     Monatslohn = Stundenlohn * 160 + Ueberstundengehalt;
    }
    else
    {
     Monatslohn = Stundenlohn * Stundenanzahl;
     Ueberstundengehalt = 0;
    }
     Endgeld = Monatslohn + Fahrkostenpauschale;
    cout <<"Monatslohn"<<setw(24)<<"Ueberstundengehalt"<<setw(24)<<"Fahrkostenpauschale"<<endl;
    cout <<Monatslohn<<setw(24)<<Ueberstundengehalt<<setw(24)<<Fahrkostenpauschale<<endl;
    cout <<"**********************************************************"<<endl;
    cout <<"Der Monatsverdiest beträgt "<<Endgeld<<" Euro";
    cout <<"\n\n";
            return 0;
    }
    
    Gewöhn dir am besten an, deine Variablen am Programmanfang zu deklarieren um die Übersicht zu verbessern und doppelte Deklarationen zu vermeiden.
    Achtung: Das ist noch nicht perfekt, habs nur soweit geändert damit es geht.

    MfG Filli
     
Thread Status:
Not open for further replies.

Share This Page