c++ hilfe !



  • Also ich habe hier ma etwas geschrieben um mir das mit den Funktionen etwas einzufleischen, nun bin ich so halbwegs "fertig", wollte das zeug kompilieren und dann meldet mir mein compiler ständig das hier:

    25/error: expected init-declarator before "int"
    25/error: expected ,' or;' before "int"
    29/expected unqualified-id before '{' token
    29/error: expected ,' or;' before '{' token

    Hier mal der code:

    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    int Ohm (int U, int I)
    {
        cout << "[R](Widerstand-Ohm) = [U](Spannung-Volt) dividiert durch [I](Strom-Ampere)\n";
        return (U/I);
    }
    
    int Volt (int R, int I)
    {
        cout << "[U](Spannung-Volt) = [R](Widerstand-Ohm) multipliziert mit [I](Strom-Ampere)\n";
        return (R*I);
    }
    
    int Ampere (int U, int R)
    {
        cout << "[I](Spannung-Ampere) = [U](Spannung-Volt) dividiert durch [R](Widerstand-Ohm)\n";
        return (U/R);
    }
    
    24. int main (void)
    25. int ges;
    26. float U;
    27. float R;
    28. float I;
    {
        cout << "              ^ \n";
        cout << "             / \\ \n";
        cout << "            /   \\ \n";
        cout << "           /  U  \\ \n";
        cout << "          /       \\ \n";
        cout << "         / ------- \\ \n";
        cout << "        /           \\ \n";
        cout << "       /   R     I   \\ \n";
        cout << "      /               \\ \n";
        cout << "      #################\n\n";
    
        cout << " Willkommen Im Ohmsche-Regel-Berechner\n";
        cout << " Bitte geben Sie die Zahl ein, die Sie benötigen : \n";
        cout << " 1. [Widerstand-OHM] \n";
        cout << " 2. [Spannung-VOLT] \n";
        cout << " 3. [Strom-AMPERE] \n"; cin >> Ges;
    
        if (Ges='1')
        {
                    cout << "U = \n"; cin >> U;
                    cout << "I = \n"; cin >> I;
                    R=Ohm(U,I);
                    cout << "R = " << R;
                    }
    
        if (Ges='2')
        {
                    cout << "R = \n"; cin >> R;
                    cout << "I = \n"; cin >> I;
                    U=Volt(R,I);
                    cout << "U = " << U;
                    }
    
        if (Ges='3')
        {
                    cout << "U = \n"; cin >> U;
                    cout << "R = \n"; cin >> R;
                    I=Ampere(U,R);
                    cout << "I = " << I;
                    }
    
        Sleep (5000);
        return 0;
    }
    

    Hoffe ihr könnt mir helfen 🙂



  • Die { in Zeile 29 kommt zu spät, sie muss vor der Zeile 25 "int ges;" stehen.



  • statt

    24. int main (void)
    25. int ges;
    26. float U;
    27. float R;
    28. float I;
    {
    

    eher

    int main (void){ 
    int ges;
    float U;
    float R;
    float I;
    

    dann aber auch die funktionen auf float umstellen 😉



  • Funktion hab ich auf float umgestellt...
    Das { hab ich auch vor zeile 25 geschrieben (warum überhaupt, ist doch im prinzip egal ob ich die variablen außerhalb oder innerhalb der funktion erstelle oder?).

    verändert hat sich die situation aber nicht.

    und die nummern hab ich da nur hingeschrieben dass ihr euch besser orientieren könnt, aber da die zeilen sowieso nummeriert sind, war das überflüssig ^^, sorry



  • if (Ges=='1')
    statt
    if (Ges='1')

    und natürlich auch bei den anderen 2😮



  • wenn du den inhalt drehen würdest also

    if ('1'=Ges)
    statt
    if (Ges='1')

    hättest ne schöne fehler meldung...



  • Newbe schrieb:

    Funktion hab ich auf float umgestellt...
    Das { hab ich auch vor zeile 25 geschrieben (warum überhaupt, ist doch im prinzip egal ob ich die variablen außerhalb oder innerhalb der funktion erstelle oder?).

    Ja, aber du definierst sie nicht außerhalb, sondern murkst sie mitten in die Definition der main-Funktion.

    verändert hat sich die situation aber nicht.

    Dann übersetzt du nicht die geänderte Datei.



  • Im übrigen bringt es wenig einen int durch noch einen int zu teilen ...

    Deine Methoden würden

    Ohm(10,3) = 3
    Ampere(10,7) = 1

    ergeben.

    Abgesehen davon liest du float ein, packst sie in ein float, übergibst die in Funktionen die ein int wollen und die damit runtercasten und gibst dann den int einer division zurück. Ich hoffe du berechnest hiermit keine Schaltungen, dann explodieren die vielleicht 😉



  • ich komm mir grade blöd vor ^^
    danke für die kritik & verbesserungsvorschläge, ich werd daran arbeiten ^^...
    Ps. ich lerne c++ seit vorgestern, also wundert euch nicht warum da noch einiges schief läuft 😃


Anmelden zum Antworten